pdf.worker.min.js 2.1 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624
  1. amis.define('node_modules/pdfjs-dist/build/pdf.worker.min.mjs', function(require, exports, module, define) {
  2. "use strict";
  3. var _b;
  4. var _c, _Util_A, _Util_e, _DeviceCmykCS_instances, _DeviceCmykCS_t, _CalGrayCS_instances, _CalGrayCS_t, _LabCS_instances, _LabCS_f, _LabCS_p, _LabCS_t, _FlateStream_instances, _FlateStream_m, _Parser_instances, _Parser_w, _FileSpec_S, _StructTreeRoot_instances, _d, _StructTreeRoot_U, _StructTreeRoot_L, _StructTreeRoot_J, _StructTreeRoot_H, _Catalog_instances, _Catalog_Y, _Catalog_v, _XRef_K, _Page_instances, _Page_T, _PDFDocument_instances, _PDFDocument_q, _MessageHandler_instances, _MessageHandler_P, _MessageHandler_O, _MessageHandler_W;
  5. Object.defineProperty(exports, "__esModule", { value: true });
  6. exports.WorkerMessageHandler = void 0;
  7. var tslib_1 = require("435f3f4");
  8. /**
  9. * @licstart The following is the entire license notice for the
  10. * JavaScript code in this page
  11. *
  12. * Copyright 2023 Mozilla Foundation
  13. *
  14. * Licensed under the Apache License, Version 2.0 (the "License");
  15. * you may not use this file except in compliance with the License.
  16. * You may obtain a copy of the License at
  17. *
  18. * http://www.apache.org/licenses/LICENSE-2.0
  19. *
  20. * Unless required by applicable law or agreed to in writing, software
  21. * distributed under the License is distributed on an "AS IS" BASIS,
  22. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  23. * See the License for the specific language governing permissions and
  24. * limitations under the License.
  25. *
  26. * @licend The above is the entire license notice for the
  27. * JavaScript code in this page
  28. */ var e = { d: function (t, i) { for (var a in i)
  29. e.o(i, a) && !e.o(t, a) && Object.defineProperty(t, a, { enumerable: !0, get: i[a] }); }, o: function (e, t) { return Object.prototype.hasOwnProperty.call(e, t); } }, __webpack_exports__ = globalThis.pdfjsWorker = {};
  30. e.d(__webpack_exports__, { WorkerMessageHandler: function () { return WorkerMessageHandler; } });
  31. var t = !("object" != "undefined" || process + "" != "[object process]" || process.versions.nw || process.versions.electron && process.type && "browser" !== process.type), i = [1, 0, 0, 1, 0, 0], a = [.001, 0, 0, .001, 0, 0], s = 1.35, r = .35, n = .25925925925925924, o = 1, g = 2, c = 4, h = 8, l = 16, C = 64, Q = 256, E = "pdfjs_internal_editor_", u = 3, d = 9, f = 13, p = 15, m = { PRINT: 4, MODIFY_CONTENTS: 8, COPY: 16, MODIFY_ANNOTATIONS: 32, FILL_INTERACTIVE_FORMS: 256, COPY_FOR_ACCESSIBILITY: 512, ASSEMBLE: 1024, PRINT_HIGH_QUALITY: 2048 }, y = 0, w = 4, b = 1, D = 2, F = 3, S = 1, k = 2, R = 3, N = 4, G = 5, x = 6, M = 7, U = 8, L = 9, J = 10, H = 11, Y = 12, v = 13, K = 14, T = 15, q = 16, O = 17, W = 20, X = "Group", j = "R", Z = 1, V = 2, z = 4, _ = 16, $ = 32, AA = 128, eA = 512, tA = 1, iA = 2, aA = 4096, sA = 8192, rA = 32768, nA = 65536, oA = 131072, gA = 1048576, IA = 2097152, cA = 8388608, hA = 16777216, lA = 1, CA = 2, BA = 3, QA = 4, EA = 5, uA = { E: "Mouse Enter", X: "Mouse Exit", D: "Mouse Down", U: "Mouse Up", Fo: "Focus", Bl: "Blur", PO: "PageOpen", PC: "PageClose", PV: "PageVisible", PI: "PageInvisible", K: "Keystroke", F: "Format", V: "Validate", C: "Calculate" }, dA = { WC: "WillClose", WS: "WillSave", DS: "DidSave", WP: "WillPrint", DP: "DidPrint" }, fA = { O: "PageOpen", C: "PageClose" }, pA = { ERRORS: 0, WARNINGS: 1, INFOS: 5 }, mA = { NONE: 0, BINARY: 1 }, yA = 1, wA = 2, bA = 3, DA = 4, FA = 5, SA = 6, kA = 7, RA = 8, NA = 9, GA = 10, xA = 11, MA = 12, UA = 13, LA = 14, JA = 15, HA = 16, YA = 17, vA = 18, KA = 19, TA = 20, qA = 21, OA = 22, PA = 23, WA = 24, XA = 25, jA = 26, ZA = 27, VA = 28, zA = 29, _A = 30, $A = 31, Ae = 32, ee = 33, te = 34, ie = 35, ae = 36, se = 37, re = 38, ne = 39, oe = 40, ge = 41, Ie = 42, ce = 43, he = 44, le = 45, Ce = 46, Be = 47, Qe = 48, Ee = 49, ue = 50, de = 51, fe = 52, pe = 53, me = 54, ye = 55, we = 56, be = 57, De = 58, Fe = 59, Se = 60, ke = 61, Re = 62, Ne = 63, Ge = 64, xe = 65, Me = 66, Ue = 67, Le = 68, Je = 69, He = 70, Ye = 71, ve = 72, Ke = 73, Te = 74, qe = 75, Oe = 76, Pe = 77, We = 80, Xe = 81, je = 83, Ze = 84, Ve = 85, ze = 86, _e = 87, $e = 88, At = 89, et = 90, tt = 91, it = 1, at = 2;
  32. var st = pA.WARNINGS;
  33. function getVerbosityLevel() { return st; }
  34. function info(e) { st >= pA.INFOS && console.log("Info: ".concat(e)); }
  35. function warn(e) { st >= pA.WARNINGS && console.log("Warning: ".concat(e)); }
  36. function unreachable(e) { throw new Error(e); }
  37. function assert(e, t) { e || unreachable(t); }
  38. function createValidAbsoluteUrl(e, t, i) {
  39. if (t === void 0) { t = null; }
  40. if (i === void 0) { i = null; }
  41. if (!e)
  42. return null;
  43. try {
  44. if (i && "string" == typeof e) {
  45. if (i.addDefaultProtocol && e.startsWith("www.")) {
  46. var t_1 = e.match(/\./g);
  47. (t_1 === null || t_1 === void 0 ? void 0 : t_1.length) >= 2 && (e = "http://".concat(e));
  48. }
  49. if (i.tryConvertEncoding)
  50. try {
  51. e = stringToUTF8String(e);
  52. }
  53. catch (_b) { }
  54. }
  55. var a_1 = t ? new URL(e, t) : new URL(e);
  56. if (function _isValidProtocol(e) { switch (e === null || e === void 0 ? void 0 : e.protocol) {
  57. case "http:":
  58. case "https:":
  59. case "ftp:":
  60. case "mailto:":
  61. case "tel:": return !0;
  62. default: return !1;
  63. } }(a_1))
  64. return a_1;
  65. }
  66. catch (_f) { }
  67. return null;
  68. }
  69. function shadow(e, t, i, a) {
  70. if (a === void 0) { a = !1; }
  71. Object.defineProperty(e, t, { value: i, enumerable: !a, configurable: !0, writable: !1 });
  72. return i;
  73. }
  74. var rt = function BaseExceptionClosure() { function BaseException(e, t) { this.constructor === BaseException && unreachable("Cannot initialize BaseException."); this.message = e; this.name = t; } BaseException.prototype = new Error; BaseException.constructor = BaseException; return BaseException; }();
  75. var PasswordException = /** @class */ (function (_super) {
  76. tslib_1.__extends(PasswordException, _super);
  77. function PasswordException(e, t) {
  78. var _this = _super.call(this, e, "PasswordException") || this;
  79. _this.code = t;
  80. return _this;
  81. }
  82. return PasswordException;
  83. }(rt));
  84. var UnknownErrorException = /** @class */ (function (_super) {
  85. tslib_1.__extends(UnknownErrorException, _super);
  86. function UnknownErrorException(e, t) {
  87. var _this = _super.call(this, e, "UnknownErrorException") || this;
  88. _this.details = t;
  89. return _this;
  90. }
  91. return UnknownErrorException;
  92. }(rt));
  93. var InvalidPDFException = /** @class */ (function (_super) {
  94. tslib_1.__extends(InvalidPDFException, _super);
  95. function InvalidPDFException(e) {
  96. return _super.call(this, e, "InvalidPDFException") || this;
  97. }
  98. return InvalidPDFException;
  99. }(rt));
  100. var MissingPDFException = /** @class */ (function (_super) {
  101. tslib_1.__extends(MissingPDFException, _super);
  102. function MissingPDFException(e) {
  103. return _super.call(this, e, "MissingPDFException") || this;
  104. }
  105. return MissingPDFException;
  106. }(rt));
  107. var UnexpectedResponseException = /** @class */ (function (_super) {
  108. tslib_1.__extends(UnexpectedResponseException, _super);
  109. function UnexpectedResponseException(e, t) {
  110. var _this = _super.call(this, e, "UnexpectedResponseException") || this;
  111. _this.status = t;
  112. return _this;
  113. }
  114. return UnexpectedResponseException;
  115. }(rt));
  116. var FormatError = /** @class */ (function (_super) {
  117. tslib_1.__extends(FormatError, _super);
  118. function FormatError(e) {
  119. return _super.call(this, e, "FormatError") || this;
  120. }
  121. return FormatError;
  122. }(rt));
  123. var AbortException = /** @class */ (function (_super) {
  124. tslib_1.__extends(AbortException, _super);
  125. function AbortException(e) {
  126. return _super.call(this, e, "AbortException") || this;
  127. }
  128. return AbortException;
  129. }(rt));
  130. function bytesToString(e) { "object" == typeof e && void 0 !== (e === null || e === void 0 ? void 0 : e.length) || unreachable("Invalid argument for bytesToString"); var t = e.length, i = 8192; if (t < i)
  131. return String.fromCharCode.apply(null, e); var a = []; for (var s_1 = 0; s_1 < t; s_1 += i) {
  132. var r_1 = Math.min(s_1 + i, t), n_1 = e.subarray(s_1, r_1);
  133. a.push(String.fromCharCode.apply(null, n_1));
  134. } return a.join(""); }
  135. function stringToBytes(e) { "string" != typeof e && unreachable("Invalid argument for stringToBytes"); var t = e.length, i = new Uint8Array(t); for (var a_2 = 0; a_2 < t; ++a_2)
  136. i[a_2] = 255 & e.charCodeAt(a_2); return i; }
  137. function string32(e) { return String.fromCharCode(e >> 24 & 255, e >> 16 & 255, e >> 8 & 255, 255 & e); }
  138. function objectSize(e) { return Object.keys(e).length; }
  139. var FeatureTest = /** @class */ (function () {
  140. function FeatureTest() {
  141. }
  142. Object.defineProperty(FeatureTest, "isLittleEndian", {
  143. get: function () { return shadow(this, "isLittleEndian", function isLittleEndian() { var e = new Uint8Array(4); e[0] = 1; return 1 === new Uint32Array(e.buffer, 0, 1)[0]; }()); },
  144. enumerable: false,
  145. configurable: true
  146. });
  147. Object.defineProperty(FeatureTest, "isEvalSupported", {
  148. get: function () { return shadow(this, "isEvalSupported", function isEvalSupported() { try {
  149. new Function("");
  150. return !0;
  151. }
  152. catch (_b) {
  153. return !1;
  154. } }()); },
  155. enumerable: false,
  156. configurable: true
  157. });
  158. Object.defineProperty(FeatureTest, "isOffscreenCanvasSupported", {
  159. get: function () { return shadow(this, "isOffscreenCanvasSupported", "undefined" != typeof OffscreenCanvas); },
  160. enumerable: false,
  161. configurable: true
  162. });
  163. Object.defineProperty(FeatureTest, "platform", {
  164. get: function () { return "undefined" != typeof navigator && "string" == typeof (navigator === null || navigator === void 0 ? void 0 : navigator.platform) ? shadow(this, "platform", { isMac: navigator.platform.includes("Mac") }) : shadow(this, "platform", { isMac: !1 }); },
  165. enumerable: false,
  166. configurable: true
  167. });
  168. Object.defineProperty(FeatureTest, "isCSSRoundSupported", {
  169. get: function () { var _b, _f; return shadow(this, "isCSSRoundSupported", (_f = (_b = globalThis.CSS) === null || _b === void 0 ? void 0 : _b.supports) === null || _f === void 0 ? void 0 : _f.call(_b, "width: round(1.5px, 1px)")); },
  170. enumerable: false,
  171. configurable: true
  172. });
  173. return FeatureTest;
  174. }());
  175. var nt = Array.from(Array(256).keys(), (function (e) { return e.toString(16).padStart(2, "0"); }));
  176. var Util = /** @class */ (function () {
  177. function Util() {
  178. }
  179. Util.makeHexColor = function (e, t, i) { return "#".concat(nt[e]).concat(nt[t]).concat(nt[i]); };
  180. Util.scaleMinMax = function (e, t) { var i; if (e[0]) {
  181. if (e[0] < 0) {
  182. i = t[0];
  183. t[0] = t[2];
  184. t[2] = i;
  185. }
  186. t[0] *= e[0];
  187. t[2] *= e[0];
  188. if (e[3] < 0) {
  189. i = t[1];
  190. t[1] = t[3];
  191. t[3] = i;
  192. }
  193. t[1] *= e[3];
  194. t[3] *= e[3];
  195. }
  196. else {
  197. i = t[0];
  198. t[0] = t[1];
  199. t[1] = i;
  200. i = t[2];
  201. t[2] = t[3];
  202. t[3] = i;
  203. if (e[1] < 0) {
  204. i = t[1];
  205. t[1] = t[3];
  206. t[3] = i;
  207. }
  208. t[1] *= e[1];
  209. t[3] *= e[1];
  210. if (e[2] < 0) {
  211. i = t[0];
  212. t[0] = t[2];
  213. t[2] = i;
  214. }
  215. t[0] *= e[2];
  216. t[2] *= e[2];
  217. } t[0] += e[4]; t[1] += e[5]; t[2] += e[4]; t[3] += e[5]; };
  218. Util.transform = function (e, t) { return [e[0] * t[0] + e[2] * t[1], e[1] * t[0] + e[3] * t[1], e[0] * t[2] + e[2] * t[3], e[1] * t[2] + e[3] * t[3], e[0] * t[4] + e[2] * t[5] + e[4], e[1] * t[4] + e[3] * t[5] + e[5]]; };
  219. Util.applyTransform = function (e, t) { return [e[0] * t[0] + e[1] * t[2] + t[4], e[0] * t[1] + e[1] * t[3] + t[5]]; };
  220. Util.applyInverseTransform = function (e, t) { var i = t[0] * t[3] - t[1] * t[2]; return [(e[0] * t[3] - e[1] * t[2] + t[2] * t[5] - t[4] * t[3]) / i, (-e[0] * t[1] + e[1] * t[0] + t[4] * t[1] - t[5] * t[0]) / i]; };
  221. Util.getAxialAlignedBoundingBox = function (e, t) { var i = this.applyTransform(e, t), a = this.applyTransform(e.slice(2, 4), t), s = this.applyTransform([e[0], e[3]], t), r = this.applyTransform([e[2], e[1]], t); return [Math.min(i[0], a[0], s[0], r[0]), Math.min(i[1], a[1], s[1], r[1]), Math.max(i[0], a[0], s[0], r[0]), Math.max(i[1], a[1], s[1], r[1])]; };
  222. Util.inverseTransform = function (e) { var t = e[0] * e[3] - e[1] * e[2]; return [e[3] / t, -e[1] / t, -e[2] / t, e[0] / t, (e[2] * e[5] - e[4] * e[3]) / t, (e[4] * e[1] - e[5] * e[0]) / t]; };
  223. Util.singularValueDecompose2dScale = function (e) { var t = [e[0], e[2], e[1], e[3]], i = e[0] * t[0] + e[1] * t[2], a = e[0] * t[1] + e[1] * t[3], s = e[2] * t[0] + e[3] * t[2], r = e[2] * t[1] + e[3] * t[3], n = (i + r) / 2, o = Math.sqrt(Math.pow((i + r), 2) - 4 * (i * r - s * a)) / 2, g = n + o || 1, c = n - o || 1; return [Math.sqrt(g), Math.sqrt(c)]; };
  224. Util.normalizeRect = function (e) { var t = e.slice(0); if (e[0] > e[2]) {
  225. t[0] = e[2];
  226. t[2] = e[0];
  227. } if (e[1] > e[3]) {
  228. t[1] = e[3];
  229. t[3] = e[1];
  230. } return t; };
  231. Util.intersect = function (e, t) { var i = Math.max(Math.min(e[0], e[2]), Math.min(t[0], t[2])), a = Math.min(Math.max(e[0], e[2]), Math.max(t[0], t[2])); if (i > a)
  232. return null; var s = Math.max(Math.min(e[1], e[3]), Math.min(t[1], t[3])), r = Math.min(Math.max(e[1], e[3]), Math.max(t[1], t[3])); return s > r ? null : [i, s, a, r]; };
  233. Util.bezierBoundingBox = function (e, t, i, a, s, r, n, o, g) { if (g) {
  234. g[0] = Math.min(g[0], e, n);
  235. g[1] = Math.min(g[1], t, o);
  236. g[2] = Math.max(g[2], e, n);
  237. g[3] = Math.max(g[3], t, o);
  238. }
  239. else
  240. g = [Math.min(e, n), Math.min(t, o), Math.max(e, n), Math.max(t, o)]; tslib_1.__classPrivateFieldGet(this, _c, "m", _Util_e).call(this, e, i, s, n, t, a, r, o, 3 * (3 * (i - s) - e + n), 6 * (e - 2 * i + s), 3 * (i - e), g); tslib_1.__classPrivateFieldGet(this, _c, "m", _Util_e).call(this, e, i, s, n, t, a, r, o, 3 * (3 * (a - r) - t + o), 6 * (t - 2 * a + r), 3 * (a - t), g); return g; };
  241. return Util;
  242. }());
  243. _c = Util, _Util_A = function _Util_A(e, t, i, a, s, r, n, o, g, c) { if (g <= 0 || g >= 1)
  244. return; var h = 1 - g, l = g * g, C = l * g, Q = h * (h * (h * e + 3 * g * t) + 3 * l * i) + C * a, E = h * (h * (h * s + 3 * g * r) + 3 * l * n) + C * o; c[0] = Math.min(c[0], Q); c[1] = Math.min(c[1], E); c[2] = Math.max(c[2], Q); c[3] = Math.max(c[3], E); }, _Util_e = function _Util_e(e, t, i, a, s, r, n, o, g, c, h, l) { if (Math.abs(g) < 1e-12) {
  245. Math.abs(c) >= 1e-12 && tslib_1.__classPrivateFieldGet(this, _c, "m", _Util_A).call(this, e, t, i, a, s, r, n, o, -h / c, l);
  246. return;
  247. } var C = Math.pow(c, 2) - 4 * h * g; if (C < 0)
  248. return; var Q = Math.sqrt(C), E = 2 * g; tslib_1.__classPrivateFieldGet(this, _c, "m", _Util_A).call(this, e, t, i, a, s, r, n, o, (-c + Q) / E, l); tslib_1.__classPrivateFieldGet(this, _c, "m", _Util_A).call(this, e, t, i, a, s, r, n, o, (-c - Q) / E, l); };
  249. var ot = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 711, 710, 729, 733, 731, 730, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8226, 8224, 8225, 8230, 8212, 8211, 402, 8260, 8249, 8250, 8722, 8240, 8222, 8220, 8221, 8216, 8217, 8218, 8482, 64257, 64258, 321, 338, 352, 376, 381, 305, 322, 339, 353, 382, 0, 8364];
  250. function stringToPDFString(e) { if (e[0] >= "ï") {
  251. var t_2;
  252. if ("þ" === e[0] && "ÿ" === e[1]) {
  253. t_2 = "utf-16be";
  254. e.length % 2 == 1 && (e = e.slice(0, -1));
  255. }
  256. else if ("ÿ" === e[0] && "þ" === e[1]) {
  257. t_2 = "utf-16le";
  258. e.length % 2 == 1 && (e = e.slice(0, -1));
  259. }
  260. else
  261. "ï" === e[0] && "»" === e[1] && "¿" === e[2] && (t_2 = "utf-8");
  262. if (t_2)
  263. try {
  264. var i_1 = new TextDecoder(t_2, { fatal: !0 }), a_3 = stringToBytes(e), s_2 = i_1.decode(a_3);
  265. return s_2.includes("") ? s_2.replaceAll(/\x1b[^\x1b]*(?:\x1b|$)/g, "") : s_2;
  266. }
  267. catch (e) {
  268. warn("stringToPDFString: \"".concat(e, "\"."));
  269. }
  270. } var t = []; for (var i_2 = 0, a_4 = e.length; i_2 < a_4; i_2++) {
  271. var s_3 = e.charCodeAt(i_2);
  272. if (27 === s_3) {
  273. for (; ++i_2 < a_4 && 27 !== e.charCodeAt(i_2);)
  274. ;
  275. continue;
  276. }
  277. var r_2 = ot[s_3];
  278. t.push(r_2 ? String.fromCharCode(r_2) : e.charAt(i_2));
  279. } return t.join(""); }
  280. function stringToUTF8String(e) { return decodeURIComponent(escape(e)); }
  281. function utf8StringToString(e) { return unescape(encodeURIComponent(e)); }
  282. function isArrayEqual(e, t) { if (e.length !== t.length)
  283. return !1; for (var i_3 = 0, a_5 = e.length; i_3 < a_5; i_3++)
  284. if (e[i_3] !== t[i_3])
  285. return !1; return !0; }
  286. function getModificationDate(e) {
  287. if (e === void 0) { e = new Date; }
  288. return [e.getUTCFullYear().toString(), (e.getUTCMonth() + 1).toString().padStart(2, "0"), e.getUTCDate().toString().padStart(2, "0"), e.getUTCHours().toString().padStart(2, "0"), e.getUTCMinutes().toString().padStart(2, "0"), e.getUTCSeconds().toString().padStart(2, "0")].join("");
  289. }
  290. var gt = null, It = null;
  291. var ct = 0, ht = 1, lt = 2, Ct = 3, Bt = 4, Qt = 5, Et = 6, ut = 7, dt = 8, ft = Symbol("CIRCULAR_REF"), pt = Symbol("EOF");
  292. var mt = Object.create(null), yt = Object.create(null), wt = Object.create(null);
  293. var Name = /** @class */ (function () {
  294. function Name(e) {
  295. this.name = e;
  296. }
  297. Name.get = function (e) { return yt[e] || (yt[e] = new Name(e)); };
  298. return Name;
  299. }());
  300. var Cmd = /** @class */ (function () {
  301. function Cmd(e) {
  302. this.cmd = e;
  303. }
  304. Cmd.get = function (e) { return mt[e] || (mt[e] = new Cmd(e)); };
  305. return Cmd;
  306. }());
  307. var bt = function nonSerializableClosure() { return bt; };
  308. var Dict = /** @class */ (function () {
  309. function Dict(e) {
  310. if (e === void 0) { e = null; }
  311. this._map = Object.create(null);
  312. this.xref = e;
  313. this.objId = null;
  314. this.suppressEncryption = !1;
  315. this.__nonSerializable__ = bt;
  316. }
  317. Dict.prototype.assignXref = function (e) { this.xref = e; };
  318. Object.defineProperty(Dict.prototype, "size", {
  319. get: function () { return Object.keys(this._map).length; },
  320. enumerable: false,
  321. configurable: true
  322. });
  323. Dict.prototype.get = function (e, t, i) { var a = this._map[e]; if (void 0 === a && void 0 !== t) {
  324. a = this._map[t];
  325. void 0 === a && void 0 !== i && (a = this._map[i]);
  326. } return a instanceof Ref && this.xref ? this.xref.fetch(a, this.suppressEncryption) : a; };
  327. Dict.prototype.getAsync = function (e, t, i) {
  328. return tslib_1.__awaiter(this, void 0, void 0, function () { var a; return tslib_1.__generator(this, function (_b) {
  329. a = this._map[e];
  330. if (void 0 === a && void 0 !== t) {
  331. a = this._map[t];
  332. void 0 === a && void 0 !== i && (a = this._map[i]);
  333. }
  334. return [2 /*return*/, a instanceof Ref && this.xref ? this.xref.fetchAsync(a, this.suppressEncryption) : a];
  335. }); });
  336. };
  337. Dict.prototype.getArray = function (e, t, i) { var a = this._map[e]; if (void 0 === a && void 0 !== t) {
  338. a = this._map[t];
  339. void 0 === a && void 0 !== i && (a = this._map[i]);
  340. } a instanceof Ref && this.xref && (a = this.xref.fetch(a, this.suppressEncryption)); if (Array.isArray(a)) {
  341. a = a.slice();
  342. for (var e_1 = 0, t_3 = a.length; e_1 < t_3; e_1++)
  343. a[e_1] instanceof Ref && this.xref && (a[e_1] = this.xref.fetch(a[e_1], this.suppressEncryption));
  344. } return a; };
  345. Dict.prototype.getRaw = function (e) { return this._map[e]; };
  346. Dict.prototype.getKeys = function () { return Object.keys(this._map); };
  347. Dict.prototype.getRawValues = function () { return Object.values(this._map); };
  348. Dict.prototype.set = function (e, t) { this._map[e] = t; };
  349. Dict.prototype.has = function (e) { return void 0 !== this._map[e]; };
  350. Dict.prototype.forEach = function (e) { for (var t_4 in this._map)
  351. e(t_4, this.get(t_4)); };
  352. Object.defineProperty(Dict, "empty", {
  353. get: function () { var e = new Dict(null); e.set = function (e, t) { unreachable("Should not call `set` on the empty dictionary."); }; return shadow(this, "empty", e); },
  354. enumerable: false,
  355. configurable: true
  356. });
  357. Dict.merge = function (_b) {
  358. var e = _b.xref, t = _b.dictArray, _f = _b.mergeSubDicts, i = _f === void 0 ? !1 : _f;
  359. var a = new Dict(e), s = new Map;
  360. for (var _g = 0, t_5 = t; _g < t_5.length; _g++) {
  361. var e_2 = t_5[_g];
  362. if (e_2 instanceof Dict)
  363. for (var _h = 0, _j = Object.entries(e_2._map); _h < _j.length; _h++) {
  364. var _k = _j[_h], t_6 = _k[0], a_6 = _k[1];
  365. var e_3 = s.get(t_6);
  366. if (void 0 === e_3) {
  367. e_3 = [];
  368. s.set(t_6, e_3);
  369. }
  370. else if (!(i && a_6 instanceof Dict))
  371. continue;
  372. e_3.push(a_6);
  373. }
  374. }
  375. for (var _l = 0, s_4 = s; _l < s_4.length; _l++) {
  376. var _m = s_4[_l], t_7 = _m[0], i_5 = _m[1];
  377. if (1 === i_5.length || !(i_5[0] instanceof Dict)) {
  378. a._map[t_7] = i_5[0];
  379. continue;
  380. }
  381. var s_5 = new Dict(e);
  382. for (var _o = 0, i_4 = i_5; _o < i_4.length; _o++) {
  383. var e_4 = i_4[_o];
  384. for (var _p = 0, _q = Object.entries(e_4._map); _p < _q.length; _p++) {
  385. var _u = _q[_p], t_8 = _u[0], i_6 = _u[1];
  386. void 0 === s_5._map[t_8] && (s_5._map[t_8] = i_6);
  387. }
  388. }
  389. s_5.size > 0 && (a._map[t_7] = s_5);
  390. }
  391. s.clear();
  392. return a.size > 0 ? a : Dict.empty;
  393. };
  394. Dict.prototype.clone = function () { var e = new Dict(this.xref); for (var _b = 0, _f = this.getKeys(); _b < _f.length; _b++) {
  395. var t_9 = _f[_b];
  396. e.set(t_9, this.getRaw(t_9));
  397. } return e; };
  398. return Dict;
  399. }());
  400. var Ref = /** @class */ (function () {
  401. function Ref(e, t) {
  402. this.num = e;
  403. this.gen = t;
  404. }
  405. Ref.prototype.toString = function () { return 0 === this.gen ? "".concat(this.num, "R") : "".concat(this.num, "R").concat(this.gen); };
  406. Ref.fromString = function (e) { var t = wt[e]; if (t)
  407. return t; var i = /^(\d+)R(\d*)$/.exec(e); return i && "0" !== i[1] ? wt[e] = new Ref(parseInt(i[1]), i[2] ? parseInt(i[2]) : 0) : null; };
  408. Ref.get = function (e, t) { var i = 0 === t ? "".concat(e, "R") : "".concat(e, "R").concat(t); return wt[i] || (wt[i] = new Ref(e, t)); };
  409. return Ref;
  410. }());
  411. var RefSet = /** @class */ (function () {
  412. function RefSet(e) {
  413. if (e === void 0) { e = null; }
  414. this._set = new Set(e === null || e === void 0 ? void 0 : e._set);
  415. }
  416. RefSet.prototype.has = function (e) { return this._set.has(e.toString()); };
  417. RefSet.prototype.put = function (e) { this._set.add(e.toString()); };
  418. RefSet.prototype.remove = function (e) { this._set.delete(e.toString()); };
  419. RefSet.prototype[Symbol.iterator] = function () { return this._set.values(); };
  420. RefSet.prototype.clear = function () { this._set.clear(); };
  421. return RefSet;
  422. }());
  423. var RefSetCache = /** @class */ (function () {
  424. function RefSetCache() {
  425. this._map = new Map;
  426. }
  427. Object.defineProperty(RefSetCache.prototype, "size", {
  428. get: function () { return this._map.size; },
  429. enumerable: false,
  430. configurable: true
  431. });
  432. RefSetCache.prototype.get = function (e) { return this._map.get(e.toString()); };
  433. RefSetCache.prototype.has = function (e) { return this._map.has(e.toString()); };
  434. RefSetCache.prototype.put = function (e, t) { this._map.set(e.toString(), t); };
  435. RefSetCache.prototype.putAlias = function (e, t) { this._map.set(e.toString(), this.get(t)); };
  436. RefSetCache.prototype[Symbol.iterator] = function () { return this._map.values(); };
  437. RefSetCache.prototype.clear = function () { this._map.clear(); };
  438. RefSetCache.prototype.items = function () { var _b, _f, _g, e_5, t_10; return tslib_1.__generator(this, function (_h) {
  439. switch (_h.label) {
  440. case 0:
  441. _b = 0, _f = this._map;
  442. _h.label = 1;
  443. case 1:
  444. if (!(_b < _f.length)) return [3 /*break*/, 4];
  445. _g = _f[_b], e_5 = _g[0], t_10 = _g[1];
  446. return [4 /*yield*/, [Ref.fromString(e_5), t_10]];
  447. case 2:
  448. _h.sent();
  449. _h.label = 3;
  450. case 3:
  451. _b++;
  452. return [3 /*break*/, 1];
  453. case 4: return [2 /*return*/];
  454. }
  455. }); };
  456. return RefSetCache;
  457. }());
  458. function isName(e, t) { return e instanceof Name && (void 0 === t || e.name === t); }
  459. function isCmd(e, t) { return e instanceof Cmd && (void 0 === t || e.cmd === t); }
  460. function isDict(e, t) { return e instanceof Dict && (void 0 === t || isName(e.get("Type"), t)); }
  461. function isRefsEqual(e, t) { return e.num === t.num && e.gen === t.gen; }
  462. var BaseStream = /** @class */ (function () {
  463. function BaseStream() {
  464. this.constructor === BaseStream && unreachable("Cannot initialize BaseStream.");
  465. }
  466. Object.defineProperty(BaseStream.prototype, "length", {
  467. get: function () { unreachable("Abstract getter `length` accessed"); },
  468. enumerable: false,
  469. configurable: true
  470. });
  471. Object.defineProperty(BaseStream.prototype, "isEmpty", {
  472. get: function () { unreachable("Abstract getter `isEmpty` accessed"); },
  473. enumerable: false,
  474. configurable: true
  475. });
  476. Object.defineProperty(BaseStream.prototype, "isDataLoaded", {
  477. get: function () { return shadow(this, "isDataLoaded", !0); },
  478. enumerable: false,
  479. configurable: true
  480. });
  481. BaseStream.prototype.getByte = function () { unreachable("Abstract method `getByte` called"); };
  482. BaseStream.prototype.getBytes = function (e) { unreachable("Abstract method `getBytes` called"); };
  483. BaseStream.prototype.peekByte = function () { var e = this.getByte(); -1 !== e && this.pos--; return e; };
  484. BaseStream.prototype.peekBytes = function (e) { var t = this.getBytes(e); this.pos -= t.length; return t; };
  485. BaseStream.prototype.getUint16 = function () { var e = this.getByte(), t = this.getByte(); return -1 === e || -1 === t ? -1 : (e << 8) + t; };
  486. BaseStream.prototype.getInt32 = function () { return (this.getByte() << 24) + (this.getByte() << 16) + (this.getByte() << 8) + this.getByte(); };
  487. BaseStream.prototype.getByteRange = function (e, t) { unreachable("Abstract method `getByteRange` called"); };
  488. BaseStream.prototype.getString = function (e) { return bytesToString(this.getBytes(e)); };
  489. BaseStream.prototype.skip = function (e) { this.pos += e || 1; };
  490. BaseStream.prototype.reset = function () { unreachable("Abstract method `reset` called"); };
  491. BaseStream.prototype.moveStart = function () { unreachable("Abstract method `moveStart` called"); };
  492. BaseStream.prototype.makeSubStream = function (e, t, i) {
  493. if (i === void 0) { i = null; }
  494. unreachable("Abstract method `makeSubStream` called");
  495. };
  496. BaseStream.prototype.getBaseStreams = function () { return null; };
  497. return BaseStream;
  498. }());
  499. var Dt = /^[1-9]\.\d$/;
  500. function getLookupTableFactory(e) { var t; return function () { if (e) {
  501. t = Object.create(null);
  502. e(t);
  503. e = null;
  504. } return t; }; }
  505. var MissingDataException = /** @class */ (function (_super) {
  506. tslib_1.__extends(MissingDataException, _super);
  507. function MissingDataException(e, t) {
  508. var _this = _super.call(this, "Missing data [".concat(e, ", ").concat(t, ")"), "MissingDataException") || this;
  509. _this.begin = e;
  510. _this.end = t;
  511. return _this;
  512. }
  513. return MissingDataException;
  514. }(rt));
  515. var ParserEOFException = /** @class */ (function (_super) {
  516. tslib_1.__extends(ParserEOFException, _super);
  517. function ParserEOFException(e) {
  518. return _super.call(this, e, "ParserEOFException") || this;
  519. }
  520. return ParserEOFException;
  521. }(rt));
  522. var XRefEntryException = /** @class */ (function (_super) {
  523. tslib_1.__extends(XRefEntryException, _super);
  524. function XRefEntryException(e) {
  525. return _super.call(this, e, "XRefEntryException") || this;
  526. }
  527. return XRefEntryException;
  528. }(rt));
  529. var XRefParseException = /** @class */ (function (_super) {
  530. tslib_1.__extends(XRefParseException, _super);
  531. function XRefParseException(e) {
  532. return _super.call(this, e, "XRefParseException") || this;
  533. }
  534. return XRefParseException;
  535. }(rt));
  536. function arrayBuffersToBytes(e) { var t = e.length; if (0 === t)
  537. return new Uint8Array(0); if (1 === t)
  538. return new Uint8Array(e[0]); var i = 0; for (var a_7 = 0; a_7 < t; a_7++)
  539. i += e[a_7].byteLength; var a = new Uint8Array(i); var s = 0; for (var i_7 = 0; i_7 < t; i_7++) {
  540. var t_11 = new Uint8Array(e[i_7]);
  541. a.set(t_11, s);
  542. s += t_11.byteLength;
  543. } return a; }
  544. function getInheritableProperty(_b) {
  545. var e = _b.dict, t = _b.key, _f = _b.getArray, i = _f === void 0 ? !1 : _f, _g = _b.stopWhenFound, a = _g === void 0 ? !0 : _g;
  546. var s;
  547. var r = new RefSet;
  548. for (; e instanceof Dict && (!e.objId || !r.has(e.objId));) {
  549. e.objId && r.put(e.objId);
  550. var n_2 = i ? e.getArray(t) : e.get(t);
  551. if (void 0 !== n_2) {
  552. if (a)
  553. return n_2;
  554. (s || (s = [])).push(n_2);
  555. }
  556. e = e.get("Parent");
  557. }
  558. return s;
  559. }
  560. var Ft = ["", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM", "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC", "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"];
  561. function toRomanNumerals(e, t) {
  562. if (t === void 0) { t = !1; }
  563. assert(Number.isInteger(e) && e > 0, "The number should be a positive integer.");
  564. var i = [];
  565. var a;
  566. for (; e >= 1e3;) {
  567. e -= 1e3;
  568. i.push("M");
  569. }
  570. a = e / 100 | 0;
  571. e %= 100;
  572. i.push(Ft[a]);
  573. a = e / 10 | 0;
  574. e %= 10;
  575. i.push(Ft[10 + a]);
  576. i.push(Ft[20 + e]);
  577. var s = i.join("");
  578. return t ? s.toLowerCase() : s;
  579. }
  580. function log2(e) { return e <= 0 ? 0 : Math.ceil(Math.log2(e)); }
  581. function readInt8(e, t) { return e[t] << 24 >> 24; }
  582. function readUint16(e, t) { return e[t] << 8 | e[t + 1]; }
  583. function readUint32(e, t) { return (e[t] << 24 | e[t + 1] << 16 | e[t + 2] << 8 | e[t + 3]) >>> 0; }
  584. function isWhiteSpace(e) { return 32 === e || 9 === e || 13 === e || 10 === e; }
  585. function isNumberArray(e, t) { return Array.isArray(e) && (null === t || e.length === t) && e.every((function (e) { return "number" == typeof e; })); }
  586. function lookupMatrix(e, t) { return isNumberArray(e, 6) ? e : t; }
  587. function lookupRect(e, t) { return isNumberArray(e, 4) ? e : t; }
  588. function lookupNormalRect(e, t) { return isNumberArray(e, 4) ? Util.normalizeRect(e) : t; }
  589. function parseXFAPath(e) { var t = /(.+)\[(\d+)\]$/; return e.split(".").map((function (e) { var i = e.match(t); return i ? { name: i[1], pos: parseInt(i[2], 10) } : { name: e, pos: 0 }; })); }
  590. function escapePDFName(e) { var t = []; var i = 0; for (var a_8 = 0, s_6 = e.length; a_8 < s_6; a_8++) {
  591. var s_7 = e.charCodeAt(a_8);
  592. if (s_7 < 33 || s_7 > 126 || 35 === s_7 || 40 === s_7 || 41 === s_7 || 60 === s_7 || 62 === s_7 || 91 === s_7 || 93 === s_7 || 123 === s_7 || 125 === s_7 || 47 === s_7 || 37 === s_7) {
  593. i < a_8 && t.push(e.substring(i, a_8));
  594. t.push("#".concat(s_7.toString(16)));
  595. i = a_8 + 1;
  596. }
  597. } if (0 === t.length)
  598. return e; i < e.length && t.push(e.substring(i, e.length)); return t.join(""); }
  599. function escapeString(e) { return e.replaceAll(/([()\\\n\r])/g, (function (e) { return "\n" === e ? "\\n" : "\r" === e ? "\\r" : "\\".concat(e); })); }
  600. function _collectJS(e, t, i, a) { if (!e)
  601. return; var s = null; if (e instanceof Ref) {
  602. if (a.has(e))
  603. return;
  604. s = e;
  605. a.put(s);
  606. e = t.fetch(e);
  607. } if (Array.isArray(e))
  608. for (var _b = 0, e_6 = e; _b < e_6.length; _b++) {
  609. var s_8 = e_6[_b];
  610. _collectJS(s_8, t, i, a);
  611. }
  612. else if (e instanceof Dict) {
  613. if (isName(e.get("S"), "JavaScript")) {
  614. var t_12 = e.get("JS");
  615. var a_9;
  616. t_12 instanceof BaseStream ? a_9 = t_12.getString() : "string" == typeof t_12 && (a_9 = t_12);
  617. a_9 && (a_9 = stringToPDFString(a_9).replaceAll("\0", ""));
  618. a_9 && i.push(a_9);
  619. }
  620. _collectJS(e.getRaw("Next"), t, i, a);
  621. } s && a.remove(s); }
  622. function collectActions(e, t, i) { var a = Object.create(null), s = getInheritableProperty({ dict: t, key: "AA", stopWhenFound: !1 }); if (s)
  623. for (var t_13 = s.length - 1; t_13 >= 0; t_13--) {
  624. var r_3 = s[t_13];
  625. if (r_3 instanceof Dict)
  626. for (var _b = 0, _f = r_3.getKeys(); _b < _f.length; _b++) {
  627. var t_14 = _f[_b];
  628. var s_9 = i[t_14];
  629. if (!s_9)
  630. continue;
  631. var n_3 = [];
  632. _collectJS(r_3.getRaw(t_14), e, n_3, new RefSet);
  633. n_3.length > 0 && (a[s_9] = n_3);
  634. }
  635. } if (t.has("A")) {
  636. var i_8 = [];
  637. _collectJS(t.get("A"), e, i_8, new RefSet);
  638. i_8.length > 0 && (a.Action = i_8);
  639. } return objectSize(a) > 0 ? a : null; }
  640. var St = { 60: "&lt;", 62: "&gt;", 38: "&amp;", 34: "&quot;", 39: "&apos;" };
  641. function codePointIter(e) { var t_15, i_9, i_10; return tslib_1.__generator(this, function (_b) {
  642. switch (_b.label) {
  643. case 0:
  644. t_15 = 0, i_9 = e.length;
  645. _b.label = 1;
  646. case 1:
  647. if (!(t_15 < i_9)) return [3 /*break*/, 4];
  648. i_10 = e.codePointAt(t_15);
  649. i_10 > 55295 && (i_10 < 57344 || i_10 > 65533) && t_15++;
  650. return [4 /*yield*/, i_10];
  651. case 2:
  652. _b.sent();
  653. _b.label = 3;
  654. case 3:
  655. t_15++;
  656. return [3 /*break*/, 1];
  657. case 4: return [2 /*return*/];
  658. }
  659. }); }
  660. function encodeToXmlString(e) { var t = []; var i = 0; for (var a_10 = 0, s_10 = e.length; a_10 < s_10; a_10++) {
  661. var s_11 = e.codePointAt(a_10);
  662. if (32 <= s_11 && s_11 <= 126) {
  663. var r_4 = St[s_11];
  664. if (r_4) {
  665. i < a_10 && t.push(e.substring(i, a_10));
  666. t.push(r_4);
  667. i = a_10 + 1;
  668. }
  669. }
  670. else {
  671. i < a_10 && t.push(e.substring(i, a_10));
  672. t.push("&#x".concat(s_11.toString(16).toUpperCase(), ";"));
  673. s_11 > 55295 && (s_11 < 57344 || s_11 > 65533) && a_10++;
  674. i = a_10 + 1;
  675. }
  676. } if (0 === t.length)
  677. return e; i < e.length && t.push(e.substring(i, e.length)); return t.join(""); }
  678. function validateFontName(e, t) {
  679. if (t === void 0) { t = !1; }
  680. var i = /^("|').*("|')$/.exec(e);
  681. if (i && i[1] === i[2]) {
  682. if (new RegExp("[^\\\\]".concat(i[1])).test(e.slice(1, -1))) {
  683. t && warn("FontFamily contains unescaped ".concat(i[1], ": ").concat(e, "."));
  684. return !1;
  685. }
  686. }
  687. else
  688. for (var _b = 0, _f = e.split(/[ \t]+/); _b < _f.length; _b++) {
  689. var i_11 = _f[_b];
  690. if (/^(\d|(-(\d|-)))/.test(i_11) || !/^[\w-\\]+$/.test(i_11)) {
  691. t && warn("FontFamily contains invalid <custom-ident>: ".concat(e, "."));
  692. return !1;
  693. }
  694. }
  695. return !0;
  696. }
  697. function validateCSSFont(e) { var t = new Set(["100", "200", "300", "400", "500", "600", "700", "800", "900", "1000", "normal", "bold", "bolder", "lighter"]), i = e.fontFamily, a = e.fontWeight, s = e.italicAngle; if (!validateFontName(i, !0))
  698. return !1; var r = a ? a.toString() : ""; e.fontWeight = t.has(r) ? r : "400"; var n = parseFloat(s); e.italicAngle = isNaN(n) || n < -90 || n > 90 ? "14" : s.toString(); return !0; }
  699. function recoverJsURL(e) { var t = new RegExp("^\\s*(" + ["app.launchURL", "window.open", "xfa.host.gotoURL"].join("|").replaceAll(".", "\\.") + ")\\((?:'|\")([^'\"]*)(?:'|\")(?:,\\s*(\\w+)\\)|\\))", "i").exec(e); if (t === null || t === void 0 ? void 0 : t[2]) {
  700. var e_7 = t[2];
  701. var i_12 = !1;
  702. "true" === t[3] && "app.launchURL" === t[1] && (i_12 = !0);
  703. return { url: e_7, newWindow: i_12 };
  704. } return null; }
  705. function numberToString(e) { if (Number.isInteger(e))
  706. return e.toString(); var t = Math.round(100 * e); return t % 100 == 0 ? (t / 100).toString() : t % 10 == 0 ? e.toFixed(1) : e.toFixed(2); }
  707. function getNewAnnotationsMap(e) { if (!e)
  708. return null; var t = new Map; for (var _b = 0, e_8 = e; _b < e_8.length; _b++) {
  709. var _f = e_8[_b], i_13 = _f[0], a_11 = _f[1];
  710. if (!i_13.startsWith(E))
  711. continue;
  712. var e_9 = t.get(a_11.pageIndex);
  713. if (!e_9) {
  714. e_9 = [];
  715. t.set(a_11.pageIndex, e_9);
  716. }
  717. e_9.push(a_11);
  718. } return t.size > 0 ? t : null; }
  719. function isAscii(e) { return /^[\x00-\x7F]*$/.test(e); }
  720. function stringToUTF16HexString(e) { var t = []; for (var i_14 = 0, a_12 = e.length; i_14 < a_12; i_14++) {
  721. var a_13 = e.charCodeAt(i_14);
  722. t.push((a_13 >> 8 & 255).toString(16).padStart(2, "0"), (255 & a_13).toString(16).padStart(2, "0"));
  723. } return t.join(""); }
  724. function stringToUTF16String(e, t) {
  725. if (t === void 0) { t = !1; }
  726. var i = [];
  727. t && i.push("þÿ");
  728. for (var t_16 = 0, a_14 = e.length; t_16 < a_14; t_16++) {
  729. var a_15 = e.charCodeAt(t_16);
  730. i.push(String.fromCharCode(a_15 >> 8 & 255), String.fromCharCode(255 & a_15));
  731. }
  732. return i.join("");
  733. }
  734. function getRotationMatrix(e, t, i) { switch (e) {
  735. case 90: return [0, 1, -1, 0, t, 0];
  736. case 180: return [-1, 0, 0, -1, t, i];
  737. case 270: return [0, -1, 1, 0, 0, i];
  738. default: throw new Error("Invalid rotation");
  739. } }
  740. function getSizeInBytes(e) { return Math.ceil(Math.ceil(Math.log2(1 + e)) / 8); }
  741. var Stream = /** @class */ (function (_super) {
  742. tslib_1.__extends(Stream, _super);
  743. function Stream(e, t, i, a) {
  744. var _this = _super.call(this) || this;
  745. _this.bytes = e instanceof Uint8Array ? e : new Uint8Array(e);
  746. _this.start = t || 0;
  747. _this.pos = _this.start;
  748. _this.end = t + i || _this.bytes.length;
  749. _this.dict = a;
  750. return _this;
  751. }
  752. Object.defineProperty(Stream.prototype, "length", {
  753. get: function () { return this.end - this.start; },
  754. enumerable: false,
  755. configurable: true
  756. });
  757. Object.defineProperty(Stream.prototype, "isEmpty", {
  758. get: function () { return 0 === this.length; },
  759. enumerable: false,
  760. configurable: true
  761. });
  762. Stream.prototype.getByte = function () { return this.pos >= this.end ? -1 : this.bytes[this.pos++]; };
  763. Stream.prototype.getBytes = function (e) { var t = this.bytes, i = this.pos, a = this.end; if (!e)
  764. return t.subarray(i, a); var s = i + e; s > a && (s = a); this.pos = s; return t.subarray(i, s); };
  765. Stream.prototype.getByteRange = function (e, t) { e < 0 && (e = 0); t > this.end && (t = this.end); return this.bytes.subarray(e, t); };
  766. Stream.prototype.reset = function () { this.pos = this.start; };
  767. Stream.prototype.moveStart = function () { this.start = this.pos; };
  768. Stream.prototype.makeSubStream = function (e, t, i) {
  769. if (i === void 0) { i = null; }
  770. return new Stream(this.bytes.buffer, e, t, i);
  771. };
  772. return Stream;
  773. }(BaseStream));
  774. var StringStream = /** @class */ (function (_super) {
  775. tslib_1.__extends(StringStream, _super);
  776. function StringStream(e) {
  777. return _super.call(this, stringToBytes(e)) || this;
  778. }
  779. return StringStream;
  780. }(Stream));
  781. var NullStream = /** @class */ (function (_super) {
  782. tslib_1.__extends(NullStream, _super);
  783. function NullStream() {
  784. return _super.call(this, new Uint8Array(0)) || this;
  785. }
  786. return NullStream;
  787. }(Stream));
  788. var ChunkedStream = /** @class */ (function (_super) {
  789. tslib_1.__extends(ChunkedStream, _super);
  790. function ChunkedStream(e, t, i) {
  791. var _this = _super.call(this, new Uint8Array(e), 0, e, null) || this;
  792. _this.chunkSize = t;
  793. _this._loadedChunks = new Set;
  794. _this.numChunks = Math.ceil(e / t);
  795. _this.manager = i;
  796. _this.progressiveDataLength = 0;
  797. _this.lastSuccessfulEnsureByteChunk = -1;
  798. return _this;
  799. }
  800. ChunkedStream.prototype.getMissingChunks = function () { var e = []; for (var t_17 = 0, i_15 = this.numChunks; t_17 < i_15; ++t_17)
  801. this._loadedChunks.has(t_17) || e.push(t_17); return e; };
  802. Object.defineProperty(ChunkedStream.prototype, "numChunksLoaded", {
  803. get: function () { return this._loadedChunks.size; },
  804. enumerable: false,
  805. configurable: true
  806. });
  807. Object.defineProperty(ChunkedStream.prototype, "isDataLoaded", {
  808. get: function () { return this.numChunksLoaded === this.numChunks; },
  809. enumerable: false,
  810. configurable: true
  811. });
  812. ChunkedStream.prototype.onReceiveData = function (e, t) { var i = this.chunkSize; if (e % i != 0)
  813. throw new Error("Bad begin offset: ".concat(e)); var a = e + t.byteLength; if (a % i != 0 && a !== this.bytes.length)
  814. throw new Error("Bad end offset: ".concat(a)); this.bytes.set(new Uint8Array(t), e); var s = Math.floor(e / i), r = Math.floor((a - 1) / i) + 1; for (var e_10 = s; e_10 < r; ++e_10)
  815. this._loadedChunks.add(e_10); };
  816. ChunkedStream.prototype.onReceiveProgressiveData = function (e) { var t = this.progressiveDataLength; var i = Math.floor(t / this.chunkSize); this.bytes.set(new Uint8Array(e), t); t += e.byteLength; this.progressiveDataLength = t; var a = t >= this.end ? this.numChunks : Math.floor(t / this.chunkSize); for (var e_11 = i; e_11 < a; ++e_11)
  817. this._loadedChunks.add(e_11); };
  818. ChunkedStream.prototype.ensureByte = function (e) { if (e < this.progressiveDataLength)
  819. return; var t = Math.floor(e / this.chunkSize); if (!(t > this.numChunks) && t !== this.lastSuccessfulEnsureByteChunk) {
  820. if (!this._loadedChunks.has(t))
  821. throw new MissingDataException(e, e + 1);
  822. this.lastSuccessfulEnsureByteChunk = t;
  823. } };
  824. ChunkedStream.prototype.ensureRange = function (e, t) { if (e >= t)
  825. return; if (t <= this.progressiveDataLength)
  826. return; var i = Math.floor(e / this.chunkSize); if (i > this.numChunks)
  827. return; var a = Math.min(Math.floor((t - 1) / this.chunkSize) + 1, this.numChunks); for (var s_12 = i; s_12 < a; ++s_12)
  828. if (!this._loadedChunks.has(s_12))
  829. throw new MissingDataException(e, t); };
  830. ChunkedStream.prototype.nextEmptyChunk = function (e) { var t = this.numChunks; for (var i_16 = 0; i_16 < t; ++i_16) {
  831. var a_16 = (e + i_16) % t;
  832. if (!this._loadedChunks.has(a_16))
  833. return a_16;
  834. } return null; };
  835. ChunkedStream.prototype.hasChunk = function (e) { return this._loadedChunks.has(e); };
  836. ChunkedStream.prototype.getByte = function () { var e = this.pos; if (e >= this.end)
  837. return -1; e >= this.progressiveDataLength && this.ensureByte(e); return this.bytes[this.pos++]; };
  838. ChunkedStream.prototype.getBytes = function (e) { var t = this.bytes, i = this.pos, a = this.end; if (!e) {
  839. a > this.progressiveDataLength && this.ensureRange(i, a);
  840. return t.subarray(i, a);
  841. } var s = i + e; s > a && (s = a); s > this.progressiveDataLength && this.ensureRange(i, s); this.pos = s; return t.subarray(i, s); };
  842. ChunkedStream.prototype.getByteRange = function (e, t) { e < 0 && (e = 0); t > this.end && (t = this.end); t > this.progressiveDataLength && this.ensureRange(e, t); return this.bytes.subarray(e, t); };
  843. ChunkedStream.prototype.makeSubStream = function (e, t, i) {
  844. if (i === void 0) { i = null; }
  845. t ? e + t > this.progressiveDataLength && this.ensureRange(e, e + t) : e >= this.progressiveDataLength && this.ensureByte(e);
  846. function ChunkedStreamSubstream() { }
  847. ChunkedStreamSubstream.prototype = Object.create(this);
  848. ChunkedStreamSubstream.prototype.getMissingChunks = function () { var e = this.chunkSize, t = Math.floor(this.start / e), i = Math.floor((this.end - 1) / e) + 1, a = []; for (var e_12 = t; e_12 < i; ++e_12)
  849. this._loadedChunks.has(e_12) || a.push(e_12); return a; };
  850. Object.defineProperty(ChunkedStreamSubstream.prototype, "isDataLoaded", { get: function () { return this.numChunksLoaded === this.numChunks || 0 === this.getMissingChunks().length; }, configurable: !0 });
  851. var a = new ChunkedStreamSubstream;
  852. a.pos = a.start = e;
  853. a.end = e + t || this.end;
  854. a.dict = i;
  855. return a;
  856. };
  857. ChunkedStream.prototype.getBaseStreams = function () { return [this]; };
  858. return ChunkedStream;
  859. }(Stream));
  860. var ChunkedStreamManager = /** @class */ (function () {
  861. function ChunkedStreamManager(e, t) {
  862. this.length = t.length;
  863. this.chunkSize = t.rangeChunkSize;
  864. this.stream = new ChunkedStream(this.length, this.chunkSize, this);
  865. this.pdfNetworkStream = e;
  866. this.disableAutoFetch = t.disableAutoFetch;
  867. this.msgHandler = t.msgHandler;
  868. this.currRequestId = 0;
  869. this._chunksNeededByRequest = new Map;
  870. this._requestsByChunk = new Map;
  871. this._promisesByRequest = new Map;
  872. this.progressiveDataLength = 0;
  873. this.aborted = !1;
  874. this._loadedStreamCapability = Promise.withResolvers();
  875. }
  876. ChunkedStreamManager.prototype.sendRequest = function (e, t) {
  877. var _this = this;
  878. var i = this.pdfNetworkStream.getRangeReader(e, t);
  879. i.isStreamingSupported || (i.onProgress = this.onProgress.bind(this));
  880. var a = [], s = 0;
  881. return new Promise((function (e, t) { var readChunk = function (_b) {
  882. var r = _b.value, n = _b.done;
  883. try {
  884. if (n) {
  885. var t_18 = arrayBuffersToBytes(a);
  886. a = null;
  887. e(t_18);
  888. return;
  889. }
  890. s += r.byteLength;
  891. i.isStreamingSupported && _this.onProgress({ loaded: s });
  892. a.push(r);
  893. i.read().then(readChunk, t);
  894. }
  895. catch (e) {
  896. t(e);
  897. }
  898. }; i.read().then(readChunk, t); })).then((function (t) { _this.aborted || _this.onReceiveData({ chunk: t, begin: e }); }));
  899. };
  900. ChunkedStreamManager.prototype.requestAllChunks = function (e) {
  901. if (e === void 0) { e = !1; }
  902. if (!e) {
  903. var e_13 = this.stream.getMissingChunks();
  904. this._requestChunks(e_13);
  905. }
  906. return this._loadedStreamCapability.promise;
  907. };
  908. ChunkedStreamManager.prototype._requestChunks = function (e) {
  909. var _this = this;
  910. var t = this.currRequestId++, i = new Set;
  911. this._chunksNeededByRequest.set(t, i);
  912. for (var _b = 0, e_14 = e; _b < e_14.length; _b++) {
  913. var t_19 = e_14[_b];
  914. this.stream.hasChunk(t_19) || i.add(t_19);
  915. }
  916. if (0 === i.size)
  917. return Promise.resolve();
  918. var a = Promise.withResolvers();
  919. this._promisesByRequest.set(t, a);
  920. var s = [];
  921. for (var _f = 0, i_17 = i; _f < i_17.length; _f++) {
  922. var e_16 = i_17[_f];
  923. var i_18 = this._requestsByChunk.get(e_16);
  924. if (!i_18) {
  925. i_18 = [];
  926. this._requestsByChunk.set(e_16, i_18);
  927. s.push(e_16);
  928. }
  929. i_18.push(t);
  930. }
  931. if (s.length > 0) {
  932. var e_17 = this.groupChunks(s);
  933. for (var _g = 0, e_15 = e_17; _g < e_15.length; _g++) {
  934. var t_20 = e_15[_g];
  935. var e_18 = t_20.beginChunk * this.chunkSize, i_19 = Math.min(t_20.endChunk * this.chunkSize, this.length);
  936. this.sendRequest(e_18, i_19).catch(a.reject);
  937. }
  938. }
  939. return a.promise.catch((function (e) { if (!_this.aborted)
  940. throw e; }));
  941. };
  942. ChunkedStreamManager.prototype.getStream = function () { return this.stream; };
  943. ChunkedStreamManager.prototype.requestRange = function (e, t) { t = Math.min(t, this.length); var i = this.getBeginChunk(e), a = this.getEndChunk(t), s = []; for (var e_19 = i; e_19 < a; ++e_19)
  944. s.push(e_19); return this._requestChunks(s); };
  945. ChunkedStreamManager.prototype.requestRanges = function (e) {
  946. if (e === void 0) { e = []; }
  947. var t = [];
  948. for (var _b = 0, e_20 = e; _b < e_20.length; _b++) {
  949. var i_20 = e_20[_b];
  950. var e_21 = this.getBeginChunk(i_20.begin), a_17 = this.getEndChunk(i_20.end);
  951. for (var i_21 = e_21; i_21 < a_17; ++i_21)
  952. t.includes(i_21) || t.push(i_21);
  953. }
  954. t.sort((function (e, t) { return e - t; }));
  955. return this._requestChunks(t);
  956. };
  957. ChunkedStreamManager.prototype.groupChunks = function (e) { var t = []; var i = -1, a = -1; for (var s_13 = 0, r_5 = e.length; s_13 < r_5; ++s_13) {
  958. var r_6 = e[s_13];
  959. i < 0 && (i = r_6);
  960. if (a >= 0 && a + 1 !== r_6) {
  961. t.push({ beginChunk: i, endChunk: a + 1 });
  962. i = r_6;
  963. }
  964. s_13 + 1 === e.length && t.push({ beginChunk: i, endChunk: r_6 + 1 });
  965. a = r_6;
  966. } return t; };
  967. ChunkedStreamManager.prototype.onProgress = function (e) { this.msgHandler.send("DocProgress", { loaded: this.stream.numChunksLoaded * this.chunkSize + e.loaded, total: this.length }); };
  968. ChunkedStreamManager.prototype.onReceiveData = function (e) { var t = e.chunk, i = void 0 === e.begin, a = i ? this.progressiveDataLength : e.begin, s = a + t.byteLength, r = Math.floor(a / this.chunkSize), n = s < this.length ? Math.floor(s / this.chunkSize) : Math.ceil(s / this.chunkSize); if (i) {
  969. this.stream.onReceiveProgressiveData(t);
  970. this.progressiveDataLength = s;
  971. }
  972. else
  973. this.stream.onReceiveData(a, t); this.stream.isDataLoaded && this._loadedStreamCapability.resolve(this.stream); var o = []; for (var e_22 = r; e_22 < n; ++e_22) {
  974. var t_22 = this._requestsByChunk.get(e_22);
  975. if (t_22) {
  976. this._requestsByChunk.delete(e_22);
  977. for (var _b = 0, t_21 = t_22; _b < t_21.length; _b++) {
  978. var i_22 = t_21[_b];
  979. var t_23 = this._chunksNeededByRequest.get(i_22);
  980. t_23.has(e_22) && t_23.delete(e_22);
  981. t_23.size > 0 || o.push(i_22);
  982. }
  983. }
  984. } if (!this.disableAutoFetch && 0 === this._requestsByChunk.size) {
  985. var e_23;
  986. if (1 === this.stream.numChunksLoaded) {
  987. var t_24 = this.stream.numChunks - 1;
  988. this.stream.hasChunk(t_24) || (e_23 = t_24);
  989. }
  990. else
  991. e_23 = this.stream.nextEmptyChunk(n);
  992. Number.isInteger(e_23) && this._requestChunks([e_23]);
  993. } for (var _f = 0, o_1 = o; _f < o_1.length; _f++) {
  994. var e_24 = o_1[_f];
  995. var t_25 = this._promisesByRequest.get(e_24);
  996. this._promisesByRequest.delete(e_24);
  997. t_25.resolve();
  998. } this.msgHandler.send("DocProgress", { loaded: this.stream.numChunksLoaded * this.chunkSize, total: this.length }); };
  999. ChunkedStreamManager.prototype.onError = function (e) { this._loadedStreamCapability.reject(e); };
  1000. ChunkedStreamManager.prototype.getBeginChunk = function (e) { return Math.floor(e / this.chunkSize); };
  1001. ChunkedStreamManager.prototype.getEndChunk = function (e) { return Math.floor((e - 1) / this.chunkSize) + 1; };
  1002. ChunkedStreamManager.prototype.abort = function (e) { var _b; this.aborted = !0; (_b = this.pdfNetworkStream) === null || _b === void 0 ? void 0 : _b.cancelAllRequests(e); for (var _f = 0, _g = this._promisesByRequest.values(); _f < _g.length; _f++) {
  1003. var t_26 = _g[_f];
  1004. t_26.reject(e);
  1005. } };
  1006. return ChunkedStreamManager;
  1007. }());
  1008. var ColorSpace = /** @class */ (function () {
  1009. function ColorSpace(e, t) {
  1010. this.constructor === ColorSpace && unreachable("Cannot initialize ColorSpace.");
  1011. this.name = e;
  1012. this.numComps = t;
  1013. }
  1014. ColorSpace.prototype.getRgb = function (e, t) { var i = new Uint8ClampedArray(3); this.getRgbItem(e, t, i, 0); return i; };
  1015. ColorSpace.prototype.getRgbItem = function (e, t, i, a) { unreachable("Should not call ColorSpace.getRgbItem"); };
  1016. ColorSpace.prototype.getRgbBuffer = function (e, t, i, a, s, r, n) { unreachable("Should not call ColorSpace.getRgbBuffer"); };
  1017. ColorSpace.prototype.getOutputLength = function (e, t) { unreachable("Should not call ColorSpace.getOutputLength"); };
  1018. ColorSpace.prototype.isPassthrough = function (e) { return !1; };
  1019. ColorSpace.prototype.isDefaultDecode = function (e, t) { return ColorSpace.isDefaultDecode(e, this.numComps); };
  1020. ColorSpace.prototype.fillRgb = function (e, t, i, a, s, r, n, o, g) { var c = t * i; var h = null; var l = 1 << n, C = i !== s || t !== a; if (this.isPassthrough(n))
  1021. h = o;
  1022. else if (1 === this.numComps && c > l && "DeviceGray" !== this.name && "DeviceRGB" !== this.name) {
  1023. var t_27 = n <= 8 ? new Uint8Array(l) : new Uint16Array(l);
  1024. for (var e_25 = 0; e_25 < l; e_25++)
  1025. t_27[e_25] = e_25;
  1026. var i_23 = new Uint8ClampedArray(3 * l);
  1027. this.getRgbBuffer(t_27, 0, l, i_23, 0, n, 0);
  1028. if (C) {
  1029. h = new Uint8Array(3 * c);
  1030. var e_26 = 0;
  1031. for (var t_28 = 0; t_28 < c; ++t_28) {
  1032. var a_18 = 3 * o[t_28];
  1033. h[e_26++] = i_23[a_18];
  1034. h[e_26++] = i_23[a_18 + 1];
  1035. h[e_26++] = i_23[a_18 + 2];
  1036. }
  1037. }
  1038. else {
  1039. var t_29 = 0;
  1040. for (var a_19 = 0; a_19 < c; ++a_19) {
  1041. var s_14 = 3 * o[a_19];
  1042. e[t_29++] = i_23[s_14];
  1043. e[t_29++] = i_23[s_14 + 1];
  1044. e[t_29++] = i_23[s_14 + 2];
  1045. t_29 += g;
  1046. }
  1047. }
  1048. }
  1049. else if (C) {
  1050. h = new Uint8ClampedArray(3 * c);
  1051. this.getRgbBuffer(o, 0, c, h, 0, n, 0);
  1052. }
  1053. else
  1054. this.getRgbBuffer(o, 0, a * r, e, 0, n, g); if (h)
  1055. if (C)
  1056. !function resizeRgbImage(e, t, i, a, s, r, n) { n = 1 !== n ? 0 : n; var o = i / s, g = a / r; var c, h = 0; var l = new Uint16Array(s), C = 3 * i; for (var e_27 = 0; e_27 < s; e_27++)
  1057. l[e_27] = 3 * Math.floor(e_27 * o); for (var i_24 = 0; i_24 < r; i_24++) {
  1058. var a_20 = Math.floor(i_24 * g) * C;
  1059. for (var i_25 = 0; i_25 < s; i_25++) {
  1060. c = a_20 + l[i_25];
  1061. t[h++] = e[c++];
  1062. t[h++] = e[c++];
  1063. t[h++] = e[c++];
  1064. h += n;
  1065. }
  1066. } }(h, e, t, i, a, s, g);
  1067. else {
  1068. var t_30 = 0, i_26 = 0;
  1069. for (var s_15 = 0, n_4 = a * r; s_15 < n_4; s_15++) {
  1070. e[t_30++] = h[i_26++];
  1071. e[t_30++] = h[i_26++];
  1072. e[t_30++] = h[i_26++];
  1073. t_30 += g;
  1074. }
  1075. } };
  1076. Object.defineProperty(ColorSpace.prototype, "usesZeroToOneRange", {
  1077. get: function () { return shadow(this, "usesZeroToOneRange", !0); },
  1078. enumerable: false,
  1079. configurable: true
  1080. });
  1081. ColorSpace._cache = function (e, t, i, a) { if (!i)
  1082. throw new Error('ColorSpace._cache - expected "localColorSpaceCache" argument.'); if (!a)
  1083. throw new Error('ColorSpace._cache - expected "parsedColorSpace" argument.'); var s, r; if (e instanceof Ref) {
  1084. r = e;
  1085. e = t.fetch(e);
  1086. } e instanceof Name && (s = e.name); (s || r) && i.set(s, r, a); };
  1087. ColorSpace.getCached = function (e, t, i) { if (!i)
  1088. throw new Error('ColorSpace.getCached - expected "localColorSpaceCache" argument.'); if (e instanceof Ref) {
  1089. var a_21 = i.getByRef(e);
  1090. if (a_21)
  1091. return a_21;
  1092. try {
  1093. e = t.fetch(e);
  1094. }
  1095. catch (e) {
  1096. if (e instanceof MissingDataException)
  1097. throw e;
  1098. }
  1099. } if (e instanceof Name) {
  1100. var t_31 = i.getByName(e.name);
  1101. if (t_31)
  1102. return t_31;
  1103. } return null; };
  1104. ColorSpace.parseAsync = function (_b) {
  1105. var e = _b.cs, t = _b.xref, _f = _b.resources, i = _f === void 0 ? null : _f, a = _b.pdfFunctionFactory, s = _b.localColorSpaceCache;
  1106. return tslib_1.__awaiter(this, void 0, void 0, function () { var r; return tslib_1.__generator(this, function (_g) {
  1107. r = this._parse(e, t, i, a);
  1108. this._cache(e, t, s, r);
  1109. return [2 /*return*/, r];
  1110. }); });
  1111. };
  1112. ColorSpace.parse = function (_b) {
  1113. var e = _b.cs, t = _b.xref, _f = _b.resources, i = _f === void 0 ? null : _f, a = _b.pdfFunctionFactory, s = _b.localColorSpaceCache;
  1114. var r = this.getCached(e, t, s);
  1115. if (r)
  1116. return r;
  1117. var n = this._parse(e, t, i, a);
  1118. this._cache(e, t, s, n);
  1119. return n;
  1120. };
  1121. ColorSpace._parse = function (e, t, i, a) {
  1122. if (i === void 0) { i = null; }
  1123. if ((e = t.fetchIfRef(e)) instanceof Name)
  1124. switch (e.name) {
  1125. case "G":
  1126. case "DeviceGray": return this.singletons.gray;
  1127. case "RGB":
  1128. case "DeviceRGB": return this.singletons.rgb;
  1129. case "CMYK":
  1130. case "DeviceCMYK": return this.singletons.cmyk;
  1131. case "Pattern": return new PatternCS(null);
  1132. default:
  1133. if (i instanceof Dict) {
  1134. var s_16 = i.get("ColorSpace");
  1135. if (s_16 instanceof Dict) {
  1136. var r_7 = s_16.get(e.name);
  1137. if (r_7) {
  1138. if (r_7 instanceof Name)
  1139. return this._parse(r_7, t, i, a);
  1140. e = r_7;
  1141. break;
  1142. }
  1143. }
  1144. }
  1145. throw new FormatError("Unrecognized ColorSpace: ".concat(e.name));
  1146. }
  1147. if (Array.isArray(e)) {
  1148. var s_17 = t.fetchIfRef(e[0]).name;
  1149. var r_8, n_5, o_2, g_1, c_1, h_1;
  1150. switch (s_17) {
  1151. case "G":
  1152. case "DeviceGray": return this.singletons.gray;
  1153. case "RGB":
  1154. case "DeviceRGB": return this.singletons.rgb;
  1155. case "CMYK":
  1156. case "DeviceCMYK": return this.singletons.cmyk;
  1157. case "CalGray":
  1158. r_8 = t.fetchIfRef(e[1]);
  1159. g_1 = r_8.getArray("WhitePoint");
  1160. c_1 = r_8.getArray("BlackPoint");
  1161. h_1 = r_8.get("Gamma");
  1162. return new CalGrayCS(g_1, c_1, h_1);
  1163. case "CalRGB":
  1164. r_8 = t.fetchIfRef(e[1]);
  1165. g_1 = r_8.getArray("WhitePoint");
  1166. c_1 = r_8.getArray("BlackPoint");
  1167. h_1 = r_8.getArray("Gamma");
  1168. var l_1 = r_8.getArray("Matrix");
  1169. return new CalRGBCS(g_1, c_1, h_1, l_1);
  1170. case "ICCBased":
  1171. var C_1 = t.fetchIfRef(e[1]).dict;
  1172. n_5 = C_1.get("N");
  1173. var Q_1 = C_1.get("Alternate");
  1174. if (Q_1) {
  1175. var e_28 = this._parse(Q_1, t, i, a);
  1176. if (e_28.numComps === n_5)
  1177. return e_28;
  1178. warn("ICCBased color space: Ignoring incorrect /Alternate entry.");
  1179. }
  1180. if (1 === n_5)
  1181. return this.singletons.gray;
  1182. if (3 === n_5)
  1183. return this.singletons.rgb;
  1184. if (4 === n_5)
  1185. return this.singletons.cmyk;
  1186. break;
  1187. case "Pattern":
  1188. o_2 = e[1] || null;
  1189. o_2 && (o_2 = this._parse(o_2, t, i, a));
  1190. return new PatternCS(o_2);
  1191. case "I":
  1192. case "Indexed":
  1193. o_2 = this._parse(e[1], t, i, a);
  1194. var E_1 = t.fetchIfRef(e[2]) + 1, u_1 = t.fetchIfRef(e[3]);
  1195. return new IndexedCS(o_2, E_1, u_1);
  1196. case "Separation":
  1197. case "DeviceN":
  1198. var d_1 = t.fetchIfRef(e[1]);
  1199. n_5 = Array.isArray(d_1) ? d_1.length : 1;
  1200. o_2 = this._parse(e[2], t, i, a);
  1201. var f_1 = a.create(e[3]);
  1202. return new AlternateCS(n_5, o_2, f_1);
  1203. case "Lab":
  1204. r_8 = t.fetchIfRef(e[1]);
  1205. g_1 = r_8.getArray("WhitePoint");
  1206. c_1 = r_8.getArray("BlackPoint");
  1207. var p_1 = r_8.getArray("Range");
  1208. return new LabCS(g_1, c_1, p_1);
  1209. default: throw new FormatError("Unimplemented ColorSpace object: ".concat(s_17));
  1210. }
  1211. }
  1212. throw new FormatError("Unrecognized ColorSpace object: ".concat(e));
  1213. };
  1214. ColorSpace.isDefaultDecode = function (e, t) { if (!Array.isArray(e))
  1215. return !0; if (2 * t !== e.length) {
  1216. warn("The decode map is not the correct length");
  1217. return !0;
  1218. } for (var t_32 = 0, i_27 = e.length; t_32 < i_27; t_32 += 2)
  1219. if (0 !== e[t_32] || 1 !== e[t_32 + 1])
  1220. return !1; return !0; };
  1221. Object.defineProperty(ColorSpace, "singletons", {
  1222. get: function () { return shadow(this, "singletons", { get gray() { return shadow(this, "gray", new DeviceGrayCS); }, get rgb() { return shadow(this, "rgb", new DeviceRgbCS); }, get cmyk() { return shadow(this, "cmyk", new DeviceCmykCS); } }); },
  1223. enumerable: false,
  1224. configurable: true
  1225. });
  1226. return ColorSpace;
  1227. }());
  1228. var AlternateCS = /** @class */ (function (_super) {
  1229. tslib_1.__extends(AlternateCS, _super);
  1230. function AlternateCS(e, t, i) {
  1231. var _this = _super.call(this, "Alternate", e) || this;
  1232. _this.base = t;
  1233. _this.tintFn = i;
  1234. _this.tmpBuf = new Float32Array(t.numComps);
  1235. return _this;
  1236. }
  1237. AlternateCS.prototype.getRgbItem = function (e, t, i, a) { var s = this.tmpBuf; this.tintFn(e, t, s, 0); this.base.getRgbItem(s, 0, i, a); };
  1238. AlternateCS.prototype.getRgbBuffer = function (e, t, i, a, s, r, n) { var o = this.tintFn, g = this.base, c = 1 / ((1 << r) - 1), h = g.numComps, l = g.usesZeroToOneRange, C = (g.isPassthrough(8) || !l) && 0 === n; var Q = C ? s : 0; var E = C ? a : new Uint8ClampedArray(h * i), u = this.numComps, d = new Float32Array(u), f = new Float32Array(h); var p, m; for (p = 0; p < i; p++) {
  1239. for (m = 0; m < u; m++)
  1240. d[m] = e[t++] * c;
  1241. o(d, 0, f, 0);
  1242. if (l)
  1243. for (m = 0; m < h; m++)
  1244. E[Q++] = 255 * f[m];
  1245. else {
  1246. g.getRgbItem(f, 0, E, Q);
  1247. Q += h;
  1248. }
  1249. } C || g.getRgbBuffer(E, 0, i, a, s, 8, n); };
  1250. AlternateCS.prototype.getOutputLength = function (e, t) { return this.base.getOutputLength(e * this.base.numComps / this.numComps, t); };
  1251. return AlternateCS;
  1252. }(ColorSpace));
  1253. var PatternCS = /** @class */ (function (_super) {
  1254. tslib_1.__extends(PatternCS, _super);
  1255. function PatternCS(e) {
  1256. var _this = _super.call(this, "Pattern", null) || this;
  1257. _this.base = e;
  1258. return _this;
  1259. }
  1260. PatternCS.prototype.isDefaultDecode = function (e, t) { unreachable("Should not call PatternCS.isDefaultDecode"); };
  1261. return PatternCS;
  1262. }(ColorSpace));
  1263. var IndexedCS = /** @class */ (function (_super) {
  1264. tslib_1.__extends(IndexedCS, _super);
  1265. function IndexedCS(e, t, i) {
  1266. var _this = _super.call(this, "Indexed", 1) || this;
  1267. _this.base = e;
  1268. _this.highVal = t;
  1269. var a = e.numComps * t;
  1270. _this.lookup = new Uint8Array(a);
  1271. if (i instanceof BaseStream) {
  1272. var e_29 = i.getBytes(a);
  1273. _this.lookup.set(e_29);
  1274. }
  1275. else {
  1276. if ("string" != typeof i)
  1277. throw new FormatError("IndexedCS - unrecognized lookup table: ".concat(i));
  1278. for (var e_30 = 0; e_30 < a; ++e_30)
  1279. _this.lookup[e_30] = 255 & i.charCodeAt(e_30);
  1280. }
  1281. return _this;
  1282. }
  1283. IndexedCS.prototype.getRgbItem = function (e, t, i, a) { var s = this.base.numComps, r = e[t] * s; this.base.getRgbBuffer(this.lookup, r, 1, i, a, 8, 0); };
  1284. IndexedCS.prototype.getRgbBuffer = function (e, t, i, a, s, r, n) { var o = this.base, g = o.numComps, c = o.getOutputLength(g, n), h = this.lookup; for (var r_9 = 0; r_9 < i; ++r_9) {
  1285. var i_28 = e[t++] * g;
  1286. o.getRgbBuffer(h, i_28, 1, a, s, 8, n);
  1287. s += c;
  1288. } };
  1289. IndexedCS.prototype.getOutputLength = function (e, t) { return this.base.getOutputLength(e * this.base.numComps, t); };
  1290. IndexedCS.prototype.isDefaultDecode = function (e, t) { if (!Array.isArray(e))
  1291. return !0; if (2 !== e.length) {
  1292. warn("Decode map length is not correct");
  1293. return !0;
  1294. } if (!Number.isInteger(t) || t < 1) {
  1295. warn("Bits per component is not correct");
  1296. return !0;
  1297. } return 0 === e[0] && e[1] === (1 << t) - 1; };
  1298. return IndexedCS;
  1299. }(ColorSpace));
  1300. var DeviceGrayCS = /** @class */ (function (_super) {
  1301. tslib_1.__extends(DeviceGrayCS, _super);
  1302. function DeviceGrayCS() {
  1303. return _super.call(this, "DeviceGray", 1) || this;
  1304. }
  1305. DeviceGrayCS.prototype.getRgbItem = function (e, t, i, a) { var s = 255 * e[t]; i[a] = i[a + 1] = i[a + 2] = s; };
  1306. DeviceGrayCS.prototype.getRgbBuffer = function (e, t, i, a, s, r, n) { var o = 255 / ((1 << r) - 1); var g = t, c = s; for (var t_33 = 0; t_33 < i; ++t_33) {
  1307. var t_34 = o * e[g++];
  1308. a[c++] = t_34;
  1309. a[c++] = t_34;
  1310. a[c++] = t_34;
  1311. c += n;
  1312. } };
  1313. DeviceGrayCS.prototype.getOutputLength = function (e, t) { return e * (3 + t); };
  1314. return DeviceGrayCS;
  1315. }(ColorSpace));
  1316. var DeviceRgbCS = /** @class */ (function (_super) {
  1317. tslib_1.__extends(DeviceRgbCS, _super);
  1318. function DeviceRgbCS() {
  1319. return _super.call(this, "DeviceRGB", 3) || this;
  1320. }
  1321. DeviceRgbCS.prototype.getRgbItem = function (e, t, i, a) { i[a] = 255 * e[t]; i[a + 1] = 255 * e[t + 1]; i[a + 2] = 255 * e[t + 2]; };
  1322. DeviceRgbCS.prototype.getRgbBuffer = function (e, t, i, a, s, r, n) { if (8 === r && 0 === n) {
  1323. a.set(e.subarray(t, t + 3 * i), s);
  1324. return;
  1325. } var o = 255 / ((1 << r) - 1); var g = t, c = s; for (var t_35 = 0; t_35 < i; ++t_35) {
  1326. a[c++] = o * e[g++];
  1327. a[c++] = o * e[g++];
  1328. a[c++] = o * e[g++];
  1329. c += n;
  1330. } };
  1331. DeviceRgbCS.prototype.getOutputLength = function (e, t) { return e * (3 + t) / 3 | 0; };
  1332. DeviceRgbCS.prototype.isPassthrough = function (e) { return 8 === e; };
  1333. return DeviceRgbCS;
  1334. }(ColorSpace));
  1335. var DeviceCmykCS = /** @class */ (function (_super) {
  1336. tslib_1.__extends(DeviceCmykCS, _super);
  1337. function DeviceCmykCS() {
  1338. var _this = _super.call(this, "DeviceCMYK", 4) || this;
  1339. _DeviceCmykCS_instances.add(_this);
  1340. return _this;
  1341. }
  1342. DeviceCmykCS.prototype.getRgbItem = function (e, t, i, a) { tslib_1.__classPrivateFieldGet(this, _DeviceCmykCS_instances, "m", _DeviceCmykCS_t).call(this, e, t, 1, i, a); };
  1343. DeviceCmykCS.prototype.getRgbBuffer = function (e, t, i, a, s, r, n) { var o = 1 / ((1 << r) - 1); for (var r_10 = 0; r_10 < i; r_10++) {
  1344. tslib_1.__classPrivateFieldGet(this, _DeviceCmykCS_instances, "m", _DeviceCmykCS_t).call(this, e, t, o, a, s);
  1345. t += 4;
  1346. s += 3 + n;
  1347. } };
  1348. DeviceCmykCS.prototype.getOutputLength = function (e, t) { return e / 4 * (3 + t) | 0; };
  1349. return DeviceCmykCS;
  1350. }(ColorSpace));
  1351. _DeviceCmykCS_instances = new WeakSet(), _DeviceCmykCS_t = function _DeviceCmykCS_t(e, t, i, a, s) { var r = e[t] * i, n = e[t + 1] * i, o = e[t + 2] * i, g = e[t + 3] * i; a[s] = 255 + r * (-4.387332384609988 * r + 54.48615194189176 * n + 18.82290502165302 * o + 212.25662451639585 * g - 285.2331026137004) + n * (1.7149763477362134 * n - 5.6096736904047315 * o + -17.873870861415444 * g - 5.497006427196366) + o * (-2.5217340131683033 * o - 21.248923337353073 * g + 17.5119270841813) + g * (-21.86122147463605 * g - 189.48180835922747); a[s + 1] = 255 + r * (8.841041422036149 * r + 60.118027045597366 * n + 6.871425592049007 * o + 31.159100130055922 * g - 79.2970844816548) + n * (-15.310361306967817 * n + 17.575251261109482 * o + 131.35250912493976 * g - 190.9453302588951) + o * (4.444339102852739 * o + 9.8632861493405 * g - 24.86741582555878) + g * (-20.737325471181034 * g - 187.80453709719578); a[s + 2] = 255 + r * (.8842522430003296 * r + 8.078677503112928 * n + 30.89978309703729 * o - .23883238689178934 * g - 14.183576799673286) + n * (10.49593273432072 * n + 63.02378494754052 * o + 50.606957656360734 * g - 112.23884253719248) + o * (.03296041114873217 * o + 115.60384449646641 * g - 193.58209356861505) + g * (-22.33816807309886 * g - 180.12613974708367); };
  1352. var CalGrayCS = /** @class */ (function (_super) {
  1353. tslib_1.__extends(CalGrayCS, _super);
  1354. function CalGrayCS(e, t, i) {
  1355. var _b;
  1356. var _this = _super.call(this, "CalGray", 1) || this;
  1357. _CalGrayCS_instances.add(_this);
  1358. if (!e)
  1359. throw new FormatError("WhitePoint missing - required for color space CalGray");
  1360. _this.XW = e[0], _this.YW = e[1], _this.ZW = e[2];
  1361. _b = t || [0, 0, 0], _this.XB = _b[0], _this.YB = _b[1], _this.ZB = _b[2];
  1362. _this.G = i || 1;
  1363. if (_this.XW < 0 || _this.ZW < 0 || 1 !== _this.YW)
  1364. throw new FormatError("Invalid WhitePoint components for ".concat(_this.name, ", no fallback available"));
  1365. if (_this.XB < 0 || _this.YB < 0 || _this.ZB < 0) {
  1366. info("Invalid BlackPoint for ".concat(_this.name, ", falling back to default."));
  1367. _this.XB = _this.YB = _this.ZB = 0;
  1368. }
  1369. 0 === _this.XB && 0 === _this.YB && 0 === _this.ZB || warn("".concat(_this.name, ", BlackPoint: XB: ").concat(_this.XB, ", YB: ").concat(_this.YB, ", ZB: ").concat(_this.ZB, ", only default values are supported."));
  1370. if (_this.G < 1) {
  1371. info("Invalid Gamma: ".concat(_this.G, " for ").concat(_this.name, ", falling back to default."));
  1372. _this.G = 1;
  1373. }
  1374. return _this;
  1375. }
  1376. CalGrayCS.prototype.getRgbItem = function (e, t, i, a) { tslib_1.__classPrivateFieldGet(this, _CalGrayCS_instances, "m", _CalGrayCS_t).call(this, e, t, i, a, 1); };
  1377. CalGrayCS.prototype.getRgbBuffer = function (e, t, i, a, s, r, n) { var o = 1 / ((1 << r) - 1); for (var r_11 = 0; r_11 < i; ++r_11) {
  1378. tslib_1.__classPrivateFieldGet(this, _CalGrayCS_instances, "m", _CalGrayCS_t).call(this, e, t, a, s, o);
  1379. t += 1;
  1380. s += 3 + n;
  1381. } };
  1382. CalGrayCS.prototype.getOutputLength = function (e, t) { return e * (3 + t); };
  1383. return CalGrayCS;
  1384. }(ColorSpace));
  1385. _CalGrayCS_instances = new WeakSet(), _CalGrayCS_t = function _CalGrayCS_t(e, t, i, a, s) { var r = Math.pow((e[t] * s), this.G), n = this.YW * r, o = Math.max(295.8 * Math.pow(n, .3333333333333333) - 40.8, 0); i[a] = o; i[a + 1] = o; i[a + 2] = o; };
  1386. var CalRGBCS = /** @class */ (function (_super) {
  1387. tslib_1.__extends(CalRGBCS, _super);
  1388. function CalRGBCS(e, t, i, a) {
  1389. var _b, _g;
  1390. var _this = _super.call(this, "CalRGB", 3) || this;
  1391. _CalRGBCS_instances.add(_this);
  1392. if (!e)
  1393. throw new FormatError("WhitePoint missing - required for color space CalRGB");
  1394. var _h = _this.whitePoint = e, s = _h[0], r = _h[1], n = _h[2], _j = _this.blackPoint = t || new Float32Array(3), o = _j[0], g = _j[1], c = _j[2];
  1395. _b = i || new Float32Array([1, 1, 1]), _this.GR = _b[0], _this.GG = _b[1], _this.GB = _b[2];
  1396. _g = a || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]), _this.MXA = _g[0], _this.MYA = _g[1], _this.MZA = _g[2], _this.MXB = _g[3], _this.MYB = _g[4], _this.MZB = _g[5], _this.MXC = _g[6], _this.MYC = _g[7], _this.MZC = _g[8];
  1397. if (s < 0 || n < 0 || 1 !== r)
  1398. throw new FormatError("Invalid WhitePoint components for ".concat(_this.name, ", no fallback available"));
  1399. if (o < 0 || g < 0 || c < 0) {
  1400. info("Invalid BlackPoint for ".concat(_this.name, " [").concat(o, ", ").concat(g, ", ").concat(c, "], falling back to default."));
  1401. _this.blackPoint = new Float32Array(3);
  1402. }
  1403. if (_this.GR < 0 || _this.GG < 0 || _this.GB < 0) {
  1404. info("Invalid Gamma [".concat(_this.GR, ", ").concat(_this.GG, ", ").concat(_this.GB, "] for ").concat(_this.name, ", falling back to default."));
  1405. _this.GR = _this.GG = _this.GB = 1;
  1406. }
  1407. return _this;
  1408. }
  1409. CalRGBCS.prototype.getRgbItem = function (e, t, i, a) { tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_t).call(this, e, t, i, a, 1); };
  1410. CalRGBCS.prototype.getRgbBuffer = function (e, t, i, a, s, r, n) { var o = 1 / ((1 << r) - 1); for (var r_12 = 0; r_12 < i; ++r_12) {
  1411. tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_t).call(this, e, t, a, s, o);
  1412. t += 3;
  1413. s += 3 + n;
  1414. } };
  1415. CalRGBCS.prototype.getOutputLength = function (e, t) { return e * (3 + t) / 3 | 0; };
  1416. var _CalRGBCS_instances, _f, _CalRGBCS_i, _CalRGBCS_a, _CalRGBCS_s, _CalRGBCS_r, _CalRGBCS_n, _CalRGBCS_o, _CalRGBCS_g, _CalRGBCS_I, _CalRGBCS_c, _CalRGBCS_h, _CalRGBCS_l, _CalRGBCS_C, _CalRGBCS_B, _CalRGBCS_Q, _CalRGBCS_E, _CalRGBCS_u, _CalRGBCS_d, _CalRGBCS_t;
  1417. _f = CalRGBCS, _CalRGBCS_instances = new WeakSet(), _CalRGBCS_c = function _CalRGBCS_c(e, t, i) { i[0] = e[0] * t[0] + e[1] * t[1] + e[2] * t[2]; i[1] = e[3] * t[0] + e[4] * t[1] + e[5] * t[2]; i[2] = e[6] * t[0] + e[7] * t[1] + e[8] * t[2]; }, _CalRGBCS_h = function _CalRGBCS_h(e, t, i) { i[0] = 1 * t[0] / e[0]; i[1] = 1 * t[1] / e[1]; i[2] = 1 * t[2] / e[2]; }, _CalRGBCS_l = function _CalRGBCS_l(e, t, i) { i[0] = .95047 * t[0] / e[0]; i[1] = 1 * t[1] / e[1]; i[2] = 1.08883 * t[2] / e[2]; }, _CalRGBCS_C = function _CalRGBCS_C(e) { return e <= .0031308 ? tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_B).call(this, 0, 1, 12.92 * e) : e >= .99554525 ? 1 : tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_B).call(this, 0, 1, 1.055 * Math.pow(e, (1 / 2.4)) - .055); }, _CalRGBCS_B = function _CalRGBCS_B(e, t, i) { return Math.max(e, Math.min(t, i)); }, _CalRGBCS_Q = function _CalRGBCS_Q(e) { return e < 0 ? -tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_Q).call(this, -e) : e > 8 ? Math.pow(((e + 16) / 116), 3) : e * tslib_1.__classPrivateFieldGet(CalRGBCS, _f, "f", _CalRGBCS_I); }, _CalRGBCS_E = function _CalRGBCS_E(e, t, i) { if (0 === e[0] && 0 === e[1] && 0 === e[2]) {
  1418. i[0] = t[0];
  1419. i[1] = t[1];
  1420. i[2] = t[2];
  1421. return;
  1422. } var a = tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_Q).call(this, 0), s = (1 - a) / (1 - tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_Q).call(this, e[0])), r = 1 - s, n = (1 - a) / (1 - tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_Q).call(this, e[1])), o = 1 - n, g = (1 - a) / (1 - tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_Q).call(this, e[2])), c = 1 - g; i[0] = t[0] * s + r; i[1] = t[1] * n + o; i[2] = t[2] * g + c; }, _CalRGBCS_u = function _CalRGBCS_u(e, t, i) { if (1 === e[0] && 1 === e[2]) {
  1423. i[0] = t[0];
  1424. i[1] = t[1];
  1425. i[2] = t[2];
  1426. return;
  1427. } var a = i; tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_c).call(this, tslib_1.__classPrivateFieldGet(CalRGBCS, _f, "f", _CalRGBCS_i), t, a); var s = tslib_1.__classPrivateFieldGet(CalRGBCS, _f, "f", _CalRGBCS_n); tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_h).call(this, e, a, s); tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_c).call(this, tslib_1.__classPrivateFieldGet(CalRGBCS, _f, "f", _CalRGBCS_a), s, i); }, _CalRGBCS_d = function _CalRGBCS_d(e, t, i) { var a = i; tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_c).call(this, tslib_1.__classPrivateFieldGet(CalRGBCS, _f, "f", _CalRGBCS_i), t, a); var s = tslib_1.__classPrivateFieldGet(CalRGBCS, _f, "f", _CalRGBCS_n); tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_l).call(this, e, a, s); tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_c).call(this, tslib_1.__classPrivateFieldGet(CalRGBCS, _f, "f", _CalRGBCS_a), s, i); }, _CalRGBCS_t = function _CalRGBCS_t(e, t, i, a, s) { var r = tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_B).call(this, 0, 1, e[t] * s), n = tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_B).call(this, 0, 1, e[t + 1] * s), o = tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_B).call(this, 0, 1, e[t + 2] * s), g = 1 === r ? 1 : Math.pow(r, this.GR), c = 1 === n ? 1 : Math.pow(n, this.GG), h = 1 === o ? 1 : Math.pow(o, this.GB), l = this.MXA * g + this.MXB * c + this.MXC * h, C = this.MYA * g + this.MYB * c + this.MYC * h, Q = this.MZA * g + this.MZB * c + this.MZC * h, E = tslib_1.__classPrivateFieldGet(CalRGBCS, _f, "f", _CalRGBCS_o); E[0] = l; E[1] = C; E[2] = Q; var u = tslib_1.__classPrivateFieldGet(CalRGBCS, _f, "f", _CalRGBCS_g); tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_u).call(this, this.whitePoint, E, u); var d = tslib_1.__classPrivateFieldGet(CalRGBCS, _f, "f", _CalRGBCS_o); tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_E).call(this, this.blackPoint, u, d); var f = tslib_1.__classPrivateFieldGet(CalRGBCS, _f, "f", _CalRGBCS_g); tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_d).call(this, tslib_1.__classPrivateFieldGet(CalRGBCS, _f, "f", _CalRGBCS_r), d, f); var p = tslib_1.__classPrivateFieldGet(CalRGBCS, _f, "f", _CalRGBCS_o); tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_c).call(this, tslib_1.__classPrivateFieldGet(CalRGBCS, _f, "f", _CalRGBCS_s), f, p); i[a] = 255 * tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_C).call(this, p[0]); i[a + 1] = 255 * tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_C).call(this, p[1]); i[a + 2] = 255 * tslib_1.__classPrivateFieldGet(this, _CalRGBCS_instances, "m", _CalRGBCS_C).call(this, p[2]); };
  1428. _CalRGBCS_i = { value: new Float32Array([.8951, .2664, -.1614, -.7502, 1.7135, .0367, .0389, -.0685, 1.0296]) };
  1429. _CalRGBCS_a = { value: new Float32Array([.9869929, -.1470543, .1599627, .4323053, .5183603, .0492912, -.0085287, .0400428, .9684867]) };
  1430. _CalRGBCS_s = { value: new Float32Array([3.2404542, -1.5371385, -.4985314, -.969266, 1.8760108, .041556, .0556434, -.2040259, 1.0572252]) };
  1431. _CalRGBCS_r = { value: new Float32Array([1, 1, 1]) };
  1432. _CalRGBCS_n = { value: new Float32Array(3) };
  1433. _CalRGBCS_o = { value: new Float32Array(3) };
  1434. _CalRGBCS_g = { value: new Float32Array(3) };
  1435. _CalRGBCS_I = { value: Math.pow((24 / 116), 3) / 8 };
  1436. return CalRGBCS;
  1437. }(ColorSpace));
  1438. var LabCS = /** @class */ (function (_super) {
  1439. tslib_1.__extends(LabCS, _super);
  1440. function LabCS(e, t, i) {
  1441. var _b, _g;
  1442. var _this = _super.call(this, "Lab", 3) || this;
  1443. _LabCS_instances.add(_this);
  1444. if (!e)
  1445. throw new FormatError("WhitePoint missing - required for color space Lab");
  1446. _this.XW = e[0], _this.YW = e[1], _this.ZW = e[2];
  1447. _b = i || [-100, 100, -100, 100], _this.amin = _b[0], _this.amax = _b[1], _this.bmin = _b[2], _this.bmax = _b[3];
  1448. _g = t || [0, 0, 0], _this.XB = _g[0], _this.YB = _g[1], _this.ZB = _g[2];
  1449. if (_this.XW < 0 || _this.ZW < 0 || 1 !== _this.YW)
  1450. throw new FormatError("Invalid WhitePoint components, no fallback available");
  1451. if (_this.XB < 0 || _this.YB < 0 || _this.ZB < 0) {
  1452. info("Invalid BlackPoint, falling back to default");
  1453. _this.XB = _this.YB = _this.ZB = 0;
  1454. }
  1455. if (_this.amin > _this.amax || _this.bmin > _this.bmax) {
  1456. info("Invalid Range, falling back to defaults");
  1457. _this.amin = -100;
  1458. _this.amax = 100;
  1459. _this.bmin = -100;
  1460. _this.bmax = 100;
  1461. }
  1462. return _this;
  1463. }
  1464. LabCS.prototype.getRgbItem = function (e, t, i, a) { tslib_1.__classPrivateFieldGet(this, _LabCS_instances, "m", _LabCS_t).call(this, e, t, !1, i, a); };
  1465. LabCS.prototype.getRgbBuffer = function (e, t, i, a, s, r, n) { var o = (1 << r) - 1; for (var r_13 = 0; r_13 < i; r_13++) {
  1466. tslib_1.__classPrivateFieldGet(this, _LabCS_instances, "m", _LabCS_t).call(this, e, t, o, a, s);
  1467. t += 3;
  1468. s += 3 + n;
  1469. } };
  1470. LabCS.prototype.getOutputLength = function (e, t) { return e * (3 + t) / 3 | 0; };
  1471. LabCS.prototype.isDefaultDecode = function (e, t) { return !0; };
  1472. Object.defineProperty(LabCS.prototype, "usesZeroToOneRange", {
  1473. get: function () { return shadow(this, "usesZeroToOneRange", !1); },
  1474. enumerable: false,
  1475. configurable: true
  1476. });
  1477. return LabCS;
  1478. }(ColorSpace));
  1479. _LabCS_instances = new WeakSet(), _LabCS_f = function _LabCS_f(e) { return e >= 6 / 29 ? Math.pow(e, 3) : 108 / 841 * (e - 4 / 29); }, _LabCS_p = function _LabCS_p(e, t, i, a) { return i + e * (a - i) / t; }, _LabCS_t = function _LabCS_t(e, t, i, a, s) { var r = e[t], n = e[t + 1], o = e[t + 2]; if (!1 !== i) {
  1480. r = tslib_1.__classPrivateFieldGet(this, _LabCS_instances, "m", _LabCS_p).call(this, r, i, 0, 100);
  1481. n = tslib_1.__classPrivateFieldGet(this, _LabCS_instances, "m", _LabCS_p).call(this, n, i, this.amin, this.amax);
  1482. o = tslib_1.__classPrivateFieldGet(this, _LabCS_instances, "m", _LabCS_p).call(this, o, i, this.bmin, this.bmax);
  1483. } n > this.amax ? n = this.amax : n < this.amin && (n = this.amin); o > this.bmax ? o = this.bmax : o < this.bmin && (o = this.bmin); var g = (r + 16) / 116, c = g + n / 500, h = g - o / 200, l = this.XW * tslib_1.__classPrivateFieldGet(this, _LabCS_instances, "m", _LabCS_f).call(this, c), C = this.YW * tslib_1.__classPrivateFieldGet(this, _LabCS_instances, "m", _LabCS_f).call(this, g), Q = this.ZW * tslib_1.__classPrivateFieldGet(this, _LabCS_instances, "m", _LabCS_f).call(this, h); var E, u, d; if (this.ZW < 1) {
  1484. E = 3.1339 * l + -1.617 * C + -.4906 * Q;
  1485. u = -.9785 * l + 1.916 * C + .0333 * Q;
  1486. d = .072 * l + -.229 * C + 1.4057 * Q;
  1487. }
  1488. else {
  1489. E = 3.2406 * l + -1.5372 * C + -.4986 * Q;
  1490. u = -.9689 * l + 1.8758 * C + .0415 * Q;
  1491. d = .0557 * l + -.204 * C + 1.057 * Q;
  1492. } a[s] = 255 * Math.sqrt(E); a[s + 1] = 255 * Math.sqrt(u); a[s + 2] = 255 * Math.sqrt(d); };
  1493. function hexToInt(e, t) { var i = 0; for (var a_22 = 0; a_22 <= t; a_22++)
  1494. i = i << 8 | e[a_22]; return i >>> 0; }
  1495. function hexToStr(e, t) { return 1 === t ? String.fromCharCode(e[0], e[1]) : 3 === t ? String.fromCharCode(e[0], e[1], e[2], e[3]) : String.fromCharCode.apply(String, e.subarray(0, t + 1)); }
  1496. function addHex(e, t, i) { var a = 0; for (var s_18 = i; s_18 >= 0; s_18--) {
  1497. a += e[s_18] + t[s_18];
  1498. e[s_18] = 255 & a;
  1499. a >>= 8;
  1500. } }
  1501. function incHex(e, t) { var i = 1; for (var a_23 = t; a_23 >= 0 && i > 0; a_23--) {
  1502. i += e[a_23];
  1503. e[a_23] = 255 & i;
  1504. i >>= 8;
  1505. } }
  1506. var kt = 16;
  1507. var BinaryCMapStream = /** @class */ (function () {
  1508. function BinaryCMapStream(e) {
  1509. this.buffer = e;
  1510. this.pos = 0;
  1511. this.end = e.length;
  1512. this.tmpBuf = new Uint8Array(19);
  1513. }
  1514. BinaryCMapStream.prototype.readByte = function () { return this.pos >= this.end ? -1 : this.buffer[this.pos++]; };
  1515. BinaryCMapStream.prototype.readNumber = function () { var e, t = 0; do {
  1516. var i_29 = this.readByte();
  1517. if (i_29 < 0)
  1518. throw new FormatError("unexpected EOF in bcmap");
  1519. e = !(128 & i_29);
  1520. t = t << 7 | 127 & i_29;
  1521. } while (!e); return t; };
  1522. BinaryCMapStream.prototype.readSigned = function () { var e = this.readNumber(); return 1 & e ? ~(e >>> 1) : e >>> 1; };
  1523. BinaryCMapStream.prototype.readHex = function (e, t) { e.set(this.buffer.subarray(this.pos, this.pos + t + 1)); this.pos += t + 1; };
  1524. BinaryCMapStream.prototype.readHexNumber = function (e, t) { var i; var a = this.tmpBuf; var s = 0; do {
  1525. var e_31 = this.readByte();
  1526. if (e_31 < 0)
  1527. throw new FormatError("unexpected EOF in bcmap");
  1528. i = !(128 & e_31);
  1529. a[s++] = 127 & e_31;
  1530. } while (!i); var r = t, n = 0, o = 0; for (; r >= 0;) {
  1531. for (; o < 8 && a.length > 0;) {
  1532. n |= a[--s] << o;
  1533. o += 7;
  1534. }
  1535. e[r] = 255 & n;
  1536. r--;
  1537. n >>= 8;
  1538. o -= 8;
  1539. } };
  1540. BinaryCMapStream.prototype.readHexSigned = function (e, t) { this.readHexNumber(e, t); var i = 1 & e[t] ? 255 : 0; var a = 0; for (var s_19 = 0; s_19 <= t; s_19++) {
  1541. a = (1 & a) << 8 | e[s_19];
  1542. e[s_19] = a >> 1 ^ i;
  1543. } };
  1544. BinaryCMapStream.prototype.readString = function () { var e = this.readNumber(), t = new Array(e); for (var i_30 = 0; i_30 < e; i_30++)
  1545. t[i_30] = this.readNumber(); return String.fromCharCode.apply(String, t); };
  1546. return BinaryCMapStream;
  1547. }());
  1548. var BinaryCMapReader = /** @class */ (function () {
  1549. function BinaryCMapReader() {
  1550. }
  1551. BinaryCMapReader.prototype.process = function (e, t, i) {
  1552. return tslib_1.__awaiter(this, void 0, void 0, function () { var a, s, r, n, o, g, c, h, l, C, e_32, i_31, s_20, Q_2, E_2, e_33, e_34, e_35, e_36, e_37, e_38; return tslib_1.__generator(this, function (_b) {
  1553. a = new BinaryCMapStream(e), s = a.readByte();
  1554. t.vertical = !!(1 & s);
  1555. r = null;
  1556. n = new Uint8Array(kt), o = new Uint8Array(kt), g = new Uint8Array(kt), c = new Uint8Array(kt), h = new Uint8Array(kt);
  1557. for (; (C = a.readByte()) >= 0;) {
  1558. e_32 = C >> 5;
  1559. if (7 === e_32) {
  1560. switch (31 & C) {
  1561. case 0:
  1562. a.readString();
  1563. break;
  1564. case 1: r = a.readString();
  1565. }
  1566. continue;
  1567. }
  1568. i_31 = !!(16 & C), s_20 = 15 & C;
  1569. if (s_20 + 1 > kt)
  1570. throw new Error("BinaryCMapReader.process: Invalid dataSize.");
  1571. Q_2 = 1, E_2 = a.readNumber();
  1572. switch (e_32) {
  1573. case 0:
  1574. a.readHex(n, s_20);
  1575. a.readHexNumber(o, s_20);
  1576. addHex(o, n, s_20);
  1577. t.addCodespaceRange(s_20 + 1, hexToInt(n, s_20), hexToInt(o, s_20));
  1578. for (e_33 = 1; e_33 < E_2; e_33++) {
  1579. incHex(o, s_20);
  1580. a.readHexNumber(n, s_20);
  1581. addHex(n, o, s_20);
  1582. a.readHexNumber(o, s_20);
  1583. addHex(o, n, s_20);
  1584. t.addCodespaceRange(s_20 + 1, hexToInt(n, s_20), hexToInt(o, s_20));
  1585. }
  1586. break;
  1587. case 1:
  1588. a.readHex(n, s_20);
  1589. a.readHexNumber(o, s_20);
  1590. addHex(o, n, s_20);
  1591. a.readNumber();
  1592. for (e_34 = 1; e_34 < E_2; e_34++) {
  1593. incHex(o, s_20);
  1594. a.readHexNumber(n, s_20);
  1595. addHex(n, o, s_20);
  1596. a.readHexNumber(o, s_20);
  1597. addHex(o, n, s_20);
  1598. a.readNumber();
  1599. }
  1600. break;
  1601. case 2:
  1602. a.readHex(g, s_20);
  1603. l = a.readNumber();
  1604. t.mapOne(hexToInt(g, s_20), l);
  1605. for (e_35 = 1; e_35 < E_2; e_35++) {
  1606. incHex(g, s_20);
  1607. if (!i_31) {
  1608. a.readHexNumber(h, s_20);
  1609. addHex(g, h, s_20);
  1610. }
  1611. l = a.readSigned() + (l + 1);
  1612. t.mapOne(hexToInt(g, s_20), l);
  1613. }
  1614. break;
  1615. case 3:
  1616. a.readHex(n, s_20);
  1617. a.readHexNumber(o, s_20);
  1618. addHex(o, n, s_20);
  1619. l = a.readNumber();
  1620. t.mapCidRange(hexToInt(n, s_20), hexToInt(o, s_20), l);
  1621. for (e_36 = 1; e_36 < E_2; e_36++) {
  1622. incHex(o, s_20);
  1623. if (i_31)
  1624. n.set(o);
  1625. else {
  1626. a.readHexNumber(n, s_20);
  1627. addHex(n, o, s_20);
  1628. }
  1629. a.readHexNumber(o, s_20);
  1630. addHex(o, n, s_20);
  1631. l = a.readNumber();
  1632. t.mapCidRange(hexToInt(n, s_20), hexToInt(o, s_20), l);
  1633. }
  1634. break;
  1635. case 4:
  1636. a.readHex(g, Q_2);
  1637. a.readHex(c, s_20);
  1638. t.mapOne(hexToInt(g, Q_2), hexToStr(c, s_20));
  1639. for (e_37 = 1; e_37 < E_2; e_37++) {
  1640. incHex(g, Q_2);
  1641. if (!i_31) {
  1642. a.readHexNumber(h, Q_2);
  1643. addHex(g, h, Q_2);
  1644. }
  1645. incHex(c, s_20);
  1646. a.readHexSigned(h, s_20);
  1647. addHex(c, h, s_20);
  1648. t.mapOne(hexToInt(g, Q_2), hexToStr(c, s_20));
  1649. }
  1650. break;
  1651. case 5:
  1652. a.readHex(n, Q_2);
  1653. a.readHexNumber(o, Q_2);
  1654. addHex(o, n, Q_2);
  1655. a.readHex(c, s_20);
  1656. t.mapBfRange(hexToInt(n, Q_2), hexToInt(o, Q_2), hexToStr(c, s_20));
  1657. for (e_38 = 1; e_38 < E_2; e_38++) {
  1658. incHex(o, Q_2);
  1659. if (i_31)
  1660. n.set(o);
  1661. else {
  1662. a.readHexNumber(n, Q_2);
  1663. addHex(n, o, Q_2);
  1664. }
  1665. a.readHexNumber(o, Q_2);
  1666. addHex(o, n, Q_2);
  1667. a.readHex(c, s_20);
  1668. t.mapBfRange(hexToInt(n, Q_2), hexToInt(o, Q_2), hexToStr(c, s_20));
  1669. }
  1670. break;
  1671. default: throw new Error("BinaryCMapReader.process - unknown type: ".concat(e_32));
  1672. }
  1673. }
  1674. return [2 /*return*/, r ? i(r) : t];
  1675. }); });
  1676. };
  1677. return BinaryCMapReader;
  1678. }());
  1679. var Rt = new Uint8Array(0);
  1680. var DecodeStream = /** @class */ (function (_super) {
  1681. tslib_1.__extends(DecodeStream, _super);
  1682. function DecodeStream(e) {
  1683. var _this = _super.call(this) || this;
  1684. _this._rawMinBufferLength = e || 0;
  1685. _this.pos = 0;
  1686. _this.bufferLength = 0;
  1687. _this.eof = !1;
  1688. _this.buffer = Rt;
  1689. _this.minBufferLength = 512;
  1690. if (e)
  1691. for (; _this.minBufferLength < e;)
  1692. _this.minBufferLength *= 2;
  1693. return _this;
  1694. }
  1695. Object.defineProperty(DecodeStream.prototype, "isEmpty", {
  1696. get: function () { for (; !this.eof && 0 === this.bufferLength;)
  1697. this.readBlock(); return 0 === this.bufferLength; },
  1698. enumerable: false,
  1699. configurable: true
  1700. });
  1701. DecodeStream.prototype.ensureBuffer = function (e) { var t = this.buffer; if (e <= t.byteLength)
  1702. return t; var i = this.minBufferLength; for (; i < e;)
  1703. i *= 2; var a = new Uint8Array(i); a.set(t); return this.buffer = a; };
  1704. DecodeStream.prototype.getByte = function () { var e = this.pos; for (; this.bufferLength <= e;) {
  1705. if (this.eof)
  1706. return -1;
  1707. this.readBlock();
  1708. } return this.buffer[this.pos++]; };
  1709. DecodeStream.prototype.getBytes = function (e, t) {
  1710. if (t === void 0) { t = !1; }
  1711. var i = this.pos;
  1712. var a;
  1713. if (e) {
  1714. this.ensureBuffer(i + e);
  1715. a = i + e;
  1716. for (; !this.eof && this.bufferLength < a;)
  1717. this.readBlock(t);
  1718. var s_21 = this.bufferLength;
  1719. a > s_21 && (a = s_21);
  1720. }
  1721. else {
  1722. for (; !this.eof;)
  1723. this.readBlock(t);
  1724. a = this.bufferLength;
  1725. }
  1726. this.pos = a;
  1727. return this.buffer.subarray(i, a);
  1728. };
  1729. DecodeStream.prototype.reset = function () { this.pos = 0; };
  1730. DecodeStream.prototype.makeSubStream = function (e, t, i) {
  1731. if (i === void 0) { i = null; }
  1732. if (void 0 === t)
  1733. for (; !this.eof;)
  1734. this.readBlock();
  1735. else {
  1736. var i_32 = e + t;
  1737. for (; this.bufferLength <= i_32 && !this.eof;)
  1738. this.readBlock();
  1739. }
  1740. return new Stream(this.buffer, e, t, i);
  1741. };
  1742. DecodeStream.prototype.getBaseStreams = function () { return this.str ? this.str.getBaseStreams() : null; };
  1743. return DecodeStream;
  1744. }(BaseStream));
  1745. var StreamsSequenceStream = /** @class */ (function (_super) {
  1746. tslib_1.__extends(StreamsSequenceStream, _super);
  1747. function StreamsSequenceStream(e, t) {
  1748. if (t === void 0) { t = null; }
  1749. var _this = this;
  1750. var i = 0;
  1751. for (var _b = 0, e_39 = e; _b < e_39.length; _b++) {
  1752. var t_36 = e_39[_b];
  1753. i += t_36 instanceof DecodeStream ? t_36._rawMinBufferLength : t_36.length;
  1754. }
  1755. _this = _super.call(this, i) || this;
  1756. _this.streams = e;
  1757. _this._onError = t;
  1758. return _this;
  1759. }
  1760. StreamsSequenceStream.prototype.readBlock = function () { var _b; var e = this.streams; if (0 === e.length) {
  1761. this.eof = !0;
  1762. return;
  1763. } var t = e.shift(); var i; try {
  1764. i = t.getBytes();
  1765. }
  1766. catch (e) {
  1767. if (this._onError) {
  1768. this._onError(e, (_b = t.dict) === null || _b === void 0 ? void 0 : _b.objId);
  1769. return;
  1770. }
  1771. throw e;
  1772. } var a = this.bufferLength, s = a + i.length; this.ensureBuffer(s).set(i, a); this.bufferLength = s; };
  1773. StreamsSequenceStream.prototype.getBaseStreams = function () { var e = []; for (var _b = 0, _g = this.streams; _b < _g.length; _b++) {
  1774. var t_37 = _g[_b];
  1775. var i_33 = t_37.getBaseStreams();
  1776. i_33 && e.push.apply(e, i_33);
  1777. } return e.length > 0 ? e : null; };
  1778. return StreamsSequenceStream;
  1779. }(DecodeStream));
  1780. var Ascii85Stream = /** @class */ (function (_super) {
  1781. tslib_1.__extends(Ascii85Stream, _super);
  1782. function Ascii85Stream(e, t) {
  1783. var _this = this;
  1784. t && (t *= .8);
  1785. _this = _super.call(this, t) || this;
  1786. _this.str = e;
  1787. _this.dict = e.dict;
  1788. _this.input = new Uint8Array(5);
  1789. return _this;
  1790. }
  1791. Ascii85Stream.prototype.readBlock = function () { var e = this.str; var t = e.getByte(); for (; isWhiteSpace(t);)
  1792. t = e.getByte(); if (-1 === t || 126 === t) {
  1793. this.eof = !0;
  1794. return;
  1795. } var i = this.bufferLength; var a, s; if (122 === t) {
  1796. a = this.ensureBuffer(i + 4);
  1797. for (s = 0; s < 4; ++s)
  1798. a[i + s] = 0;
  1799. this.bufferLength += 4;
  1800. }
  1801. else {
  1802. var r_14 = this.input;
  1803. r_14[0] = t;
  1804. for (s = 1; s < 5; ++s) {
  1805. t = e.getByte();
  1806. for (; isWhiteSpace(t);)
  1807. t = e.getByte();
  1808. r_14[s] = t;
  1809. if (-1 === t || 126 === t)
  1810. break;
  1811. }
  1812. a = this.ensureBuffer(i + s - 1);
  1813. this.bufferLength += s - 1;
  1814. if (s < 5) {
  1815. for (; s < 5; ++s)
  1816. r_14[s] = 117;
  1817. this.eof = !0;
  1818. }
  1819. var n_6 = 0;
  1820. for (s = 0; s < 5; ++s)
  1821. n_6 = 85 * n_6 + (r_14[s] - 33);
  1822. for (s = 3; s >= 0; --s) {
  1823. a[i + s] = 255 & n_6;
  1824. n_6 >>= 8;
  1825. }
  1826. } };
  1827. return Ascii85Stream;
  1828. }(DecodeStream));
  1829. var AsciiHexStream = /** @class */ (function (_super) {
  1830. tslib_1.__extends(AsciiHexStream, _super);
  1831. function AsciiHexStream(e, t) {
  1832. var _this = this;
  1833. t && (t *= .5);
  1834. _this = _super.call(this, t) || this;
  1835. _this.str = e;
  1836. _this.dict = e.dict;
  1837. _this.firstDigit = -1;
  1838. return _this;
  1839. }
  1840. AsciiHexStream.prototype.readBlock = function () { var e = this.str.getBytes(8e3); if (!e.length) {
  1841. this.eof = !0;
  1842. return;
  1843. } var t = e.length + 1 >> 1, i = this.ensureBuffer(this.bufferLength + t); var a = this.bufferLength, s = this.firstDigit; for (var _b = 0, e_40 = e; _b < e_40.length; _b++) {
  1844. var t_38 = e_40[_b];
  1845. var e_41 = void 0;
  1846. if (t_38 >= 48 && t_38 <= 57)
  1847. e_41 = 15 & t_38;
  1848. else {
  1849. if (!(t_38 >= 65 && t_38 <= 70 || t_38 >= 97 && t_38 <= 102)) {
  1850. if (62 === t_38) {
  1851. this.eof = !0;
  1852. break;
  1853. }
  1854. continue;
  1855. }
  1856. e_41 = 9 + (15 & t_38);
  1857. }
  1858. if (s < 0)
  1859. s = e_41;
  1860. else {
  1861. i[a++] = s << 4 | e_41;
  1862. s = -1;
  1863. }
  1864. } if (s >= 0 && this.eof) {
  1865. i[a++] = s << 4;
  1866. s = -1;
  1867. } this.firstDigit = s; this.bufferLength = a; };
  1868. return AsciiHexStream;
  1869. }(DecodeStream));
  1870. var Nt = -1, Gt = [[-1, -1], [-1, -1], [7, 8], [7, 7], [6, 6], [6, 6], [6, 5], [6, 5], [4, 0], [4, 0], [4, 0], [4, 0], [4, 0], [4, 0], [4, 0], [4, 0], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 3], [3, 3], [3, 3], [3, 3], [3, 3], [3, 3], [3, 3], [3, 3], [3, 3], [3, 3], [3, 3], [3, 3], [3, 3], [3, 3], [3, 3], [3, 3], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2]], xt = [[-1, -1], [12, -2], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [12, 1984], [12, 2048], [12, 2112], [12, 2176], [12, 2240], [12, 2304], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [12, 2368], [12, 2432], [12, 2496], [12, 2560]], Mt = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 29], [8, 29], [8, 30], [8, 30], [8, 45], [8, 45], [8, 46], [8, 46], [7, 22], [7, 22], [7, 22], [7, 22], [7, 23], [7, 23], [7, 23], [7, 23], [8, 47], [8, 47], [8, 48], [8, 48], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [7, 20], [7, 20], [7, 20], [7, 20], [8, 33], [8, 33], [8, 34], [8, 34], [8, 35], [8, 35], [8, 36], [8, 36], [8, 37], [8, 37], [8, 38], [8, 38], [7, 19], [7, 19], [7, 19], [7, 19], [8, 31], [8, 31], [8, 32], [8, 32], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [8, 53], [8, 53], [8, 54], [8, 54], [7, 26], [7, 26], [7, 26], [7, 26], [8, 39], [8, 39], [8, 40], [8, 40], [8, 41], [8, 41], [8, 42], [8, 42], [8, 43], [8, 43], [8, 44], [8, 44], [7, 21], [7, 21], [7, 21], [7, 21], [7, 28], [7, 28], [7, 28], [7, 28], [8, 61], [8, 61], [8, 62], [8, 62], [8, 63], [8, 63], [8, 0], [8, 0], [8, 320], [8, 320], [8, 384], [8, 384], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [7, 27], [7, 27], [7, 27], [7, 27], [8, 59], [8, 59], [8, 60], [8, 60], [9, 1472], [9, 1536], [9, 1600], [9, 1728], [7, 18], [7, 18], [7, 18], [7, 18], [7, 24], [7, 24], [7, 24], [7, 24], [8, 49], [8, 49], [8, 50], [8, 50], [8, 51], [8, 51], [8, 52], [8, 52], [7, 25], [7, 25], [7, 25], [7, 25], [8, 55], [8, 55], [8, 56], [8, 56], [8, 57], [8, 57], [8, 58], [8, 58], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [8, 448], [8, 448], [8, 512], [8, 512], [9, 704], [9, 768], [8, 640], [8, 640], [8, 576], [8, 576], [9, 832], [9, 896], [9, 960], [9, 1024], [9, 1088], [9, 1152], [9, 1216], [9, 1280], [9, 1344], [9, 1408], [7, 256], [7, 256], [7, 256], [7, 256], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7]], Ut = [[-1, -1], [-1, -1], [12, -2], [12, -2], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [11, 1792], [11, 1792], [12, 1984], [12, 1984], [12, 2048], [12, 2048], [12, 2112], [12, 2112], [12, 2176], [12, 2176], [12, 2240], [12, 2240], [12, 2304], [12, 2304], [11, 1856], [11, 1856], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [11, 1920], [11, 1920], [12, 2368], [12, 2368], [12, 2432], [12, 2432], [12, 2496], [12, 2496], [12, 2560], [12, 2560], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [12, 52], [12, 52], [13, 640], [13, 704], [13, 768], [13, 832], [12, 55], [12, 55], [12, 56], [12, 56], [13, 1280], [13, 1344], [13, 1408], [13, 1472], [12, 59], [12, 59], [12, 60], [12, 60], [13, 1536], [13, 1600], [11, 24], [11, 24], [11, 24], [11, 24], [11, 25], [11, 25], [11, 25], [11, 25], [13, 1664], [13, 1728], [12, 320], [12, 320], [12, 384], [12, 384], [12, 448], [12, 448], [13, 512], [13, 576], [12, 53], [12, 53], [12, 54], [12, 54], [13, 896], [13, 960], [13, 1024], [13, 1088], [13, 1152], [13, 1216], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64]], Lt = [[8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [11, 23], [11, 23], [12, 50], [12, 51], [12, 44], [12, 45], [12, 46], [12, 47], [12, 57], [12, 58], [12, 61], [12, 256], [10, 16], [10, 16], [10, 16], [10, 16], [10, 17], [10, 17], [10, 17], [10, 17], [12, 48], [12, 49], [12, 62], [12, 63], [12, 30], [12, 31], [12, 32], [12, 33], [12, 40], [12, 41], [11, 22], [11, 22], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [12, 128], [12, 192], [12, 26], [12, 27], [12, 28], [12, 29], [11, 19], [11, 19], [11, 20], [11, 20], [12, 34], [12, 35], [12, 36], [12, 37], [12, 38], [12, 39], [11, 21], [11, 21], [12, 42], [12, 43], [10, 0], [10, 0], [10, 0], [10, 0], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12]], Jt = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [6, 9], [6, 8], [5, 7], [5, 7], [4, 6], [4, 6], [4, 6], [4, 6], [4, 5], [4, 5], [4, 5], [4, 5], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2]];
  1871. var CCITTFaxDecoder = /** @class */ (function () {
  1872. function CCITTFaxDecoder(e, t) {
  1873. if (t === void 0) { t = {}; }
  1874. var _b;
  1875. if (!e || "function" != typeof e.next)
  1876. throw new Error('CCITTFaxDecoder - invalid "source" parameter.');
  1877. this.source = e;
  1878. this.eof = !1;
  1879. this.encoding = t.K || 0;
  1880. this.eoline = t.EndOfLine || !1;
  1881. this.byteAlign = t.EncodedByteAlign || !1;
  1882. this.columns = t.Columns || 1728;
  1883. this.rows = t.Rows || 0;
  1884. this.eoblock = (_b = t.EndOfBlock) !== null && _b !== void 0 ? _b : !0;
  1885. this.black = t.BlackIs1 || !1;
  1886. this.codingLine = new Uint32Array(this.columns + 1);
  1887. this.refLine = new Uint32Array(this.columns + 2);
  1888. this.codingLine[0] = this.columns;
  1889. this.codingPos = 0;
  1890. this.row = 0;
  1891. this.nextLine2D = this.encoding < 0;
  1892. this.inputBits = 0;
  1893. this.inputBuf = 0;
  1894. this.outputBits = 0;
  1895. this.rowsDone = !1;
  1896. var i;
  1897. for (; 0 === (i = this._lookBits(12));)
  1898. this._eatBits(1);
  1899. 1 === i && this._eatBits(12);
  1900. if (this.encoding > 0) {
  1901. this.nextLine2D = !this._lookBits(1);
  1902. this._eatBits(1);
  1903. }
  1904. }
  1905. CCITTFaxDecoder.prototype.readNextChar = function () { if (this.eof)
  1906. return -1; var e = this.refLine, t = this.codingLine, i = this.columns; var a, s, r, n, o; if (0 === this.outputBits) {
  1907. this.rowsDone && (this.eof = !0);
  1908. if (this.eof)
  1909. return -1;
  1910. this.err = !1;
  1911. var r_15, o_3, g_2;
  1912. if (this.nextLine2D) {
  1913. for (n = 0; t[n] < i; ++n)
  1914. e[n] = t[n];
  1915. e[n++] = i;
  1916. e[n] = i;
  1917. t[0] = 0;
  1918. this.codingPos = 0;
  1919. a = 0;
  1920. s = 0;
  1921. for (; t[this.codingPos] < i;) {
  1922. r_15 = this._getTwoDimCode();
  1923. switch (r_15) {
  1924. case 0:
  1925. this._addPixels(e[a + 1], s);
  1926. e[a + 1] < i && (a += 2);
  1927. break;
  1928. case 1:
  1929. r_15 = o_3 = 0;
  1930. if (s) {
  1931. do {
  1932. r_15 += g_2 = this._getBlackCode();
  1933. } while (g_2 >= 64);
  1934. do {
  1935. o_3 += g_2 = this._getWhiteCode();
  1936. } while (g_2 >= 64);
  1937. }
  1938. else {
  1939. do {
  1940. r_15 += g_2 = this._getWhiteCode();
  1941. } while (g_2 >= 64);
  1942. do {
  1943. o_3 += g_2 = this._getBlackCode();
  1944. } while (g_2 >= 64);
  1945. }
  1946. this._addPixels(t[this.codingPos] + r_15, s);
  1947. t[this.codingPos] < i && this._addPixels(t[this.codingPos] + o_3, 1 ^ s);
  1948. for (; e[a] <= t[this.codingPos] && e[a] < i;)
  1949. a += 2;
  1950. break;
  1951. case 7:
  1952. this._addPixels(e[a] + 3, s);
  1953. s ^= 1;
  1954. if (t[this.codingPos] < i) {
  1955. ++a;
  1956. for (; e[a] <= t[this.codingPos] && e[a] < i;)
  1957. a += 2;
  1958. }
  1959. break;
  1960. case 5:
  1961. this._addPixels(e[a] + 2, s);
  1962. s ^= 1;
  1963. if (t[this.codingPos] < i) {
  1964. ++a;
  1965. for (; e[a] <= t[this.codingPos] && e[a] < i;)
  1966. a += 2;
  1967. }
  1968. break;
  1969. case 3:
  1970. this._addPixels(e[a] + 1, s);
  1971. s ^= 1;
  1972. if (t[this.codingPos] < i) {
  1973. ++a;
  1974. for (; e[a] <= t[this.codingPos] && e[a] < i;)
  1975. a += 2;
  1976. }
  1977. break;
  1978. case 2:
  1979. this._addPixels(e[a], s);
  1980. s ^= 1;
  1981. if (t[this.codingPos] < i) {
  1982. ++a;
  1983. for (; e[a] <= t[this.codingPos] && e[a] < i;)
  1984. a += 2;
  1985. }
  1986. break;
  1987. case 8:
  1988. this._addPixelsNeg(e[a] - 3, s);
  1989. s ^= 1;
  1990. if (t[this.codingPos] < i) {
  1991. a > 0 ? --a : ++a;
  1992. for (; e[a] <= t[this.codingPos] && e[a] < i;)
  1993. a += 2;
  1994. }
  1995. break;
  1996. case 6:
  1997. this._addPixelsNeg(e[a] - 2, s);
  1998. s ^= 1;
  1999. if (t[this.codingPos] < i) {
  2000. a > 0 ? --a : ++a;
  2001. for (; e[a] <= t[this.codingPos] && e[a] < i;)
  2002. a += 2;
  2003. }
  2004. break;
  2005. case 4:
  2006. this._addPixelsNeg(e[a] - 1, s);
  2007. s ^= 1;
  2008. if (t[this.codingPos] < i) {
  2009. a > 0 ? --a : ++a;
  2010. for (; e[a] <= t[this.codingPos] && e[a] < i;)
  2011. a += 2;
  2012. }
  2013. break;
  2014. case Nt:
  2015. this._addPixels(i, 0);
  2016. this.eof = !0;
  2017. break;
  2018. default:
  2019. info("bad 2d code");
  2020. this._addPixels(i, 0);
  2021. this.err = !0;
  2022. }
  2023. }
  2024. }
  2025. else {
  2026. t[0] = 0;
  2027. this.codingPos = 0;
  2028. s = 0;
  2029. for (; t[this.codingPos] < i;) {
  2030. r_15 = 0;
  2031. if (s)
  2032. do {
  2033. r_15 += g_2 = this._getBlackCode();
  2034. } while (g_2 >= 64);
  2035. else
  2036. do {
  2037. r_15 += g_2 = this._getWhiteCode();
  2038. } while (g_2 >= 64);
  2039. this._addPixels(t[this.codingPos] + r_15, s);
  2040. s ^= 1;
  2041. }
  2042. }
  2043. var c_2 = !1;
  2044. this.byteAlign && (this.inputBits &= -8);
  2045. if (this.eoblock || this.row !== this.rows - 1) {
  2046. r_15 = this._lookBits(12);
  2047. if (this.eoline)
  2048. for (; r_15 !== Nt && 1 !== r_15;) {
  2049. this._eatBits(1);
  2050. r_15 = this._lookBits(12);
  2051. }
  2052. else
  2053. for (; 0 === r_15;) {
  2054. this._eatBits(1);
  2055. r_15 = this._lookBits(12);
  2056. }
  2057. if (1 === r_15) {
  2058. this._eatBits(12);
  2059. c_2 = !0;
  2060. }
  2061. else
  2062. r_15 === Nt && (this.eof = !0);
  2063. }
  2064. else
  2065. this.rowsDone = !0;
  2066. if (!this.eof && this.encoding > 0 && !this.rowsDone) {
  2067. this.nextLine2D = !this._lookBits(1);
  2068. this._eatBits(1);
  2069. }
  2070. if (this.eoblock && c_2 && this.byteAlign) {
  2071. r_15 = this._lookBits(12);
  2072. if (1 === r_15) {
  2073. this._eatBits(12);
  2074. if (this.encoding > 0) {
  2075. this._lookBits(1);
  2076. this._eatBits(1);
  2077. }
  2078. if (this.encoding >= 0)
  2079. for (n = 0; n < 4; ++n) {
  2080. r_15 = this._lookBits(12);
  2081. 1 !== r_15 && info("bad rtc code: " + r_15);
  2082. this._eatBits(12);
  2083. if (this.encoding > 0) {
  2084. this._lookBits(1);
  2085. this._eatBits(1);
  2086. }
  2087. }
  2088. this.eof = !0;
  2089. }
  2090. }
  2091. else if (this.err && this.eoline) {
  2092. for (;;) {
  2093. r_15 = this._lookBits(13);
  2094. if (r_15 === Nt) {
  2095. this.eof = !0;
  2096. return -1;
  2097. }
  2098. if (r_15 >> 1 == 1)
  2099. break;
  2100. this._eatBits(1);
  2101. }
  2102. this._eatBits(12);
  2103. if (this.encoding > 0) {
  2104. this._eatBits(1);
  2105. this.nextLine2D = !(1 & r_15);
  2106. }
  2107. }
  2108. this.outputBits = t[0] > 0 ? t[this.codingPos = 0] : t[this.codingPos = 1];
  2109. this.row++;
  2110. } if (this.outputBits >= 8) {
  2111. o = 1 & this.codingPos ? 0 : 255;
  2112. this.outputBits -= 8;
  2113. if (0 === this.outputBits && t[this.codingPos] < i) {
  2114. this.codingPos++;
  2115. this.outputBits = t[this.codingPos] - t[this.codingPos - 1];
  2116. }
  2117. }
  2118. else {
  2119. r = 8;
  2120. o = 0;
  2121. do {
  2122. if ("number" != typeof this.outputBits)
  2123. throw new FormatError('Invalid /CCITTFaxDecode data, "outputBits" must be a number.');
  2124. if (this.outputBits > r) {
  2125. o <<= r;
  2126. 1 & this.codingPos || (o |= 255 >> 8 - r);
  2127. this.outputBits -= r;
  2128. r = 0;
  2129. }
  2130. else {
  2131. o <<= this.outputBits;
  2132. 1 & this.codingPos || (o |= 255 >> 8 - this.outputBits);
  2133. r -= this.outputBits;
  2134. this.outputBits = 0;
  2135. if (t[this.codingPos] < i) {
  2136. this.codingPos++;
  2137. this.outputBits = t[this.codingPos] - t[this.codingPos - 1];
  2138. }
  2139. else if (r > 0) {
  2140. o <<= r;
  2141. r = 0;
  2142. }
  2143. }
  2144. } while (r);
  2145. } this.black && (o ^= 255); return o; };
  2146. CCITTFaxDecoder.prototype._addPixels = function (e, t) { var i = this.codingLine; var a = this.codingPos; if (e > i[a]) {
  2147. if (e > this.columns) {
  2148. info("row is wrong length");
  2149. this.err = !0;
  2150. e = this.columns;
  2151. }
  2152. 1 & a ^ t && ++a;
  2153. i[a] = e;
  2154. } this.codingPos = a; };
  2155. CCITTFaxDecoder.prototype._addPixelsNeg = function (e, t) { var i = this.codingLine; var a = this.codingPos; if (e > i[a]) {
  2156. if (e > this.columns) {
  2157. info("row is wrong length");
  2158. this.err = !0;
  2159. e = this.columns;
  2160. }
  2161. 1 & a ^ t && ++a;
  2162. i[a] = e;
  2163. }
  2164. else if (e < i[a]) {
  2165. if (e < 0) {
  2166. info("invalid code");
  2167. this.err = !0;
  2168. e = 0;
  2169. }
  2170. for (; a > 0 && e < i[a - 1];)
  2171. --a;
  2172. i[a] = e;
  2173. } this.codingPos = a; };
  2174. CCITTFaxDecoder.prototype._findTableCode = function (e, t, i, a) { var s = a || 0; for (var a_24 = e; a_24 <= t; ++a_24) {
  2175. var e_42 = this._lookBits(a_24);
  2176. if (e_42 === Nt)
  2177. return [!0, 1, !1];
  2178. a_24 < t && (e_42 <<= t - a_24);
  2179. if (!s || e_42 >= s) {
  2180. var t_39 = i[e_42 - s];
  2181. if (t_39[0] === a_24) {
  2182. this._eatBits(a_24);
  2183. return [!0, t_39[1], !0];
  2184. }
  2185. }
  2186. } return [!1, 0, !1]; };
  2187. CCITTFaxDecoder.prototype._getTwoDimCode = function () { var e, t = 0; if (this.eoblock) {
  2188. t = this._lookBits(7);
  2189. e = Gt[t];
  2190. if ((e === null || e === void 0 ? void 0 : e[0]) > 0) {
  2191. this._eatBits(e[0]);
  2192. return e[1];
  2193. }
  2194. }
  2195. else {
  2196. var e_43 = this._findTableCode(1, 7, Gt);
  2197. if (e_43[0] && e_43[2])
  2198. return e_43[1];
  2199. } info("Bad two dim code"); return Nt; };
  2200. CCITTFaxDecoder.prototype._getWhiteCode = function () { var e, t = 0; if (this.eoblock) {
  2201. t = this._lookBits(12);
  2202. if (t === Nt)
  2203. return 1;
  2204. e = t >> 5 == 0 ? xt[t] : Mt[t >> 3];
  2205. if (e[0] > 0) {
  2206. this._eatBits(e[0]);
  2207. return e[1];
  2208. }
  2209. }
  2210. else {
  2211. var e_44 = this._findTableCode(1, 9, Mt);
  2212. if (e_44[0])
  2213. return e_44[1];
  2214. e_44 = this._findTableCode(11, 12, xt);
  2215. if (e_44[0])
  2216. return e_44[1];
  2217. } info("bad white code"); this._eatBits(1); return 1; };
  2218. CCITTFaxDecoder.prototype._getBlackCode = function () { var e, t; if (this.eoblock) {
  2219. e = this._lookBits(13);
  2220. if (e === Nt)
  2221. return 1;
  2222. t = e >> 7 == 0 ? Ut[e] : e >> 9 == 0 && e >> 7 != 0 ? Lt[(e >> 1) - 64] : Jt[e >> 7];
  2223. if (t[0] > 0) {
  2224. this._eatBits(t[0]);
  2225. return t[1];
  2226. }
  2227. }
  2228. else {
  2229. var e_45 = this._findTableCode(2, 6, Jt);
  2230. if (e_45[0])
  2231. return e_45[1];
  2232. e_45 = this._findTableCode(7, 12, Lt, 64);
  2233. if (e_45[0])
  2234. return e_45[1];
  2235. e_45 = this._findTableCode(10, 13, Ut);
  2236. if (e_45[0])
  2237. return e_45[1];
  2238. } info("bad black code"); this._eatBits(1); return 1; };
  2239. CCITTFaxDecoder.prototype._lookBits = function (e) { var t; for (; this.inputBits < e;) {
  2240. if (-1 === (t = this.source.next()))
  2241. return 0 === this.inputBits ? Nt : this.inputBuf << e - this.inputBits & 65535 >> 16 - e;
  2242. this.inputBuf = this.inputBuf << 8 | t;
  2243. this.inputBits += 8;
  2244. } return this.inputBuf >> this.inputBits - e & 65535 >> 16 - e; };
  2245. CCITTFaxDecoder.prototype._eatBits = function (e) { (this.inputBits -= e) < 0 && (this.inputBits = 0); };
  2246. return CCITTFaxDecoder;
  2247. }());
  2248. var CCITTFaxStream = /** @class */ (function (_super) {
  2249. tslib_1.__extends(CCITTFaxStream, _super);
  2250. function CCITTFaxStream(e, t, i) {
  2251. var _this = _super.call(this, t) || this;
  2252. _this.str = e;
  2253. _this.dict = e.dict;
  2254. i instanceof Dict || (i = Dict.empty);
  2255. var a = { next: function () { return e.getByte(); } };
  2256. _this.ccittFaxDecoder = new CCITTFaxDecoder(a, { K: i.get("K"), EndOfLine: i.get("EndOfLine"), EncodedByteAlign: i.get("EncodedByteAlign"), Columns: i.get("Columns"), Rows: i.get("Rows"), EndOfBlock: i.get("EndOfBlock"), BlackIs1: i.get("BlackIs1") });
  2257. return _this;
  2258. }
  2259. CCITTFaxStream.prototype.readBlock = function () { for (; !this.eof;) {
  2260. var e_46 = this.ccittFaxDecoder.readNextChar();
  2261. if (-1 === e_46) {
  2262. this.eof = !0;
  2263. return;
  2264. }
  2265. this.ensureBuffer(this.bufferLength + 1);
  2266. this.buffer[this.bufferLength++] = e_46;
  2267. } };
  2268. return CCITTFaxStream;
  2269. }(DecodeStream));
  2270. var Ht = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), Yt = new Int32Array([3, 4, 5, 6, 7, 8, 9, 10, 65547, 65549, 65551, 65553, 131091, 131095, 131099, 131103, 196643, 196651, 196659, 196667, 262211, 262227, 262243, 262259, 327811, 327843, 327875, 327907, 258, 258, 258]), vt = new Int32Array([1, 2, 3, 4, 65541, 65543, 131081, 131085, 196625, 196633, 262177, 262193, 327745, 327777, 393345, 393409, 459009, 459137, 524801, 525057, 590849, 591361, 657409, 658433, 724993, 727041, 794625, 798721, 868353, 876545]), Kt = [new Int32Array([459008, 524368, 524304, 524568, 459024, 524400, 524336, 590016, 459016, 524384, 524320, 589984, 524288, 524416, 524352, 590048, 459012, 524376, 524312, 589968, 459028, 524408, 524344, 590032, 459020, 524392, 524328, 59e4, 524296, 524424, 524360, 590064, 459010, 524372, 524308, 524572, 459026, 524404, 524340, 590024, 459018, 524388, 524324, 589992, 524292, 524420, 524356, 590056, 459014, 524380, 524316, 589976, 459030, 524412, 524348, 590040, 459022, 524396, 524332, 590008, 524300, 524428, 524364, 590072, 459009, 524370, 524306, 524570, 459025, 524402, 524338, 590020, 459017, 524386, 524322, 589988, 524290, 524418, 524354, 590052, 459013, 524378, 524314, 589972, 459029, 524410, 524346, 590036, 459021, 524394, 524330, 590004, 524298, 524426, 524362, 590068, 459011, 524374, 524310, 524574, 459027, 524406, 524342, 590028, 459019, 524390, 524326, 589996, 524294, 524422, 524358, 590060, 459015, 524382, 524318, 589980, 459031, 524414, 524350, 590044, 459023, 524398, 524334, 590012, 524302, 524430, 524366, 590076, 459008, 524369, 524305, 524569, 459024, 524401, 524337, 590018, 459016, 524385, 524321, 589986, 524289, 524417, 524353, 590050, 459012, 524377, 524313, 589970, 459028, 524409, 524345, 590034, 459020, 524393, 524329, 590002, 524297, 524425, 524361, 590066, 459010, 524373, 524309, 524573, 459026, 524405, 524341, 590026, 459018, 524389, 524325, 589994, 524293, 524421, 524357, 590058, 459014, 524381, 524317, 589978, 459030, 524413, 524349, 590042, 459022, 524397, 524333, 590010, 524301, 524429, 524365, 590074, 459009, 524371, 524307, 524571, 459025, 524403, 524339, 590022, 459017, 524387, 524323, 589990, 524291, 524419, 524355, 590054, 459013, 524379, 524315, 589974, 459029, 524411, 524347, 590038, 459021, 524395, 524331, 590006, 524299, 524427, 524363, 590070, 459011, 524375, 524311, 524575, 459027, 524407, 524343, 590030, 459019, 524391, 524327, 589998, 524295, 524423, 524359, 590062, 459015, 524383, 524319, 589982, 459031, 524415, 524351, 590046, 459023, 524399, 524335, 590014, 524303, 524431, 524367, 590078, 459008, 524368, 524304, 524568, 459024, 524400, 524336, 590017, 459016, 524384, 524320, 589985, 524288, 524416, 524352, 590049, 459012, 524376, 524312, 589969, 459028, 524408, 524344, 590033, 459020, 524392, 524328, 590001, 524296, 524424, 524360, 590065, 459010, 524372, 524308, 524572, 459026, 524404, 524340, 590025, 459018, 524388, 524324, 589993, 524292, 524420, 524356, 590057, 459014, 524380, 524316, 589977, 459030, 524412, 524348, 590041, 459022, 524396, 524332, 590009, 524300, 524428, 524364, 590073, 459009, 524370, 524306, 524570, 459025, 524402, 524338, 590021, 459017, 524386, 524322, 589989, 524290, 524418, 524354, 590053, 459013, 524378, 524314, 589973, 459029, 524410, 524346, 590037, 459021, 524394, 524330, 590005, 524298, 524426, 524362, 590069, 459011, 524374, 524310, 524574, 459027, 524406, 524342, 590029, 459019, 524390, 524326, 589997, 524294, 524422, 524358, 590061, 459015, 524382, 524318, 589981, 459031, 524414, 524350, 590045, 459023, 524398, 524334, 590013, 524302, 524430, 524366, 590077, 459008, 524369, 524305, 524569, 459024, 524401, 524337, 590019, 459016, 524385, 524321, 589987, 524289, 524417, 524353, 590051, 459012, 524377, 524313, 589971, 459028, 524409, 524345, 590035, 459020, 524393, 524329, 590003, 524297, 524425, 524361, 590067, 459010, 524373, 524309, 524573, 459026, 524405, 524341, 590027, 459018, 524389, 524325, 589995, 524293, 524421, 524357, 590059, 459014, 524381, 524317, 589979, 459030, 524413, 524349, 590043, 459022, 524397, 524333, 590011, 524301, 524429, 524365, 590075, 459009, 524371, 524307, 524571, 459025, 524403, 524339, 590023, 459017, 524387, 524323, 589991, 524291, 524419, 524355, 590055, 459013, 524379, 524315, 589975, 459029, 524411, 524347, 590039, 459021, 524395, 524331, 590007, 524299, 524427, 524363, 590071, 459011, 524375, 524311, 524575, 459027, 524407, 524343, 590031, 459019, 524391, 524327, 589999, 524295, 524423, 524359, 590063, 459015, 524383, 524319, 589983, 459031, 524415, 524351, 590047, 459023, 524399, 524335, 590015, 524303, 524431, 524367, 590079]), 9], Tt = [new Int32Array([327680, 327696, 327688, 327704, 327684, 327700, 327692, 327708, 327682, 327698, 327690, 327706, 327686, 327702, 327694, 0, 327681, 327697, 327689, 327705, 327685, 327701, 327693, 327709, 327683, 327699, 327691, 327707, 327687, 327703, 327695, 0]), 5];
  2271. var FlateStream = /** @class */ (function (_super) {
  2272. tslib_1.__extends(FlateStream, _super);
  2273. function FlateStream(e, t) {
  2274. var _this = _super.call(this, t) || this;
  2275. _FlateStream_instances.add(_this);
  2276. _this.str = e;
  2277. _this.dict = e.dict;
  2278. var i = e.getByte(), a = e.getByte();
  2279. if (-1 === i || -1 === a)
  2280. throw new FormatError("Invalid header in flate stream: ".concat(i, ", ").concat(a));
  2281. if (8 != (15 & i))
  2282. throw new FormatError("Unknown compression method in flate stream: ".concat(i, ", ").concat(a));
  2283. if (((i << 8) + a) % 31 != 0)
  2284. throw new FormatError("Bad FCHECK in flate stream: ".concat(i, ", ").concat(a));
  2285. if (32 & a)
  2286. throw new FormatError("FDICT bit set in flate stream: ".concat(i, ", ").concat(a));
  2287. _this.codeSize = 0;
  2288. _this.codeBuf = 0;
  2289. return _this;
  2290. }
  2291. FlateStream.prototype.getBits = function (e) { var t = this.str; var i, a = this.codeSize, s = this.codeBuf; for (; a < e;) {
  2292. if (-1 === (i = t.getByte()))
  2293. throw new FormatError("Bad encoding in flate stream");
  2294. s |= i << a;
  2295. a += 8;
  2296. } i = s & (1 << e) - 1; this.codeBuf = s >> e; this.codeSize = a -= e; return i; };
  2297. FlateStream.prototype.getCode = function (e) { var t = this.str, i = e[0], a = e[1]; var s, r = this.codeSize, n = this.codeBuf; for (; r < a && -1 !== (s = t.getByte());) {
  2298. n |= s << r;
  2299. r += 8;
  2300. } var o = i[n & (1 << a) - 1], g = o >> 16, c = 65535 & o; if (g < 1 || r < g)
  2301. throw new FormatError("Bad encoding in flate stream"); this.codeBuf = n >> g; this.codeSize = r - g; return c; };
  2302. FlateStream.prototype.generateHuffmanTable = function (e) { var t = e.length; var i, a = 0; for (i = 0; i < t; ++i)
  2303. e[i] > a && (a = e[i]); var s = 1 << a, r = new Int32Array(s); for (var n_7 = 1, o_4 = 0, g_3 = 2; n_7 <= a; ++n_7, o_4 <<= 1, g_3 <<= 1)
  2304. for (var a_25 = 0; a_25 < t; ++a_25)
  2305. if (e[a_25] === n_7) {
  2306. var e_47 = 0, t_40 = o_4;
  2307. for (i = 0; i < n_7; ++i) {
  2308. e_47 = e_47 << 1 | 1 & t_40;
  2309. t_40 >>= 1;
  2310. }
  2311. for (i = e_47; i < s; i += g_3)
  2312. r[i] = n_7 << 16 | a_25;
  2313. ++o_4;
  2314. } return [r, a]; };
  2315. FlateStream.prototype.readBlock = function () { var e, t; var i = this.str; var a, s, r = this.getBits(3); 1 & r && (this.eof = !0); r >>= 1; if (0 === r) {
  2316. var t_41;
  2317. if (-1 === (t_41 = i.getByte())) {
  2318. tslib_1.__classPrivateFieldGet(this, _FlateStream_instances, "m", _FlateStream_m).call(this, "Bad block header in flate stream");
  2319. return;
  2320. }
  2321. var a_26 = t_41;
  2322. if (-1 === (t_41 = i.getByte())) {
  2323. tslib_1.__classPrivateFieldGet(this, _FlateStream_instances, "m", _FlateStream_m).call(this, "Bad block header in flate stream");
  2324. return;
  2325. }
  2326. a_26 |= t_41 << 8;
  2327. if (-1 === (t_41 = i.getByte())) {
  2328. tslib_1.__classPrivateFieldGet(this, _FlateStream_instances, "m", _FlateStream_m).call(this, "Bad block header in flate stream");
  2329. return;
  2330. }
  2331. var s_22 = t_41;
  2332. if (-1 === (t_41 = i.getByte())) {
  2333. tslib_1.__classPrivateFieldGet(this, _FlateStream_instances, "m", _FlateStream_m).call(this, "Bad block header in flate stream");
  2334. return;
  2335. }
  2336. s_22 |= t_41 << 8;
  2337. if (s_22 !== (65535 & ~a_26) && (0 !== a_26 || 0 !== s_22))
  2338. throw new FormatError("Bad uncompressed block length in flate stream");
  2339. this.codeBuf = 0;
  2340. this.codeSize = 0;
  2341. var r_16 = this.bufferLength, n_8 = r_16 + a_26;
  2342. e = this.ensureBuffer(n_8);
  2343. this.bufferLength = n_8;
  2344. if (0 === a_26)
  2345. -1 === i.peekByte() && (this.eof = !0);
  2346. else {
  2347. var t_42 = i.getBytes(a_26);
  2348. e.set(t_42, r_16);
  2349. t_42.length < a_26 && (this.eof = !0);
  2350. }
  2351. return;
  2352. } if (1 === r) {
  2353. a = Kt;
  2354. s = Tt;
  2355. }
  2356. else {
  2357. if (2 !== r)
  2358. throw new FormatError("Unknown block type in flate stream");
  2359. {
  2360. var e_48 = this.getBits(5) + 257, i_34 = this.getBits(5) + 1, r_17 = this.getBits(4) + 4, n_9 = new Uint8Array(Ht.length);
  2361. var o_5;
  2362. for (o_5 = 0; o_5 < r_17; ++o_5)
  2363. n_9[Ht[o_5]] = this.getBits(3);
  2364. var g_4 = this.generateHuffmanTable(n_9);
  2365. t = 0;
  2366. o_5 = 0;
  2367. var c_3 = e_48 + i_34, h_2 = new Uint8Array(c_3);
  2368. var l_2, C_2, Q_3;
  2369. for (; o_5 < c_3;) {
  2370. var e_49 = this.getCode(g_4);
  2371. if (16 === e_49) {
  2372. l_2 = 2;
  2373. C_2 = 3;
  2374. Q_3 = t;
  2375. }
  2376. else if (17 === e_49) {
  2377. l_2 = 3;
  2378. C_2 = 3;
  2379. Q_3 = t = 0;
  2380. }
  2381. else {
  2382. if (18 !== e_49) {
  2383. h_2[o_5++] = t = e_49;
  2384. continue;
  2385. }
  2386. l_2 = 7;
  2387. C_2 = 11;
  2388. Q_3 = t = 0;
  2389. }
  2390. var i_35 = this.getBits(l_2) + C_2;
  2391. for (; i_35-- > 0;)
  2392. h_2[o_5++] = Q_3;
  2393. }
  2394. a = this.generateHuffmanTable(h_2.subarray(0, e_48));
  2395. s = this.generateHuffmanTable(h_2.subarray(e_48, c_3));
  2396. }
  2397. } e = this.buffer; var n = e ? e.length : 0, o = this.bufferLength; for (;;) {
  2398. var i_36 = this.getCode(a);
  2399. if (i_36 < 256) {
  2400. if (o + 1 >= n) {
  2401. e = this.ensureBuffer(o + 1);
  2402. n = e.length;
  2403. }
  2404. e[o++] = i_36;
  2405. continue;
  2406. }
  2407. if (256 === i_36) {
  2408. this.bufferLength = o;
  2409. return;
  2410. }
  2411. i_36 -= 257;
  2412. i_36 = Yt[i_36];
  2413. var r_18 = i_36 >> 16;
  2414. r_18 > 0 && (r_18 = this.getBits(r_18));
  2415. t = (65535 & i_36) + r_18;
  2416. i_36 = this.getCode(s);
  2417. i_36 = vt[i_36];
  2418. r_18 = i_36 >> 16;
  2419. r_18 > 0 && (r_18 = this.getBits(r_18));
  2420. var g_5 = (65535 & i_36) + r_18;
  2421. if (o + t >= n) {
  2422. e = this.ensureBuffer(o + t);
  2423. n = e.length;
  2424. }
  2425. for (var i_37 = 0; i_37 < t; ++i_37, ++o)
  2426. e[o] = e[o - g_5];
  2427. } };
  2428. return FlateStream;
  2429. }(DecodeStream));
  2430. _FlateStream_instances = new WeakSet(), _FlateStream_m = function _FlateStream_m(e) { info(e); this.eof = !0; };
  2431. var qt = [{ qe: 22017, nmps: 1, nlps: 1, switchFlag: 1 }, { qe: 13313, nmps: 2, nlps: 6, switchFlag: 0 }, { qe: 6145, nmps: 3, nlps: 9, switchFlag: 0 }, { qe: 2753, nmps: 4, nlps: 12, switchFlag: 0 }, { qe: 1313, nmps: 5, nlps: 29, switchFlag: 0 }, { qe: 545, nmps: 38, nlps: 33, switchFlag: 0 }, { qe: 22017, nmps: 7, nlps: 6, switchFlag: 1 }, { qe: 21505, nmps: 8, nlps: 14, switchFlag: 0 }, { qe: 18433, nmps: 9, nlps: 14, switchFlag: 0 }, { qe: 14337, nmps: 10, nlps: 14, switchFlag: 0 }, { qe: 12289, nmps: 11, nlps: 17, switchFlag: 0 }, { qe: 9217, nmps: 12, nlps: 18, switchFlag: 0 }, { qe: 7169, nmps: 13, nlps: 20, switchFlag: 0 }, { qe: 5633, nmps: 29, nlps: 21, switchFlag: 0 }, { qe: 22017, nmps: 15, nlps: 14, switchFlag: 1 }, { qe: 21505, nmps: 16, nlps: 14, switchFlag: 0 }, { qe: 20737, nmps: 17, nlps: 15, switchFlag: 0 }, { qe: 18433, nmps: 18, nlps: 16, switchFlag: 0 }, { qe: 14337, nmps: 19, nlps: 17, switchFlag: 0 }, { qe: 13313, nmps: 20, nlps: 18, switchFlag: 0 }, { qe: 12289, nmps: 21, nlps: 19, switchFlag: 0 }, { qe: 10241, nmps: 22, nlps: 19, switchFlag: 0 }, { qe: 9217, nmps: 23, nlps: 20, switchFlag: 0 }, { qe: 8705, nmps: 24, nlps: 21, switchFlag: 0 }, { qe: 7169, nmps: 25, nlps: 22, switchFlag: 0 }, { qe: 6145, nmps: 26, nlps: 23, switchFlag: 0 }, { qe: 5633, nmps: 27, nlps: 24, switchFlag: 0 }, { qe: 5121, nmps: 28, nlps: 25, switchFlag: 0 }, { qe: 4609, nmps: 29, nlps: 26, switchFlag: 0 }, { qe: 4353, nmps: 30, nlps: 27, switchFlag: 0 }, { qe: 2753, nmps: 31, nlps: 28, switchFlag: 0 }, { qe: 2497, nmps: 32, nlps: 29, switchFlag: 0 }, { qe: 2209, nmps: 33, nlps: 30, switchFlag: 0 }, { qe: 1313, nmps: 34, nlps: 31, switchFlag: 0 }, { qe: 1089, nmps: 35, nlps: 32, switchFlag: 0 }, { qe: 673, nmps: 36, nlps: 33, switchFlag: 0 }, { qe: 545, nmps: 37, nlps: 34, switchFlag: 0 }, { qe: 321, nmps: 38, nlps: 35, switchFlag: 0 }, { qe: 273, nmps: 39, nlps: 36, switchFlag: 0 }, { qe: 133, nmps: 40, nlps: 37, switchFlag: 0 }, { qe: 73, nmps: 41, nlps: 38, switchFlag: 0 }, { qe: 37, nmps: 42, nlps: 39, switchFlag: 0 }, { qe: 21, nmps: 43, nlps: 40, switchFlag: 0 }, { qe: 9, nmps: 44, nlps: 41, switchFlag: 0 }, { qe: 5, nmps: 45, nlps: 42, switchFlag: 0 }, { qe: 1, nmps: 45, nlps: 43, switchFlag: 0 }, { qe: 22017, nmps: 46, nlps: 46, switchFlag: 0 }];
  2432. var ArithmeticDecoder = /** @class */ (function () {
  2433. function ArithmeticDecoder(e, t, i) {
  2434. this.data = e;
  2435. this.bp = t;
  2436. this.dataEnd = i;
  2437. this.chigh = e[t];
  2438. this.clow = 0;
  2439. this.byteIn();
  2440. this.chigh = this.chigh << 7 & 65535 | this.clow >> 9 & 127;
  2441. this.clow = this.clow << 7 & 65535;
  2442. this.ct -= 7;
  2443. this.a = 32768;
  2444. }
  2445. ArithmeticDecoder.prototype.byteIn = function () { var e = this.data; var t = this.bp; if (255 === e[t])
  2446. if (e[t + 1] > 143) {
  2447. this.clow += 65280;
  2448. this.ct = 8;
  2449. }
  2450. else {
  2451. t++;
  2452. this.clow += e[t] << 9;
  2453. this.ct = 7;
  2454. this.bp = t;
  2455. }
  2456. else {
  2457. t++;
  2458. this.clow += t < this.dataEnd ? e[t] << 8 : 65280;
  2459. this.ct = 8;
  2460. this.bp = t;
  2461. } if (this.clow > 65535) {
  2462. this.chigh += this.clow >> 16;
  2463. this.clow &= 65535;
  2464. } };
  2465. ArithmeticDecoder.prototype.readBit = function (e, t) { var i = e[t] >> 1, a = 1 & e[t]; var s = qt[i], r = s.qe; var n, o = this.a - r; if (this.chigh < r)
  2466. if (o < r) {
  2467. o = r;
  2468. n = a;
  2469. i = s.nmps;
  2470. }
  2471. else {
  2472. o = r;
  2473. n = 1 ^ a;
  2474. 1 === s.switchFlag && (a = n);
  2475. i = s.nlps;
  2476. }
  2477. else {
  2478. this.chigh -= r;
  2479. if (0 != (32768 & o)) {
  2480. this.a = o;
  2481. return a;
  2482. }
  2483. if (o < r) {
  2484. n = 1 ^ a;
  2485. 1 === s.switchFlag && (a = n);
  2486. i = s.nlps;
  2487. }
  2488. else {
  2489. n = a;
  2490. i = s.nmps;
  2491. }
  2492. } do {
  2493. 0 === this.ct && this.byteIn();
  2494. o <<= 1;
  2495. this.chigh = this.chigh << 1 & 65535 | this.clow >> 15 & 1;
  2496. this.clow = this.clow << 1 & 65535;
  2497. this.ct--;
  2498. } while (0 == (32768 & o)); this.a = o; e[t] = i << 1 | a; return n; };
  2499. return ArithmeticDecoder;
  2500. }());
  2501. var Jbig2Error = /** @class */ (function (_super) {
  2502. tslib_1.__extends(Jbig2Error, _super);
  2503. function Jbig2Error(e) {
  2504. return _super.call(this, e, "Jbig2Error") || this;
  2505. }
  2506. return Jbig2Error;
  2507. }(rt));
  2508. var ContextCache = /** @class */ (function () {
  2509. function ContextCache() {
  2510. }
  2511. ContextCache.prototype.getContexts = function (e) { return e in this ? this[e] : this[e] = new Int8Array(65536); };
  2512. return ContextCache;
  2513. }());
  2514. var DecodingContext = /** @class */ (function () {
  2515. function DecodingContext(e, t, i) {
  2516. this.data = e;
  2517. this.start = t;
  2518. this.end = i;
  2519. }
  2520. Object.defineProperty(DecodingContext.prototype, "decoder", {
  2521. get: function () { return shadow(this, "decoder", new ArithmeticDecoder(this.data, this.start, this.end)); },
  2522. enumerable: false,
  2523. configurable: true
  2524. });
  2525. Object.defineProperty(DecodingContext.prototype, "contextCache", {
  2526. get: function () { return shadow(this, "contextCache", new ContextCache); },
  2527. enumerable: false,
  2528. configurable: true
  2529. });
  2530. return DecodingContext;
  2531. }());
  2532. var Ot = Math.pow(2, 31) - 1, Pt = -(Math.pow(2, 31));
  2533. function decodeInteger(e, t, i) { var a = e.getContexts(t); var s = 1; function readBits(e) { var t = 0; for (var r_19 = 0; r_19 < e; r_19++) {
  2534. var e_50 = i.readBit(a, s);
  2535. s = s < 256 ? s << 1 | e_50 : 511 & (s << 1 | e_50) | 256;
  2536. t = t << 1 | e_50;
  2537. } return t >>> 0; } var r = readBits(1), n = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2); var o; 0 === r ? o = n : n > 0 && (o = -n); return o >= Pt && o <= Ot ? o : null; }
  2538. function decodeIAID(e, t, i) { var a = e.getContexts("IAID"); var s = 1; for (var e_51 = 0; e_51 < i; e_51++) {
  2539. s = s << 1 | t.readBit(a, s);
  2540. } return i < 31 ? s & (1 << i) - 1 : 2147483647 & s; }
  2541. var Wt = ["SymbolDictionary", null, null, null, "IntermediateTextRegion", null, "ImmediateTextRegion", "ImmediateLosslessTextRegion", null, null, null, null, null, null, null, null, "PatternDictionary", null, null, null, "IntermediateHalftoneRegion", null, "ImmediateHalftoneRegion", "ImmediateLosslessHalftoneRegion", null, null, null, null, null, null, null, null, null, null, null, null, "IntermediateGenericRegion", null, "ImmediateGenericRegion", "ImmediateLosslessGenericRegion", "IntermediateGenericRefinementRegion", null, "ImmediateGenericRefinementRegion", "ImmediateLosslessGenericRefinementRegion", null, null, null, null, "PageInformation", "EndOfPage", "EndOfStripe", "EndOfFile", "Profiles", "Tables", null, null, null, null, null, null, null, null, "Extension"], Xt = [[{ x: -1, y: -2 }, { x: 0, y: -2 }, { x: 1, y: -2 }, { x: -2, y: -1 }, { x: -1, y: -1 }, { x: 0, y: -1 }, { x: 1, y: -1 }, { x: 2, y: -1 }, { x: -4, y: 0 }, { x: -3, y: 0 }, { x: -2, y: 0 }, { x: -1, y: 0 }], [{ x: -1, y: -2 }, { x: 0, y: -2 }, { x: 1, y: -2 }, { x: 2, y: -2 }, { x: -2, y: -1 }, { x: -1, y: -1 }, { x: 0, y: -1 }, { x: 1, y: -1 }, { x: 2, y: -1 }, { x: -3, y: 0 }, { x: -2, y: 0 }, { x: -1, y: 0 }], [{ x: -1, y: -2 }, { x: 0, y: -2 }, { x: 1, y: -2 }, { x: -2, y: -1 }, { x: -1, y: -1 }, { x: 0, y: -1 }, { x: 1, y: -1 }, { x: -2, y: 0 }, { x: -1, y: 0 }], [{ x: -3, y: -1 }, { x: -2, y: -1 }, { x: -1, y: -1 }, { x: 0, y: -1 }, { x: 1, y: -1 }, { x: -4, y: 0 }, { x: -3, y: 0 }, { x: -2, y: 0 }, { x: -1, y: 0 }]], jt = [{ coding: [{ x: 0, y: -1 }, { x: 1, y: -1 }, { x: -1, y: 0 }], reference: [{ x: 0, y: -1 }, { x: 1, y: -1 }, { x: -1, y: 0 }, { x: 0, y: 0 }, { x: 1, y: 0 }, { x: -1, y: 1 }, { x: 0, y: 1 }, { x: 1, y: 1 }] }, { coding: [{ x: -1, y: -1 }, { x: 0, y: -1 }, { x: 1, y: -1 }, { x: -1, y: 0 }], reference: [{ x: 0, y: -1 }, { x: -1, y: 0 }, { x: 0, y: 0 }, { x: 1, y: 0 }, { x: 0, y: 1 }, { x: 1, y: 1 }] }], Zt = [39717, 1941, 229, 405], Vt = [32, 8];
  2542. function decodeBitmap(e, t, i, a, s, r, n, o) { if (e) {
  2543. return decodeMMRBitmap(new Reader(o.data, o.start, o.end), t, i, !1);
  2544. } if (0 === a && !r && !s && 4 === n.length && 3 === n[0].x && -1 === n[0].y && -3 === n[1].x && -1 === n[1].y && 2 === n[2].x && -2 === n[2].y && -2 === n[3].x && -2 === n[3].y)
  2545. return function decodeBitmapTemplate0(e, t, i) { var a = i.decoder, s = i.contextCache.getContexts("GB"), r = []; var n, o, g, c, h, l, C; for (o = 0; o < t; o++) {
  2546. h = r[o] = new Uint8Array(e);
  2547. l = o < 1 ? h : r[o - 1];
  2548. C = o < 2 ? h : r[o - 2];
  2549. n = C[0] << 13 | C[1] << 12 | C[2] << 11 | l[0] << 7 | l[1] << 6 | l[2] << 5 | l[3] << 4;
  2550. for (g = 0; g < e; g++) {
  2551. h[g] = c = a.readBit(s, n);
  2552. n = (31735 & n) << 1 | (g + 3 < e ? C[g + 3] << 11 : 0) | (g + 4 < e ? l[g + 4] << 4 : 0) | c;
  2553. }
  2554. } return r; }(t, i, o); var g = !!r, c = Xt[a].concat(n); c.sort((function (e, t) { return e.y - t.y || e.x - t.x; })); var h = c.length, l = new Int8Array(h), C = new Int8Array(h), Q = []; var E, u, d = 0, f = 0, p = 0, m = 0; for (u = 0; u < h; u++) {
  2555. l[u] = c[u].x;
  2556. C[u] = c[u].y;
  2557. f = Math.min(f, c[u].x);
  2558. p = Math.max(p, c[u].x);
  2559. m = Math.min(m, c[u].y);
  2560. u < h - 1 && c[u].y === c[u + 1].y && c[u].x === c[u + 1].x - 1 ? d |= 1 << h - 1 - u : Q.push(u);
  2561. } var y = Q.length, w = new Int8Array(y), b = new Int8Array(y), D = new Uint16Array(y); for (E = 0; E < y; E++) {
  2562. u = Q[E];
  2563. w[E] = c[u].x;
  2564. b[E] = c[u].y;
  2565. D[E] = 1 << h - 1 - u;
  2566. } var F = -f, S = -m, k = t - p, R = Zt[a]; var N = new Uint8Array(t); var G = [], x = o.decoder, M = o.contextCache.getContexts("GB"); var U, L, J, H, Y, v = 0, K = 0; for (var e_52 = 0; e_52 < i; e_52++) {
  2567. if (s) {
  2568. v ^= x.readBit(M, R);
  2569. if (v) {
  2570. G.push(N);
  2571. continue;
  2572. }
  2573. }
  2574. N = new Uint8Array(N);
  2575. G.push(N);
  2576. for (U = 0; U < t; U++) {
  2577. if (g && r[e_52][U]) {
  2578. N[U] = 0;
  2579. continue;
  2580. }
  2581. if (U >= F && U < k && e_52 >= S) {
  2582. K = K << 1 & d;
  2583. for (u = 0; u < y; u++) {
  2584. L = e_52 + b[u];
  2585. J = U + w[u];
  2586. H = G[L][J];
  2587. if (H) {
  2588. H = D[u];
  2589. K |= H;
  2590. }
  2591. }
  2592. }
  2593. else {
  2594. K = 0;
  2595. Y = h - 1;
  2596. for (u = 0; u < h; u++, Y--) {
  2597. J = U + l[u];
  2598. if (J >= 0 && J < t) {
  2599. L = e_52 + C[u];
  2600. if (L >= 0) {
  2601. H = G[L][J];
  2602. H && (K |= H << Y);
  2603. }
  2604. }
  2605. }
  2606. }
  2607. var i_38 = x.readBit(M, K);
  2608. N[U] = i_38;
  2609. }
  2610. } return G; }
  2611. function decodeRefinement(e, t, i, a, s, r, n, o, g) { var c = jt[i].coding; 0 === i && (c = c.concat([o[0]])); var h = c.length, l = new Int32Array(h), C = new Int32Array(h); var Q; for (Q = 0; Q < h; Q++) {
  2612. l[Q] = c[Q].x;
  2613. C[Q] = c[Q].y;
  2614. } var E = jt[i].reference; 0 === i && (E = E.concat([o[1]])); var u = E.length, d = new Int32Array(u), f = new Int32Array(u); for (Q = 0; Q < u; Q++) {
  2615. d[Q] = E[Q].x;
  2616. f[Q] = E[Q].y;
  2617. } var p = a[0].length, m = a.length, y = Vt[i], w = [], b = g.decoder, D = g.contextCache.getContexts("GR"); var F = 0; for (var i_39 = 0; i_39 < t; i_39++) {
  2618. if (n) {
  2619. F ^= b.readBit(D, y);
  2620. if (F)
  2621. throw new Jbig2Error("prediction is not supported");
  2622. }
  2623. var t_43 = new Uint8Array(e);
  2624. w.push(t_43);
  2625. for (var n_10 = 0; n_10 < e; n_10++) {
  2626. var o_6 = void 0, g_6 = void 0, c_4 = 0;
  2627. for (Q = 0; Q < h; Q++) {
  2628. o_6 = i_39 + C[Q];
  2629. g_6 = n_10 + l[Q];
  2630. o_6 < 0 || g_6 < 0 || g_6 >= e ? c_4 <<= 1 : c_4 = c_4 << 1 | w[o_6][g_6];
  2631. }
  2632. for (Q = 0; Q < u; Q++) {
  2633. o_6 = i_39 + f[Q] - r;
  2634. g_6 = n_10 + d[Q] - s;
  2635. o_6 < 0 || o_6 >= m || g_6 < 0 || g_6 >= p ? c_4 <<= 1 : c_4 = c_4 << 1 | a[o_6][g_6];
  2636. }
  2637. var E_3 = b.readBit(D, c_4);
  2638. t_43[n_10] = E_3;
  2639. }
  2640. } return w; }
  2641. function decodeTextRegion(e, t, i, a, s, r, n, o, g, c, h, l, C, Q, E, u, d, f, p) { if (e && t)
  2642. throw new Jbig2Error("refinement with Huffman is not supported"); var m = []; var y, w; for (y = 0; y < a; y++) {
  2643. w = new Uint8Array(i);
  2644. if (s)
  2645. for (var e_53 = 0; e_53 < i; e_53++)
  2646. w[e_53] = s;
  2647. m.push(w);
  2648. } var b = d.decoder, D = d.contextCache; var F = e ? -Q.tableDeltaT.decode(p) : -decodeInteger(D, "IADT", b), S = 0; y = 0; for (; y < r;) {
  2649. F += e ? Q.tableDeltaT.decode(p) : decodeInteger(D, "IADT", b);
  2650. S += e ? Q.tableFirstS.decode(p) : decodeInteger(D, "IAFS", b);
  2651. var a_27 = S;
  2652. for (;;) {
  2653. var s_23 = 0;
  2654. n > 1 && (s_23 = e ? p.readBits(f) : decodeInteger(D, "IAIT", b));
  2655. var r_20 = n * F + s_23, S_1 = e ? Q.symbolIDTable.decode(p) : decodeIAID(D, b, g), k_1 = t && (e ? p.readBit() : decodeInteger(D, "IARI", b));
  2656. var R_1 = o[S_1], N_1 = R_1[0].length, G_1 = R_1.length;
  2657. if (k_1) {
  2658. var e_54 = decodeInteger(D, "IARDW", b), t_44 = decodeInteger(D, "IARDH", b);
  2659. N_1 += e_54;
  2660. G_1 += t_44;
  2661. R_1 = decodeRefinement(N_1, G_1, E, R_1, (e_54 >> 1) + decodeInteger(D, "IARDX", b), (t_44 >> 1) + decodeInteger(D, "IARDY", b), !1, u, d);
  2662. }
  2663. var x_1 = 0;
  2664. c ? 1 & l ? x_1 = G_1 - 1 : a_27 += G_1 - 1 : l > 1 ? a_27 += N_1 - 1 : x_1 = N_1 - 1;
  2665. var M_1 = r_20 - (1 & l ? 0 : G_1 - 1), U_1 = a_27 - (2 & l ? N_1 - 1 : 0);
  2666. var L_1 = void 0, J_1 = void 0, H_1 = void 0;
  2667. if (c)
  2668. for (L_1 = 0; L_1 < G_1; L_1++) {
  2669. w = m[U_1 + L_1];
  2670. if (!w)
  2671. continue;
  2672. H_1 = R_1[L_1];
  2673. var e_55 = Math.min(i - M_1, N_1);
  2674. switch (C) {
  2675. case 0:
  2676. for (J_1 = 0; J_1 < e_55; J_1++)
  2677. w[M_1 + J_1] |= H_1[J_1];
  2678. break;
  2679. case 2:
  2680. for (J_1 = 0; J_1 < e_55; J_1++)
  2681. w[M_1 + J_1] ^= H_1[J_1];
  2682. break;
  2683. default: throw new Jbig2Error("operator ".concat(C, " is not supported"));
  2684. }
  2685. }
  2686. else
  2687. for (J_1 = 0; J_1 < G_1; J_1++) {
  2688. w = m[M_1 + J_1];
  2689. if (w) {
  2690. H_1 = R_1[J_1];
  2691. switch (C) {
  2692. case 0:
  2693. for (L_1 = 0; L_1 < N_1; L_1++)
  2694. w[U_1 + L_1] |= H_1[L_1];
  2695. break;
  2696. case 2:
  2697. for (L_1 = 0; L_1 < N_1; L_1++)
  2698. w[U_1 + L_1] ^= H_1[L_1];
  2699. break;
  2700. default: throw new Jbig2Error("operator ".concat(C, " is not supported"));
  2701. }
  2702. }
  2703. }
  2704. y++;
  2705. var Y_1 = e ? Q.tableDeltaS.decode(p) : decodeInteger(D, "IADS", b);
  2706. if (null === Y_1)
  2707. break;
  2708. a_27 += x_1 + Y_1 + h;
  2709. }
  2710. } return m; }
  2711. function readSegmentHeader(e, t) { var i = {}; i.number = readUint32(e, t); var a = e[t + 4], s = 63 & a; if (!Wt[s])
  2712. throw new Jbig2Error("invalid segment type: " + s); i.type = s; i.typeName = Wt[s]; i.deferredNonRetain = !!(128 & a); var r = !!(64 & a), n = e[t + 5]; var o = n >> 5 & 7; var g = [31 & n]; var c = t + 6; if (7 === n) {
  2713. o = 536870911 & readUint32(e, c - 1);
  2714. c += 3;
  2715. var t_45 = o + 7 >> 3;
  2716. g[0] = e[c++];
  2717. for (; --t_45 > 0;)
  2718. g.push(e[c++]);
  2719. }
  2720. else if (5 === n || 6 === n)
  2721. throw new Jbig2Error("invalid referred-to flags"); i.retainBits = g; var h = 4; i.number <= 256 ? h = 1 : i.number <= 65536 && (h = 2); var l = []; var C, Q; for (C = 0; C < o; C++) {
  2722. var t_46 = void 0;
  2723. t_46 = 1 === h ? e[c] : 2 === h ? readUint16(e, c) : readUint32(e, c);
  2724. l.push(t_46);
  2725. c += h;
  2726. } i.referredTo = l; if (r) {
  2727. i.pageAssociation = readUint32(e, c);
  2728. c += 4;
  2729. }
  2730. else
  2731. i.pageAssociation = e[c++]; i.length = readUint32(e, c); c += 4; if (4294967295 === i.length) {
  2732. if (38 !== s)
  2733. throw new Jbig2Error("invalid unknown segment length");
  2734. {
  2735. var t_47 = readRegionSegmentInformation(e, c), a_28 = !!(1 & e[c + zt]), s_24 = 6, r_21 = new Uint8Array(s_24);
  2736. if (!a_28) {
  2737. r_21[0] = 255;
  2738. r_21[1] = 172;
  2739. }
  2740. r_21[2] = t_47.height >>> 24 & 255;
  2741. r_21[3] = t_47.height >> 16 & 255;
  2742. r_21[4] = t_47.height >> 8 & 255;
  2743. r_21[5] = 255 & t_47.height;
  2744. for (C = c, Q = e.length; C < Q; C++) {
  2745. var t_48 = 0;
  2746. for (; t_48 < s_24 && r_21[t_48] === e[C + t_48];)
  2747. t_48++;
  2748. if (t_48 === s_24) {
  2749. i.length = C + s_24;
  2750. break;
  2751. }
  2752. }
  2753. if (4294967295 === i.length)
  2754. throw new Jbig2Error("segment end was not found");
  2755. }
  2756. } i.headerEnd = c; return i; }
  2757. function readSegments(e, t, i, a) { var s = []; var r = i; for (; r < a;) {
  2758. var i_40 = readSegmentHeader(t, r);
  2759. r = i_40.headerEnd;
  2760. var a_29 = { header: i_40, data: t };
  2761. if (!e.randomAccess) {
  2762. a_29.start = r;
  2763. r += i_40.length;
  2764. a_29.end = r;
  2765. }
  2766. s.push(a_29);
  2767. if (51 === i_40.type)
  2768. break;
  2769. } if (e.randomAccess)
  2770. for (var e_56 = 0, t_49 = s.length; e_56 < t_49; e_56++) {
  2771. s[e_56].start = r;
  2772. r += s[e_56].header.length;
  2773. s[e_56].end = r;
  2774. } return s; }
  2775. function readRegionSegmentInformation(e, t) { return { width: readUint32(e, t), height: readUint32(e, t + 4), x: readUint32(e, t + 8), y: readUint32(e, t + 12), combinationOperator: 7 & e[t + 16] }; }
  2776. var zt = 17;
  2777. function processSegment(e, t) { var i = e.header, a = e.data, s = e.end; var r, n, o, g, c = e.start; switch (i.type) {
  2778. case 0:
  2779. var e_57 = {}, t_50 = readUint16(a, c);
  2780. e_57.huffman = !!(1 & t_50);
  2781. e_57.refinement = !!(2 & t_50);
  2782. e_57.huffmanDHSelector = t_50 >> 2 & 3;
  2783. e_57.huffmanDWSelector = t_50 >> 4 & 3;
  2784. e_57.bitmapSizeSelector = t_50 >> 6 & 1;
  2785. e_57.aggregationInstancesSelector = t_50 >> 7 & 1;
  2786. e_57.bitmapCodingContextUsed = !!(256 & t_50);
  2787. e_57.bitmapCodingContextRetained = !!(512 & t_50);
  2788. e_57.template = t_50 >> 10 & 3;
  2789. e_57.refinementTemplate = t_50 >> 12 & 1;
  2790. c += 2;
  2791. if (!e_57.huffman) {
  2792. g = 0 === e_57.template ? 4 : 1;
  2793. n = [];
  2794. for (o = 0; o < g; o++) {
  2795. n.push({ x: readInt8(a, c), y: readInt8(a, c + 1) });
  2796. c += 2;
  2797. }
  2798. e_57.at = n;
  2799. }
  2800. if (e_57.refinement && !e_57.refinementTemplate) {
  2801. n = [];
  2802. for (o = 0; o < 2; o++) {
  2803. n.push({ x: readInt8(a, c), y: readInt8(a, c + 1) });
  2804. c += 2;
  2805. }
  2806. e_57.refinementAt = n;
  2807. }
  2808. e_57.numberOfExportedSymbols = readUint32(a, c);
  2809. c += 4;
  2810. e_57.numberOfNewSymbols = readUint32(a, c);
  2811. c += 4;
  2812. r = [e_57, i.number, i.referredTo, a, c, s];
  2813. break;
  2814. case 6:
  2815. case 7:
  2816. var h_3 = {};
  2817. h_3.info = readRegionSegmentInformation(a, c);
  2818. c += zt;
  2819. var l_3 = readUint16(a, c);
  2820. c += 2;
  2821. h_3.huffman = !!(1 & l_3);
  2822. h_3.refinement = !!(2 & l_3);
  2823. h_3.logStripSize = l_3 >> 2 & 3;
  2824. h_3.stripSize = 1 << h_3.logStripSize;
  2825. h_3.referenceCorner = l_3 >> 4 & 3;
  2826. h_3.transposed = !!(64 & l_3);
  2827. h_3.combinationOperator = l_3 >> 7 & 3;
  2828. h_3.defaultPixelValue = l_3 >> 9 & 1;
  2829. h_3.dsOffset = l_3 << 17 >> 27;
  2830. h_3.refinementTemplate = l_3 >> 15 & 1;
  2831. if (h_3.huffman) {
  2832. var e_58 = readUint16(a, c);
  2833. c += 2;
  2834. h_3.huffmanFS = 3 & e_58;
  2835. h_3.huffmanDS = e_58 >> 2 & 3;
  2836. h_3.huffmanDT = e_58 >> 4 & 3;
  2837. h_3.huffmanRefinementDW = e_58 >> 6 & 3;
  2838. h_3.huffmanRefinementDH = e_58 >> 8 & 3;
  2839. h_3.huffmanRefinementDX = e_58 >> 10 & 3;
  2840. h_3.huffmanRefinementDY = e_58 >> 12 & 3;
  2841. h_3.huffmanRefinementSizeSelector = !!(16384 & e_58);
  2842. }
  2843. if (h_3.refinement && !h_3.refinementTemplate) {
  2844. n = [];
  2845. for (o = 0; o < 2; o++) {
  2846. n.push({ x: readInt8(a, c), y: readInt8(a, c + 1) });
  2847. c += 2;
  2848. }
  2849. h_3.refinementAt = n;
  2850. }
  2851. h_3.numberOfSymbolInstances = readUint32(a, c);
  2852. c += 4;
  2853. r = [h_3, i.referredTo, a, c, s];
  2854. break;
  2855. case 16:
  2856. var C_3 = {}, Q_4 = a[c++];
  2857. C_3.mmr = !!(1 & Q_4);
  2858. C_3.template = Q_4 >> 1 & 3;
  2859. C_3.patternWidth = a[c++];
  2860. C_3.patternHeight = a[c++];
  2861. C_3.maxPatternIndex = readUint32(a, c);
  2862. c += 4;
  2863. r = [C_3, i.number, a, c, s];
  2864. break;
  2865. case 22:
  2866. case 23:
  2867. var E_4 = {};
  2868. E_4.info = readRegionSegmentInformation(a, c);
  2869. c += zt;
  2870. var u_2 = a[c++];
  2871. E_4.mmr = !!(1 & u_2);
  2872. E_4.template = u_2 >> 1 & 3;
  2873. E_4.enableSkip = !!(8 & u_2);
  2874. E_4.combinationOperator = u_2 >> 4 & 7;
  2875. E_4.defaultPixelValue = u_2 >> 7 & 1;
  2876. E_4.gridWidth = readUint32(a, c);
  2877. c += 4;
  2878. E_4.gridHeight = readUint32(a, c);
  2879. c += 4;
  2880. E_4.gridOffsetX = 4294967295 & readUint32(a, c);
  2881. c += 4;
  2882. E_4.gridOffsetY = 4294967295 & readUint32(a, c);
  2883. c += 4;
  2884. E_4.gridVectorX = readUint16(a, c);
  2885. c += 2;
  2886. E_4.gridVectorY = readUint16(a, c);
  2887. c += 2;
  2888. r = [E_4, i.referredTo, a, c, s];
  2889. break;
  2890. case 38:
  2891. case 39:
  2892. var d_2 = {};
  2893. d_2.info = readRegionSegmentInformation(a, c);
  2894. c += zt;
  2895. var f_2 = a[c++];
  2896. d_2.mmr = !!(1 & f_2);
  2897. d_2.template = f_2 >> 1 & 3;
  2898. d_2.prediction = !!(8 & f_2);
  2899. if (!d_2.mmr) {
  2900. g = 0 === d_2.template ? 4 : 1;
  2901. n = [];
  2902. for (o = 0; o < g; o++) {
  2903. n.push({ x: readInt8(a, c), y: readInt8(a, c + 1) });
  2904. c += 2;
  2905. }
  2906. d_2.at = n;
  2907. }
  2908. r = [d_2, a, c, s];
  2909. break;
  2910. case 48:
  2911. var p_2 = { width: readUint32(a, c), height: readUint32(a, c + 4), resolutionX: readUint32(a, c + 8), resolutionY: readUint32(a, c + 12) };
  2912. 4294967295 === p_2.height && delete p_2.height;
  2913. var m_1 = a[c + 16];
  2914. readUint16(a, c + 17);
  2915. p_2.lossless = !!(1 & m_1);
  2916. p_2.refinement = !!(2 & m_1);
  2917. p_2.defaultPixelValue = m_1 >> 2 & 1;
  2918. p_2.combinationOperator = m_1 >> 3 & 3;
  2919. p_2.requiresBuffer = !!(32 & m_1);
  2920. p_2.combinationOperatorOverride = !!(64 & m_1);
  2921. r = [p_2];
  2922. break;
  2923. case 49:
  2924. case 50:
  2925. case 51:
  2926. case 62: break;
  2927. case 53:
  2928. r = [i.number, a, c, s];
  2929. break;
  2930. default: throw new Jbig2Error("segment type ".concat(i.typeName, "(").concat(i.type, ") is not implemented"));
  2931. } var h = "on" + i.typeName; h in t && t[h].apply(t, r); }
  2932. function processSegments(e, t) { for (var i_41 = 0, a_30 = e.length; i_41 < a_30; i_41++)
  2933. processSegment(e[i_41], t); }
  2934. var SimpleSegmentVisitor = /** @class */ (function () {
  2935. function SimpleSegmentVisitor() {
  2936. }
  2937. SimpleSegmentVisitor.prototype.onPageInformation = function (e) { this.currentPageInfo = e; var t = e.width + 7 >> 3, i = new Uint8ClampedArray(t * e.height); e.defaultPixelValue && i.fill(255); this.buffer = i; };
  2938. SimpleSegmentVisitor.prototype.drawBitmap = function (e, t) { var i = this.currentPageInfo, a = e.width, s = e.height, r = i.width + 7 >> 3, n = i.combinationOperatorOverride ? e.combinationOperator : i.combinationOperator, o = this.buffer, g = 128 >> (7 & e.x); var c, h, l, C, Q = e.y * r + (e.x >> 3); switch (n) {
  2939. case 0:
  2940. for (c = 0; c < s; c++) {
  2941. l = g;
  2942. C = Q;
  2943. for (h = 0; h < a; h++) {
  2944. t[c][h] && (o[C] |= l);
  2945. l >>= 1;
  2946. if (!l) {
  2947. l = 128;
  2948. C++;
  2949. }
  2950. }
  2951. Q += r;
  2952. }
  2953. break;
  2954. case 2:
  2955. for (c = 0; c < s; c++) {
  2956. l = g;
  2957. C = Q;
  2958. for (h = 0; h < a; h++) {
  2959. t[c][h] && (o[C] ^= l);
  2960. l >>= 1;
  2961. if (!l) {
  2962. l = 128;
  2963. C++;
  2964. }
  2965. }
  2966. Q += r;
  2967. }
  2968. break;
  2969. default: throw new Jbig2Error("operator ".concat(n, " is not supported"));
  2970. } };
  2971. SimpleSegmentVisitor.prototype.onImmediateGenericRegion = function (e, t, i, a) { var s = e.info, r = new DecodingContext(t, i, a), n = decodeBitmap(e.mmr, s.width, s.height, e.template, e.prediction, null, e.at, r); this.drawBitmap(s, n); };
  2972. SimpleSegmentVisitor.prototype.onImmediateLosslessGenericRegion = function () { this.onImmediateGenericRegion.apply(this, arguments); };
  2973. SimpleSegmentVisitor.prototype.onSymbolDictionary = function (e, t, i, a, s, r) { var n, o; if (e.huffman) {
  2974. n = function getSymbolDictionaryHuffmanTables(e, t, i) { var a, s, r, n, o = 0; switch (e.huffmanDHSelector) {
  2975. case 0:
  2976. case 1:
  2977. a = getStandardTable(e.huffmanDHSelector + 4);
  2978. break;
  2979. case 3:
  2980. a = getCustomHuffmanTable(o, t, i);
  2981. o++;
  2982. break;
  2983. default: throw new Jbig2Error("invalid Huffman DH selector");
  2984. } switch (e.huffmanDWSelector) {
  2985. case 0:
  2986. case 1:
  2987. s = getStandardTable(e.huffmanDWSelector + 2);
  2988. break;
  2989. case 3:
  2990. s = getCustomHuffmanTable(o, t, i);
  2991. o++;
  2992. break;
  2993. default: throw new Jbig2Error("invalid Huffman DW selector");
  2994. } if (e.bitmapSizeSelector) {
  2995. r = getCustomHuffmanTable(o, t, i);
  2996. o++;
  2997. }
  2998. else
  2999. r = getStandardTable(1); n = e.aggregationInstancesSelector ? getCustomHuffmanTable(o, t, i) : getStandardTable(1); return { tableDeltaHeight: a, tableDeltaWidth: s, tableBitmapSize: r, tableAggregateInstances: n }; }(e, i, this.customTables);
  3000. o = new Reader(a, s, r);
  3001. } var g = this.symbols; g || (this.symbols = g = {}); var c = []; for (var _b = 0, i_42 = i; _b < i_42.length; _b++) {
  3002. var e_59 = i_42[_b];
  3003. var t_51 = g[e_59];
  3004. t_51 && c.push.apply(c, t_51);
  3005. } var h = new DecodingContext(a, s, r); g[t] = function decodeSymbolDictionary(e, t, i, a, s, r, n, o, g, c, h, l) { if (e && t)
  3006. throw new Jbig2Error("symbol refinement with Huffman is not supported"); var C = []; var Q = 0, E = log2(i.length + a); var u = h.decoder, d = h.contextCache; var f, p; if (e) {
  3007. f = getStandardTable(1);
  3008. p = [];
  3009. E = Math.max(E, 1);
  3010. } for (; C.length < a;) {
  3011. Q += e ? r.tableDeltaHeight.decode(l) : decodeInteger(d, "IADH", u);
  3012. var a_31 = 0, s_25 = 0;
  3013. var f_3 = e ? p.length : 0;
  3014. for (;;) {
  3015. var f_4 = e ? r.tableDeltaWidth.decode(l) : decodeInteger(d, "IADW", u);
  3016. if (null === f_4)
  3017. break;
  3018. a_31 += f_4;
  3019. s_25 += a_31;
  3020. var m_2 = void 0;
  3021. if (t) {
  3022. var s_26 = decodeInteger(d, "IAAI", u);
  3023. if (s_26 > 1)
  3024. m_2 = decodeTextRegion(e, t, a_31, Q, 0, s_26, 1, i.concat(C), E, 0, 0, 1, 0, r, g, c, h, 0, l);
  3025. else {
  3026. var e_60 = decodeIAID(d, u, E), t_52 = decodeInteger(d, "IARDX", u), s_27 = decodeInteger(d, "IARDY", u);
  3027. m_2 = decodeRefinement(a_31, Q, g, e_60 < i.length ? i[e_60] : C[e_60 - i.length], t_52, s_27, !1, c, h);
  3028. }
  3029. C.push(m_2);
  3030. }
  3031. else if (e)
  3032. p.push(a_31);
  3033. else {
  3034. m_2 = decodeBitmap(!1, a_31, Q, n, !1, null, o, h);
  3035. C.push(m_2);
  3036. }
  3037. }
  3038. if (e && !t) {
  3039. var e_61 = r.tableBitmapSize.decode(l);
  3040. l.byteAlign();
  3041. var t_53 = void 0;
  3042. if (0 === e_61)
  3043. t_53 = readUncompressedBitmap(l, s_25, Q);
  3044. else {
  3045. var i_43 = l.end, a_32 = l.position + e_61;
  3046. l.end = a_32;
  3047. t_53 = decodeMMRBitmap(l, s_25, Q, !1);
  3048. l.end = i_43;
  3049. l.position = a_32;
  3050. }
  3051. var i_44 = p.length;
  3052. if (f_3 === i_44 - 1)
  3053. C.push(t_53);
  3054. else {
  3055. var e_62 = void 0, a_33 = void 0, s_28 = void 0, r_22 = void 0, n_11 = void 0, o_7 = 0;
  3056. for (e_62 = f_3; e_62 < i_44; e_62++) {
  3057. r_22 = p[e_62];
  3058. s_28 = o_7 + r_22;
  3059. n_11 = [];
  3060. for (a_33 = 0; a_33 < Q; a_33++)
  3061. n_11.push(t_53[a_33].subarray(o_7, s_28));
  3062. C.push(n_11);
  3063. o_7 = s_28;
  3064. }
  3065. }
  3066. }
  3067. } var m = [], y = []; var w, b, D = !1; var F = i.length + a; for (; y.length < F;) {
  3068. var t_54 = e ? f.decode(l) : decodeInteger(d, "IAEX", u);
  3069. for (; t_54--;)
  3070. y.push(D);
  3071. D = !D;
  3072. } for (w = 0, b = i.length; w < b; w++)
  3073. y[w] && m.push(i[w]); for (var e_63 = 0; e_63 < a; w++, e_63++)
  3074. y[w] && m.push(C[e_63]); return m; }(e.huffman, e.refinement, c, e.numberOfNewSymbols, e.numberOfExportedSymbols, n, e.template, e.at, e.refinementTemplate, e.refinementAt, h, o); };
  3075. SimpleSegmentVisitor.prototype.onImmediateTextRegion = function (e, t, i, a, s) { var r = e.info; var n, o; var g = this.symbols, c = []; for (var _b = 0, t_55 = t; _b < t_55.length; _b++) {
  3076. var e_64 = t_55[_b];
  3077. var t_56 = g[e_64];
  3078. t_56 && c.push.apply(c, t_56);
  3079. } var h = log2(c.length); if (e.huffman) {
  3080. o = new Reader(i, a, s);
  3081. n = function getTextRegionHuffmanTables(e, t, i, a, s) { var r = []; for (var e_65 = 0; e_65 <= 34; e_65++) {
  3082. var t_57 = s.readBits(4);
  3083. r.push(new HuffmanLine([e_65, t_57, 0, 0]));
  3084. } var n = new HuffmanTable(r, !1); r.length = 0; for (var e_66 = 0; e_66 < a;) {
  3085. var t_58 = n.decode(s);
  3086. if (t_58 >= 32) {
  3087. var i_45 = void 0, a_34 = void 0, n_12 = void 0;
  3088. switch (t_58) {
  3089. case 32:
  3090. if (0 === e_66)
  3091. throw new Jbig2Error("no previous value in symbol ID table");
  3092. a_34 = s.readBits(2) + 3;
  3093. i_45 = r[e_66 - 1].prefixLength;
  3094. break;
  3095. case 33:
  3096. a_34 = s.readBits(3) + 3;
  3097. i_45 = 0;
  3098. break;
  3099. case 34:
  3100. a_34 = s.readBits(7) + 11;
  3101. i_45 = 0;
  3102. break;
  3103. default: throw new Jbig2Error("invalid code length in symbol ID table");
  3104. }
  3105. for (n_12 = 0; n_12 < a_34; n_12++) {
  3106. r.push(new HuffmanLine([e_66, i_45, 0, 0]));
  3107. e_66++;
  3108. }
  3109. }
  3110. else {
  3111. r.push(new HuffmanLine([e_66, t_58, 0, 0]));
  3112. e_66++;
  3113. }
  3114. } s.byteAlign(); var o = new HuffmanTable(r, !1); var g, c, h, l = 0; switch (e.huffmanFS) {
  3115. case 0:
  3116. case 1:
  3117. g = getStandardTable(e.huffmanFS + 6);
  3118. break;
  3119. case 3:
  3120. g = getCustomHuffmanTable(l, t, i);
  3121. l++;
  3122. break;
  3123. default: throw new Jbig2Error("invalid Huffman FS selector");
  3124. } switch (e.huffmanDS) {
  3125. case 0:
  3126. case 1:
  3127. case 2:
  3128. c = getStandardTable(e.huffmanDS + 8);
  3129. break;
  3130. case 3:
  3131. c = getCustomHuffmanTable(l, t, i);
  3132. l++;
  3133. break;
  3134. default: throw new Jbig2Error("invalid Huffman DS selector");
  3135. } switch (e.huffmanDT) {
  3136. case 0:
  3137. case 1:
  3138. case 2:
  3139. h = getStandardTable(e.huffmanDT + 11);
  3140. break;
  3141. case 3:
  3142. h = getCustomHuffmanTable(l, t, i);
  3143. l++;
  3144. break;
  3145. default: throw new Jbig2Error("invalid Huffman DT selector");
  3146. } if (e.refinement)
  3147. throw new Jbig2Error("refinement with Huffman is not supported"); return { symbolIDTable: o, tableFirstS: g, tableDeltaS: c, tableDeltaT: h }; }(e, t, this.customTables, c.length, o);
  3148. } var l = new DecodingContext(i, a, s), C = decodeTextRegion(e.huffman, e.refinement, r.width, r.height, e.defaultPixelValue, e.numberOfSymbolInstances, e.stripSize, c, h, e.transposed, e.dsOffset, e.referenceCorner, e.combinationOperator, n, e.refinementTemplate, e.refinementAt, l, e.logStripSize, o); this.drawBitmap(r, C); };
  3149. SimpleSegmentVisitor.prototype.onImmediateLosslessTextRegion = function () { this.onImmediateTextRegion.apply(this, arguments); };
  3150. SimpleSegmentVisitor.prototype.onPatternDictionary = function (e, t, i, a, s) { var r = this.patterns; r || (this.patterns = r = {}); var n = new DecodingContext(i, a, s); r[t] = function decodePatternDictionary(e, t, i, a, s, r) { var n = []; if (!e) {
  3151. n.push({ x: -t, y: 0 });
  3152. 0 === s && n.push({ x: -3, y: -1 }, { x: 2, y: -2 }, { x: -2, y: -2 });
  3153. } var o = decodeBitmap(e, (a + 1) * t, i, s, !1, null, n, r), g = []; for (var e_67 = 0; e_67 <= a; e_67++) {
  3154. var a_35 = [], s_29 = t * e_67, r_23 = s_29 + t;
  3155. for (var e_68 = 0; e_68 < i; e_68++)
  3156. a_35.push(o[e_68].subarray(s_29, r_23));
  3157. g.push(a_35);
  3158. } return g; }(e.mmr, e.patternWidth, e.patternHeight, e.maxPatternIndex, e.template, n); };
  3159. SimpleSegmentVisitor.prototype.onImmediateHalftoneRegion = function (e, t, i, a, s) { var r = this.patterns[t[0]], n = e.info, o = new DecodingContext(i, a, s), g = function decodeHalftoneRegion(e, t, i, a, s, r, n, o, g, c, h, l, C, Q, E) { if (n)
  3160. throw new Jbig2Error("skip is not supported"); if (0 !== o)
  3161. throw new Jbig2Error("operator \"".concat(o, "\" is not supported in halftone region")); var u = []; var d, f, p; for (d = 0; d < s; d++) {
  3162. p = new Uint8Array(a);
  3163. if (r)
  3164. for (f = 0; f < a; f++)
  3165. p[f] = r;
  3166. u.push(p);
  3167. } var m = t.length, y = t[0], w = y[0].length, b = y.length, D = log2(m), F = []; if (!e) {
  3168. F.push({ x: i <= 1 ? 3 : 2, y: -1 });
  3169. 0 === i && F.push({ x: -3, y: -1 }, { x: 2, y: -2 }, { x: -2, y: -2 });
  3170. } var S = []; var k, R, N, G, x, M, U, L, J, H, Y; e && (k = new Reader(E.data, E.start, E.end)); for (d = D - 1; d >= 0; d--) {
  3171. R = e ? decodeMMRBitmap(k, g, c, !0) : decodeBitmap(!1, g, c, i, !1, null, F, E);
  3172. S[d] = R;
  3173. } for (N = 0; N < c; N++)
  3174. for (G = 0; G < g; G++) {
  3175. x = 0;
  3176. M = 0;
  3177. for (f = D - 1; f >= 0; f--) {
  3178. x ^= S[f][N][G];
  3179. M |= x << f;
  3180. }
  3181. U = t[M];
  3182. L = h + N * Q + G * C >> 8;
  3183. J = l + N * C - G * Q >> 8;
  3184. if (L >= 0 && L + w <= a && J >= 0 && J + b <= s)
  3185. for (d = 0; d < b; d++) {
  3186. Y = u[J + d];
  3187. H = U[d];
  3188. for (f = 0; f < w; f++)
  3189. Y[L + f] |= H[f];
  3190. }
  3191. else {
  3192. var e_69 = void 0, t_59 = void 0;
  3193. for (d = 0; d < b; d++) {
  3194. t_59 = J + d;
  3195. if (!(t_59 < 0 || t_59 >= s)) {
  3196. Y = u[t_59];
  3197. H = U[d];
  3198. for (f = 0; f < w; f++) {
  3199. e_69 = L + f;
  3200. e_69 >= 0 && e_69 < a && (Y[e_69] |= H[f]);
  3201. }
  3202. }
  3203. }
  3204. }
  3205. } return u; }(e.mmr, r, e.template, n.width, n.height, e.defaultPixelValue, e.enableSkip, e.combinationOperator, e.gridWidth, e.gridHeight, e.gridOffsetX, e.gridOffsetY, e.gridVectorX, e.gridVectorY, o); this.drawBitmap(n, g); };
  3206. SimpleSegmentVisitor.prototype.onImmediateLosslessHalftoneRegion = function () { this.onImmediateHalftoneRegion.apply(this, arguments); };
  3207. SimpleSegmentVisitor.prototype.onTables = function (e, t, i, a) { var s = this.customTables; s || (this.customTables = s = {}); s[e] = function decodeTablesSegment(e, t, i) { var a = e[t], s = 4294967295 & readUint32(e, t + 1), r = 4294967295 & readUint32(e, t + 5), n = new Reader(e, t + 9, i), o = 1 + (a >> 1 & 7), g = 1 + (a >> 4 & 7), c = []; var h, l, C = s; do {
  3208. h = n.readBits(o);
  3209. l = n.readBits(g);
  3210. c.push(new HuffmanLine([C, h, l, 0]));
  3211. C += 1 << l;
  3212. } while (C < r); h = n.readBits(o); c.push(new HuffmanLine([s - 1, h, 32, 0, "lower"])); h = n.readBits(o); c.push(new HuffmanLine([r, h, 32, 0])); if (1 & a) {
  3213. h = n.readBits(o);
  3214. c.push(new HuffmanLine([h, 0]));
  3215. } return new HuffmanTable(c, !1); }(t, i, a); };
  3216. return SimpleSegmentVisitor;
  3217. }());
  3218. var HuffmanLine = /** @class */ (function () {
  3219. function HuffmanLine(e) {
  3220. if (2 === e.length) {
  3221. this.isOOB = !0;
  3222. this.rangeLow = 0;
  3223. this.prefixLength = e[0];
  3224. this.rangeLength = 0;
  3225. this.prefixCode = e[1];
  3226. this.isLowerRange = !1;
  3227. }
  3228. else {
  3229. this.isOOB = !1;
  3230. this.rangeLow = e[0];
  3231. this.prefixLength = e[1];
  3232. this.rangeLength = e[2];
  3233. this.prefixCode = e[3];
  3234. this.isLowerRange = "lower" === e[4];
  3235. }
  3236. }
  3237. return HuffmanLine;
  3238. }());
  3239. var HuffmanTreeNode = /** @class */ (function () {
  3240. function HuffmanTreeNode(e) {
  3241. this.children = [];
  3242. if (e) {
  3243. this.isLeaf = !0;
  3244. this.rangeLength = e.rangeLength;
  3245. this.rangeLow = e.rangeLow;
  3246. this.isLowerRange = e.isLowerRange;
  3247. this.isOOB = e.isOOB;
  3248. }
  3249. else
  3250. this.isLeaf = !1;
  3251. }
  3252. HuffmanTreeNode.prototype.buildTree = function (e, t) { var i = e.prefixCode >> t & 1; if (t <= 0)
  3253. this.children[i] = new HuffmanTreeNode(e);
  3254. else {
  3255. var a_36 = this.children[i];
  3256. a_36 || (this.children[i] = a_36 = new HuffmanTreeNode(null));
  3257. a_36.buildTree(e, t - 1);
  3258. } };
  3259. HuffmanTreeNode.prototype.decodeNode = function (e) { if (this.isLeaf) {
  3260. if (this.isOOB)
  3261. return null;
  3262. var t_60 = e.readBits(this.rangeLength);
  3263. return this.rangeLow + (this.isLowerRange ? -t_60 : t_60);
  3264. } var t = this.children[e.readBit()]; if (!t)
  3265. throw new Jbig2Error("invalid Huffman data"); return t.decodeNode(e); };
  3266. return HuffmanTreeNode;
  3267. }());
  3268. var HuffmanTable = /** @class */ (function () {
  3269. function HuffmanTable(e, t) {
  3270. t || this.assignPrefixCodes(e);
  3271. this.rootNode = new HuffmanTreeNode(null);
  3272. for (var t_61 = 0, i_46 = e.length; t_61 < i_46; t_61++) {
  3273. var i_47 = e[t_61];
  3274. i_47.prefixLength > 0 && this.rootNode.buildTree(i_47, i_47.prefixLength - 1);
  3275. }
  3276. }
  3277. HuffmanTable.prototype.decode = function (e) { return this.rootNode.decodeNode(e); };
  3278. HuffmanTable.prototype.assignPrefixCodes = function (e) { var t = e.length; var i = 0; for (var a_37 = 0; a_37 < t; a_37++)
  3279. i = Math.max(i, e[a_37].prefixLength); var a = new Uint32Array(i + 1); for (var i_48 = 0; i_48 < t; i_48++)
  3280. a[e[i_48].prefixLength]++; var s, r, n, o = 1, g = 0; a[0] = 0; for (; o <= i;) {
  3281. g = g + a[o - 1] << 1;
  3282. s = g;
  3283. r = 0;
  3284. for (; r < t;) {
  3285. n = e[r];
  3286. if (n.prefixLength === o) {
  3287. n.prefixCode = s;
  3288. s++;
  3289. }
  3290. r++;
  3291. }
  3292. o++;
  3293. } };
  3294. return HuffmanTable;
  3295. }());
  3296. var _t = {};
  3297. function getStandardTable(e) { var t, i = _t[e]; if (i)
  3298. return i; switch (e) {
  3299. case 1:
  3300. t = [[0, 1, 4, 0], [16, 2, 8, 2], [272, 3, 16, 6], [65808, 3, 32, 7]];
  3301. break;
  3302. case 2:
  3303. t = [[0, 1, 0, 0], [1, 2, 0, 2], [2, 3, 0, 6], [3, 4, 3, 14], [11, 5, 6, 30], [75, 6, 32, 62], [6, 63]];
  3304. break;
  3305. case 3:
  3306. t = [[-256, 8, 8, 254], [0, 1, 0, 0], [1, 2, 0, 2], [2, 3, 0, 6], [3, 4, 3, 14], [11, 5, 6, 30], [-257, 8, 32, 255, "lower"], [75, 7, 32, 126], [6, 62]];
  3307. break;
  3308. case 4:
  3309. t = [[1, 1, 0, 0], [2, 2, 0, 2], [3, 3, 0, 6], [4, 4, 3, 14], [12, 5, 6, 30], [76, 5, 32, 31]];
  3310. break;
  3311. case 5:
  3312. t = [[-255, 7, 8, 126], [1, 1, 0, 0], [2, 2, 0, 2], [3, 3, 0, 6], [4, 4, 3, 14], [12, 5, 6, 30], [-256, 7, 32, 127, "lower"], [76, 6, 32, 62]];
  3313. break;
  3314. case 6:
  3315. t = [[-2048, 5, 10, 28], [-1024, 4, 9, 8], [-512, 4, 8, 9], [-256, 4, 7, 10], [-128, 5, 6, 29], [-64, 5, 5, 30], [-32, 4, 5, 11], [0, 2, 7, 0], [128, 3, 7, 2], [256, 3, 8, 3], [512, 4, 9, 12], [1024, 4, 10, 13], [-2049, 6, 32, 62, "lower"], [2048, 6, 32, 63]];
  3316. break;
  3317. case 7:
  3318. t = [[-1024, 4, 9, 8], [-512, 3, 8, 0], [-256, 4, 7, 9], [-128, 5, 6, 26], [-64, 5, 5, 27], [-32, 4, 5, 10], [0, 4, 5, 11], [32, 5, 5, 28], [64, 5, 6, 29], [128, 4, 7, 12], [256, 3, 8, 1], [512, 3, 9, 2], [1024, 3, 10, 3], [-1025, 5, 32, 30, "lower"], [2048, 5, 32, 31]];
  3319. break;
  3320. case 8:
  3321. t = [[-15, 8, 3, 252], [-7, 9, 1, 508], [-5, 8, 1, 253], [-3, 9, 0, 509], [-2, 7, 0, 124], [-1, 4, 0, 10], [0, 2, 1, 0], [2, 5, 0, 26], [3, 6, 0, 58], [4, 3, 4, 4], [20, 6, 1, 59], [22, 4, 4, 11], [38, 4, 5, 12], [70, 5, 6, 27], [134, 5, 7, 28], [262, 6, 7, 60], [390, 7, 8, 125], [646, 6, 10, 61], [-16, 9, 32, 510, "lower"], [1670, 9, 32, 511], [2, 1]];
  3322. break;
  3323. case 9:
  3324. t = [[-31, 8, 4, 252], [-15, 9, 2, 508], [-11, 8, 2, 253], [-7, 9, 1, 509], [-5, 7, 1, 124], [-3, 4, 1, 10], [-1, 3, 1, 2], [1, 3, 1, 3], [3, 5, 1, 26], [5, 6, 1, 58], [7, 3, 5, 4], [39, 6, 2, 59], [43, 4, 5, 11], [75, 4, 6, 12], [139, 5, 7, 27], [267, 5, 8, 28], [523, 6, 8, 60], [779, 7, 9, 125], [1291, 6, 11, 61], [-32, 9, 32, 510, "lower"], [3339, 9, 32, 511], [2, 0]];
  3325. break;
  3326. case 10:
  3327. t = [[-21, 7, 4, 122], [-5, 8, 0, 252], [-4, 7, 0, 123], [-3, 5, 0, 24], [-2, 2, 2, 0], [2, 5, 0, 25], [3, 6, 0, 54], [4, 7, 0, 124], [5, 8, 0, 253], [6, 2, 6, 1], [70, 5, 5, 26], [102, 6, 5, 55], [134, 6, 6, 56], [198, 6, 7, 57], [326, 6, 8, 58], [582, 6, 9, 59], [1094, 6, 10, 60], [2118, 7, 11, 125], [-22, 8, 32, 254, "lower"], [4166, 8, 32, 255], [2, 2]];
  3328. break;
  3329. case 11:
  3330. t = [[1, 1, 0, 0], [2, 2, 1, 2], [4, 4, 0, 12], [5, 4, 1, 13], [7, 5, 1, 28], [9, 5, 2, 29], [13, 6, 2, 60], [17, 7, 2, 122], [21, 7, 3, 123], [29, 7, 4, 124], [45, 7, 5, 125], [77, 7, 6, 126], [141, 7, 32, 127]];
  3331. break;
  3332. case 12:
  3333. t = [[1, 1, 0, 0], [2, 2, 0, 2], [3, 3, 1, 6], [5, 5, 0, 28], [6, 5, 1, 29], [8, 6, 1, 60], [10, 7, 0, 122], [11, 7, 1, 123], [13, 7, 2, 124], [17, 7, 3, 125], [25, 7, 4, 126], [41, 8, 5, 254], [73, 8, 32, 255]];
  3334. break;
  3335. case 13:
  3336. t = [[1, 1, 0, 0], [2, 3, 0, 4], [3, 4, 0, 12], [4, 5, 0, 28], [5, 4, 1, 13], [7, 3, 3, 5], [15, 6, 1, 58], [17, 6, 2, 59], [21, 6, 3, 60], [29, 6, 4, 61], [45, 6, 5, 62], [77, 7, 6, 126], [141, 7, 32, 127]];
  3337. break;
  3338. case 14:
  3339. t = [[-2, 3, 0, 4], [-1, 3, 0, 5], [0, 1, 0, 0], [1, 3, 0, 6], [2, 3, 0, 7]];
  3340. break;
  3341. case 15:
  3342. t = [[-24, 7, 4, 124], [-8, 6, 2, 60], [-4, 5, 1, 28], [-2, 4, 0, 12], [-1, 3, 0, 4], [0, 1, 0, 0], [1, 3, 0, 5], [2, 4, 0, 13], [3, 5, 1, 29], [5, 6, 2, 61], [9, 7, 4, 125], [-25, 7, 32, 126, "lower"], [25, 7, 32, 127]];
  3343. break;
  3344. default: throw new Jbig2Error("standard table B.".concat(e, " does not exist"));
  3345. } for (var e_70 = 0, i_49 = t.length; e_70 < i_49; e_70++)
  3346. t[e_70] = new HuffmanLine(t[e_70]); i = new HuffmanTable(t, !0); _t[e] = i; return i; }
  3347. var Reader = /** @class */ (function () {
  3348. function Reader(e, t, i) {
  3349. this.data = e;
  3350. this.start = t;
  3351. this.end = i;
  3352. this.position = t;
  3353. this.shift = -1;
  3354. this.currentByte = 0;
  3355. }
  3356. Reader.prototype.readBit = function () { if (this.shift < 0) {
  3357. if (this.position >= this.end)
  3358. throw new Jbig2Error("end of data while reading bit");
  3359. this.currentByte = this.data[this.position++];
  3360. this.shift = 7;
  3361. } var e = this.currentByte >> this.shift & 1; this.shift--; return e; };
  3362. Reader.prototype.readBits = function (e) { var t, i = 0; for (t = e - 1; t >= 0; t--)
  3363. i |= this.readBit() << t; return i; };
  3364. Reader.prototype.byteAlign = function () { this.shift = -1; };
  3365. Reader.prototype.next = function () { return this.position >= this.end ? -1 : this.data[this.position++]; };
  3366. return Reader;
  3367. }());
  3368. function getCustomHuffmanTable(e, t, i) { var a = 0; for (var s_30 = 0, r_24 = t.length; s_30 < r_24; s_30++) {
  3369. var r_25 = i[t[s_30]];
  3370. if (r_25) {
  3371. if (e === a)
  3372. return r_25;
  3373. a++;
  3374. }
  3375. } throw new Jbig2Error("can't find custom Huffman table"); }
  3376. function readUncompressedBitmap(e, t, i) { var a = []; for (var s_31 = 0; s_31 < i; s_31++) {
  3377. var i_50 = new Uint8Array(t);
  3378. a.push(i_50);
  3379. for (var a_38 = 0; a_38 < t; a_38++)
  3380. i_50[a_38] = e.readBit();
  3381. e.byteAlign();
  3382. } return a; }
  3383. function decodeMMRBitmap(e, t, i, a) { var s = new CCITTFaxDecoder(e, { K: -1, Columns: t, Rows: i, BlackIs1: !0, EndOfBlock: a }), r = []; var n, o = !1; for (var e_71 = 0; e_71 < i; e_71++) {
  3384. var e_72 = new Uint8Array(t);
  3385. r.push(e_72);
  3386. var i_51 = -1;
  3387. for (var a_39 = 0; a_39 < t; a_39++) {
  3388. if (i_51 < 0) {
  3389. n = s.readNextChar();
  3390. if (-1 === n) {
  3391. n = 0;
  3392. o = !0;
  3393. }
  3394. i_51 = 7;
  3395. }
  3396. e_72[a_39] = n >> i_51 & 1;
  3397. i_51--;
  3398. }
  3399. } if (a && !o) {
  3400. var e_73 = 5;
  3401. for (var t_62 = 0; t_62 < e_73 && -1 !== s.readNextChar(); t_62++)
  3402. ;
  3403. } return r; }
  3404. var Jbig2Image = /** @class */ (function () {
  3405. function Jbig2Image() {
  3406. }
  3407. Jbig2Image.prototype.parseChunks = function (e) { return function parseJbig2Chunks(e) { var t = new SimpleSegmentVisitor; for (var i_52 = 0, a_40 = e.length; i_52 < a_40; i_52++) {
  3408. var a_41 = e[i_52];
  3409. processSegments(readSegments({}, a_41.data, a_41.start, a_41.end), t);
  3410. } return t.buffer; }(e); };
  3411. Jbig2Image.prototype.parse = function (e) { throw new Error("Not implemented: Jbig2Image.parse"); };
  3412. return Jbig2Image;
  3413. }());
  3414. var Jbig2Stream = /** @class */ (function (_super) {
  3415. tslib_1.__extends(Jbig2Stream, _super);
  3416. function Jbig2Stream(e, t, i) {
  3417. var _this = _super.call(this, t) || this;
  3418. _this.stream = e;
  3419. _this.dict = e.dict;
  3420. _this.maybeLength = t;
  3421. _this.params = i;
  3422. return _this;
  3423. }
  3424. Object.defineProperty(Jbig2Stream.prototype, "bytes", {
  3425. get: function () { return shadow(this, "bytes", this.stream.getBytes(this.maybeLength)); },
  3426. enumerable: false,
  3427. configurable: true
  3428. });
  3429. Jbig2Stream.prototype.ensureBuffer = function (e) { };
  3430. Jbig2Stream.prototype.readBlock = function () { if (this.eof)
  3431. return; var e = new Jbig2Image, t = []; if (this.params instanceof Dict) {
  3432. var e_74 = this.params.get("JBIG2Globals");
  3433. if (e_74 instanceof BaseStream) {
  3434. var i_53 = e_74.getBytes();
  3435. t.push({ data: i_53, start: 0, end: i_53.length });
  3436. }
  3437. } t.push({ data: this.bytes, start: 0, end: this.bytes.length }); var i = e.parseChunks(t), a = i.length; for (var e_75 = 0; e_75 < a; e_75++)
  3438. i[e_75] ^= 255; this.buffer = i; this.bufferLength = a; this.eof = !0; };
  3439. return Jbig2Stream;
  3440. }(DecodeStream));
  3441. function convertToRGBA(e) { switch (e.kind) {
  3442. case b: return convertBlackAndWhiteToRGBA(e);
  3443. case D: return function convertRGBToRGBA(_b) {
  3444. var e = _b.src, _g = _b.srcPos, t = _g === void 0 ? 0 : _g, i = _b.dest, _h = _b.destPos, a = _h === void 0 ? 0 : _h, s = _b.width, r = _b.height;
  3445. var n = 0;
  3446. var o = e.length >> 2, g = new Uint32Array(e.buffer, t, o);
  3447. if (FeatureTest.isLittleEndian) {
  3448. for (; n < o - 2; n += 3, a += 4) {
  3449. var e_76 = g[n], t_63 = g[n + 1], s_32 = g[n + 2];
  3450. i[a] = 4278190080 | e_76;
  3451. i[a + 1] = e_76 >>> 24 | t_63 << 8 | 4278190080;
  3452. i[a + 2] = t_63 >>> 16 | s_32 << 16 | 4278190080;
  3453. i[a + 3] = s_32 >>> 8 | 4278190080;
  3454. }
  3455. for (var t_64 = 4 * n, s_33 = e.length; t_64 < s_33; t_64 += 3)
  3456. i[a++] = e[t_64] | e[t_64 + 1] << 8 | e[t_64 + 2] << 16 | 4278190080;
  3457. }
  3458. else {
  3459. for (; n < o - 2; n += 3, a += 4) {
  3460. var e_77 = g[n], t_65 = g[n + 1], s_34 = g[n + 2];
  3461. i[a] = 255 | e_77;
  3462. i[a + 1] = e_77 << 24 | t_65 >>> 8 | 255;
  3463. i[a + 2] = t_65 << 16 | s_34 >>> 16 | 255;
  3464. i[a + 3] = s_34 << 8 | 255;
  3465. }
  3466. for (var t_66 = 4 * n, s_35 = e.length; t_66 < s_35; t_66 += 3)
  3467. i[a++] = e[t_66] << 24 | e[t_66 + 1] << 16 | e[t_66 + 2] << 8 | 255;
  3468. }
  3469. return { srcPos: t, destPos: a };
  3470. }(e);
  3471. } return null; }
  3472. function convertBlackAndWhiteToRGBA(_b) {
  3473. var e = _b.src, _g = _b.srcPos, t = _g === void 0 ? 0 : _g, i = _b.dest, a = _b.width, s = _b.height, _h = _b.nonBlackColor, r = _h === void 0 ? 4294967295 : _h, _j = _b.inverseDecode, n = _j === void 0 ? !1 : _j;
  3474. var o = FeatureTest.isLittleEndian ? 4278190080 : 255, _k = n ? [r, o] : [o, r], g = _k[0], c = _k[1], h = a >> 3, l = 7 & a, C = e.length;
  3475. i = new Uint32Array(i.buffer);
  3476. var Q = 0;
  3477. for (var a_42 = 0; a_42 < s; a_42++) {
  3478. for (var a_43 = t + h; t < a_43; t++) {
  3479. var a_44 = t < C ? e[t] : 255;
  3480. i[Q++] = 128 & a_44 ? c : g;
  3481. i[Q++] = 64 & a_44 ? c : g;
  3482. i[Q++] = 32 & a_44 ? c : g;
  3483. i[Q++] = 16 & a_44 ? c : g;
  3484. i[Q++] = 8 & a_44 ? c : g;
  3485. i[Q++] = 4 & a_44 ? c : g;
  3486. i[Q++] = 2 & a_44 ? c : g;
  3487. i[Q++] = 1 & a_44 ? c : g;
  3488. }
  3489. if (0 === l)
  3490. continue;
  3491. var a_45 = t < C ? e[t++] : 255;
  3492. for (var e_78 = 0; e_78 < l; e_78++)
  3493. i[Q++] = a_45 & 1 << 7 - e_78 ? c : g;
  3494. }
  3495. return { srcPos: t, destPos: Q };
  3496. }
  3497. var JpegError = /** @class */ (function (_super) {
  3498. tslib_1.__extends(JpegError, _super);
  3499. function JpegError(e) {
  3500. return _super.call(this, e, "JpegError") || this;
  3501. }
  3502. return JpegError;
  3503. }(rt));
  3504. var DNLMarkerError = /** @class */ (function (_super) {
  3505. tslib_1.__extends(DNLMarkerError, _super);
  3506. function DNLMarkerError(e, t) {
  3507. var _this = _super.call(this, e, "DNLMarkerError") || this;
  3508. _this.scanLines = t;
  3509. return _this;
  3510. }
  3511. return DNLMarkerError;
  3512. }(rt));
  3513. var EOIMarkerError = /** @class */ (function (_super) {
  3514. tslib_1.__extends(EOIMarkerError, _super);
  3515. function EOIMarkerError(e) {
  3516. return _super.call(this, e, "EOIMarkerError") || this;
  3517. }
  3518. return EOIMarkerError;
  3519. }(rt));
  3520. var $t = new Uint8Array([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63]), Ai = 4017, ei = 799, ti = 3406, ii = 2276, ai = 1567, si = 3784, ri = 5793, ni = 2896;
  3521. function buildHuffmanTable(e, t) { var i, a, s = 0, r = 16; for (; r > 0 && !e[r - 1];)
  3522. r--; var n = [{ children: [], index: 0 }]; var o, g = n[0]; for (i = 0; i < r; i++) {
  3523. for (a = 0; a < e[i]; a++) {
  3524. g = n.pop();
  3525. g.children[g.index] = t[s];
  3526. for (; g.index > 0;)
  3527. g = n.pop();
  3528. g.index++;
  3529. n.push(g);
  3530. for (; n.length <= i;) {
  3531. n.push(o = { children: [], index: 0 });
  3532. g.children[g.index] = o.children;
  3533. g = o;
  3534. }
  3535. s++;
  3536. }
  3537. if (i + 1 < r) {
  3538. n.push(o = { children: [], index: 0 });
  3539. g.children[g.index] = o.children;
  3540. g = o;
  3541. }
  3542. } return n[0].children; }
  3543. function getBlockBufferOffset(e, t, i) { return 64 * ((e.blocksPerLine + 1) * t + i); }
  3544. function decodeScan(e, t, i, a, s, r, n, o, g, c) {
  3545. if (c === void 0) { c = !1; }
  3546. var h = i.mcusPerLine, l = i.progressive, C = t;
  3547. var Q = 0, E = 0;
  3548. function readBit() { if (E > 0) {
  3549. E--;
  3550. return Q >> E & 1;
  3551. } Q = e[t++]; if (255 === Q) {
  3552. var a_46 = e[t++];
  3553. if (a_46) {
  3554. if (220 === a_46 && c) {
  3555. var a_47 = readUint16(e, t += 2);
  3556. t += 2;
  3557. if (a_47 > 0 && a_47 !== i.scanLines)
  3558. throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data", a_47);
  3559. }
  3560. else if (217 === a_46) {
  3561. if (c) {
  3562. var e_79 = p * (8 === i.precision ? 8 : 0);
  3563. if (e_79 > 0 && Math.round(i.scanLines / e_79) >= 5)
  3564. throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter", e_79);
  3565. }
  3566. throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data");
  3567. }
  3568. throw new JpegError("unexpected marker ".concat((Q << 8 | a_46).toString(16)));
  3569. }
  3570. } E = 7; return Q >>> 7; }
  3571. function decodeHuffman(e) { var t = e; for (;;) {
  3572. t = t[readBit()];
  3573. switch (typeof t) {
  3574. case "number": return t;
  3575. case "object": continue;
  3576. }
  3577. throw new JpegError("invalid huffman sequence");
  3578. } }
  3579. function receive(e) { var t = 0; for (; e > 0;) {
  3580. t = t << 1 | readBit();
  3581. e--;
  3582. } return t; }
  3583. function receiveAndExtend(e) { if (1 === e)
  3584. return 1 === readBit() ? 1 : -1; var t = receive(e); return t >= 1 << e - 1 ? t : t + (-1 << e) + 1; }
  3585. var u = 0;
  3586. var d, f = 0;
  3587. var p = 0;
  3588. function decodeMcu(e, t, i, a, s) { var r = i % h; p = (i / h | 0) * e.v + a; var n = r * e.h + s; t(e, getBlockBufferOffset(e, p, n)); }
  3589. function decodeBlock(e, t, i) { p = i / e.blocksPerLine | 0; var a = i % e.blocksPerLine; t(e, getBlockBufferOffset(e, p, a)); }
  3590. var m = a.length;
  3591. var y, w, b, D, F, S;
  3592. S = l ? 0 === r ? 0 === o ? function decodeDCFirst(e, t) { var i = decodeHuffman(e.huffmanTableDC), a = 0 === i ? 0 : receiveAndExtend(i) << g; e.blockData[t] = e.pred += a; } : function decodeDCSuccessive(e, t) { e.blockData[t] |= readBit() << g; } : 0 === o ? function decodeACFirst(e, t) { if (u > 0) {
  3593. u--;
  3594. return;
  3595. } var i = r; var a = n; for (; i <= a;) {
  3596. var a_48 = decodeHuffman(e.huffmanTableAC), s_36 = 15 & a_48, r_26 = a_48 >> 4;
  3597. if (0 === s_36) {
  3598. if (r_26 < 15) {
  3599. u = receive(r_26) + (1 << r_26) - 1;
  3600. break;
  3601. }
  3602. i += 16;
  3603. continue;
  3604. }
  3605. i += r_26;
  3606. var n_13 = $t[i];
  3607. e.blockData[t + n_13] = receiveAndExtend(s_36) * (1 << g);
  3608. i++;
  3609. } } : function decodeACSuccessive(e, t) { var i = r; var a = n; var s, o, c = 0; for (; i <= a;) {
  3610. var a_49 = t + $t[i], r_27 = e.blockData[a_49] < 0 ? -1 : 1;
  3611. switch (f) {
  3612. case 0:
  3613. o = decodeHuffman(e.huffmanTableAC);
  3614. s = 15 & o;
  3615. c = o >> 4;
  3616. if (0 === s)
  3617. if (c < 15) {
  3618. u = receive(c) + (1 << c);
  3619. f = 4;
  3620. }
  3621. else {
  3622. c = 16;
  3623. f = 1;
  3624. }
  3625. else {
  3626. if (1 !== s)
  3627. throw new JpegError("invalid ACn encoding");
  3628. d = receiveAndExtend(s);
  3629. f = c ? 2 : 3;
  3630. }
  3631. continue;
  3632. case 1:
  3633. case 2:
  3634. if (e.blockData[a_49])
  3635. e.blockData[a_49] += r_27 * (readBit() << g);
  3636. else {
  3637. c--;
  3638. 0 === c && (f = 2 === f ? 3 : 0);
  3639. }
  3640. break;
  3641. case 3:
  3642. if (e.blockData[a_49])
  3643. e.blockData[a_49] += r_27 * (readBit() << g);
  3644. else {
  3645. e.blockData[a_49] = d << g;
  3646. f = 0;
  3647. }
  3648. break;
  3649. case 4: e.blockData[a_49] && (e.blockData[a_49] += r_27 * (readBit() << g));
  3650. }
  3651. i++;
  3652. } if (4 === f) {
  3653. u--;
  3654. 0 === u && (f = 0);
  3655. } } : function decodeBaseline(e, t) { var i = decodeHuffman(e.huffmanTableDC), a = 0 === i ? 0 : receiveAndExtend(i); e.blockData[t] = e.pred += a; var s = 1; for (; s < 64;) {
  3656. var i_54 = decodeHuffman(e.huffmanTableAC), a_50 = 15 & i_54, r_28 = i_54 >> 4;
  3657. if (0 === a_50) {
  3658. if (r_28 < 15)
  3659. break;
  3660. s += 16;
  3661. continue;
  3662. }
  3663. s += r_28;
  3664. var n_14 = $t[s];
  3665. e.blockData[t + n_14] = receiveAndExtend(a_50);
  3666. s++;
  3667. } };
  3668. var k, R = 0;
  3669. var N = 1 === m ? a[0].blocksPerLine * a[0].blocksPerColumn : h * i.mcusPerColumn;
  3670. var G, x;
  3671. for (; R <= N;) {
  3672. var i_55 = s ? Math.min(N - R, s) : N;
  3673. if (i_55 > 0) {
  3674. for (w = 0; w < m; w++)
  3675. a[w].pred = 0;
  3676. u = 0;
  3677. if (1 === m) {
  3678. y = a[0];
  3679. for (F = 0; F < i_55; F++) {
  3680. decodeBlock(y, S, R);
  3681. R++;
  3682. }
  3683. }
  3684. else
  3685. for (F = 0; F < i_55; F++) {
  3686. for (w = 0; w < m; w++) {
  3687. y = a[w];
  3688. G = y.h;
  3689. x = y.v;
  3690. for (b = 0; b < x; b++)
  3691. for (D = 0; D < G; D++)
  3692. decodeMcu(y, S, R, b, D);
  3693. }
  3694. R++;
  3695. }
  3696. }
  3697. E = 0;
  3698. k = findNextFileMarker(e, t);
  3699. if (!k)
  3700. break;
  3701. if (k.invalid) {
  3702. warn("decodeScan - ".concat(i_55 > 0 ? "unexpected" : "excessive", " MCU data, current marker is: ").concat(k.invalid));
  3703. t = k.offset;
  3704. }
  3705. if (!(k.marker >= 65488 && k.marker <= 65495))
  3706. break;
  3707. t += 2;
  3708. }
  3709. return t - C;
  3710. }
  3711. function quantizeAndInverse(e, t, i) { var a = e.quantizationTable, s = e.blockData; var r, n, o, g, c, h, l, C, Q, E, u, d, f, p, m, y, w; if (!a)
  3712. throw new JpegError("missing required Quantization Table."); for (var e_80 = 0; e_80 < 64; e_80 += 8) {
  3713. Q = s[t + e_80];
  3714. E = s[t + e_80 + 1];
  3715. u = s[t + e_80 + 2];
  3716. d = s[t + e_80 + 3];
  3717. f = s[t + e_80 + 4];
  3718. p = s[t + e_80 + 5];
  3719. m = s[t + e_80 + 6];
  3720. y = s[t + e_80 + 7];
  3721. Q *= a[e_80];
  3722. if (0 != (E | u | d | f | p | m | y)) {
  3723. E *= a[e_80 + 1];
  3724. u *= a[e_80 + 2];
  3725. d *= a[e_80 + 3];
  3726. f *= a[e_80 + 4];
  3727. p *= a[e_80 + 5];
  3728. m *= a[e_80 + 6];
  3729. y *= a[e_80 + 7];
  3730. r = ri * Q + 128 >> 8;
  3731. n = ri * f + 128 >> 8;
  3732. o = u;
  3733. g = m;
  3734. c = ni * (E - y) + 128 >> 8;
  3735. C = ni * (E + y) + 128 >> 8;
  3736. h = d << 4;
  3737. l = p << 4;
  3738. r = r + n + 1 >> 1;
  3739. n = r - n;
  3740. w = o * si + g * ai + 128 >> 8;
  3741. o = o * ai - g * si + 128 >> 8;
  3742. g = w;
  3743. c = c + l + 1 >> 1;
  3744. l = c - l;
  3745. C = C + h + 1 >> 1;
  3746. h = C - h;
  3747. r = r + g + 1 >> 1;
  3748. g = r - g;
  3749. n = n + o + 1 >> 1;
  3750. o = n - o;
  3751. w = c * ii + C * ti + 2048 >> 12;
  3752. c = c * ti - C * ii + 2048 >> 12;
  3753. C = w;
  3754. w = h * ei + l * Ai + 2048 >> 12;
  3755. h = h * Ai - l * ei + 2048 >> 12;
  3756. l = w;
  3757. i[e_80] = r + C;
  3758. i[e_80 + 7] = r - C;
  3759. i[e_80 + 1] = n + l;
  3760. i[e_80 + 6] = n - l;
  3761. i[e_80 + 2] = o + h;
  3762. i[e_80 + 5] = o - h;
  3763. i[e_80 + 3] = g + c;
  3764. i[e_80 + 4] = g - c;
  3765. }
  3766. else {
  3767. w = ri * Q + 512 >> 10;
  3768. i[e_80] = w;
  3769. i[e_80 + 1] = w;
  3770. i[e_80 + 2] = w;
  3771. i[e_80 + 3] = w;
  3772. i[e_80 + 4] = w;
  3773. i[e_80 + 5] = w;
  3774. i[e_80 + 6] = w;
  3775. i[e_80 + 7] = w;
  3776. }
  3777. } for (var e_81 = 0; e_81 < 8; ++e_81) {
  3778. Q = i[e_81];
  3779. E = i[e_81 + 8];
  3780. u = i[e_81 + 16];
  3781. d = i[e_81 + 24];
  3782. f = i[e_81 + 32];
  3783. p = i[e_81 + 40];
  3784. m = i[e_81 + 48];
  3785. y = i[e_81 + 56];
  3786. if (0 != (E | u | d | f | p | m | y)) {
  3787. r = ri * Q + 2048 >> 12;
  3788. n = ri * f + 2048 >> 12;
  3789. o = u;
  3790. g = m;
  3791. c = ni * (E - y) + 2048 >> 12;
  3792. C = ni * (E + y) + 2048 >> 12;
  3793. h = d;
  3794. l = p;
  3795. r = 4112 + (r + n + 1 >> 1);
  3796. n = r - n;
  3797. w = o * si + g * ai + 2048 >> 12;
  3798. o = o * ai - g * si + 2048 >> 12;
  3799. g = w;
  3800. c = c + l + 1 >> 1;
  3801. l = c - l;
  3802. C = C + h + 1 >> 1;
  3803. h = C - h;
  3804. r = r + g + 1 >> 1;
  3805. g = r - g;
  3806. n = n + o + 1 >> 1;
  3807. o = n - o;
  3808. w = c * ii + C * ti + 2048 >> 12;
  3809. c = c * ti - C * ii + 2048 >> 12;
  3810. C = w;
  3811. w = h * ei + l * Ai + 2048 >> 12;
  3812. h = h * Ai - l * ei + 2048 >> 12;
  3813. l = w;
  3814. Q = r + C;
  3815. y = r - C;
  3816. E = n + l;
  3817. m = n - l;
  3818. u = o + h;
  3819. p = o - h;
  3820. d = g + c;
  3821. f = g - c;
  3822. Q < 16 ? Q = 0 : Q >= 4080 ? Q = 255 : Q >>= 4;
  3823. E < 16 ? E = 0 : E >= 4080 ? E = 255 : E >>= 4;
  3824. u < 16 ? u = 0 : u >= 4080 ? u = 255 : u >>= 4;
  3825. d < 16 ? d = 0 : d >= 4080 ? d = 255 : d >>= 4;
  3826. f < 16 ? f = 0 : f >= 4080 ? f = 255 : f >>= 4;
  3827. p < 16 ? p = 0 : p >= 4080 ? p = 255 : p >>= 4;
  3828. m < 16 ? m = 0 : m >= 4080 ? m = 255 : m >>= 4;
  3829. y < 16 ? y = 0 : y >= 4080 ? y = 255 : y >>= 4;
  3830. s[t + e_81] = Q;
  3831. s[t + e_81 + 8] = E;
  3832. s[t + e_81 + 16] = u;
  3833. s[t + e_81 + 24] = d;
  3834. s[t + e_81 + 32] = f;
  3835. s[t + e_81 + 40] = p;
  3836. s[t + e_81 + 48] = m;
  3837. s[t + e_81 + 56] = y;
  3838. }
  3839. else {
  3840. w = ri * Q + 8192 >> 14;
  3841. w = w < -2040 ? 0 : w >= 2024 ? 255 : w + 2056 >> 4;
  3842. s[t + e_81] = w;
  3843. s[t + e_81 + 8] = w;
  3844. s[t + e_81 + 16] = w;
  3845. s[t + e_81 + 24] = w;
  3846. s[t + e_81 + 32] = w;
  3847. s[t + e_81 + 40] = w;
  3848. s[t + e_81 + 48] = w;
  3849. s[t + e_81 + 56] = w;
  3850. }
  3851. } }
  3852. function buildComponentData(e, t) { var i = t.blocksPerLine, a = t.blocksPerColumn, s = new Int16Array(64); for (var e_82 = 0; e_82 < a; e_82++)
  3853. for (var a_51 = 0; a_51 < i; a_51++) {
  3854. quantizeAndInverse(t, getBlockBufferOffset(t, e_82, a_51), s);
  3855. } return t.blockData; }
  3856. function findNextFileMarker(e, t, i) {
  3857. if (i === void 0) { i = t; }
  3858. var a = e.length - 1;
  3859. var s = i < t ? i : t;
  3860. if (t >= a)
  3861. return null;
  3862. var r = readUint16(e, t);
  3863. if (r >= 65472 && r <= 65534)
  3864. return { invalid: null, marker: r, offset: t };
  3865. var n = readUint16(e, s);
  3866. for (; !(n >= 65472 && n <= 65534);) {
  3867. if (++s >= a)
  3868. return null;
  3869. n = readUint16(e, s);
  3870. }
  3871. return { invalid: r.toString(16), marker: n, offset: s };
  3872. }
  3873. var JpegImage = /** @class */ (function () {
  3874. function JpegImage(_b) {
  3875. var _g = _b === void 0 ? {} : _b, _h = _g.decodeTransform, e = _h === void 0 ? null : _h, _j = _g.colorTransform, t = _j === void 0 ? -1 : _j;
  3876. this._decodeTransform = e;
  3877. this._colorTransform = t;
  3878. }
  3879. JpegImage.prototype.parse = function (e, _b) {
  3880. var _g = _b === void 0 ? {} : _b, _h = _g.dnlScanLines, t = _h === void 0 ? null : _h;
  3881. function readDataBlock() { var t = readUint16(e, s); s += 2; var i = s + t - 2; var a = findNextFileMarker(e, i, s); if (a === null || a === void 0 ? void 0 : a.invalid) {
  3882. warn("readDataBlock - incorrect length, current marker is: " + a.invalid);
  3883. i = a.offset;
  3884. } var r = e.subarray(s, i); s += r.length; return r; }
  3885. function prepareComponents(e) { var t = Math.ceil(e.samplesPerLine / 8 / e.maxH), i = Math.ceil(e.scanLines / 8 / e.maxV); for (var _b = 0, _g = e.components; _b < _g.length; _b++) {
  3886. var a_52 = _g[_b];
  3887. var s_37 = Math.ceil(Math.ceil(e.samplesPerLine / 8) * a_52.h / e.maxH), r_29 = Math.ceil(Math.ceil(e.scanLines / 8) * a_52.v / e.maxV), n_15 = t * a_52.h, o_8 = 64 * (i * a_52.v) * (n_15 + 1);
  3888. a_52.blockData = new Int16Array(o_8);
  3889. a_52.blocksPerLine = s_37;
  3890. a_52.blocksPerColumn = r_29;
  3891. } e.mcusPerLine = t; e.mcusPerColumn = i; }
  3892. var i, a, s = 0, r = null, n = null, o = 0;
  3893. var g = [], c = [], h = [];
  3894. var l = readUint16(e, s);
  3895. s += 2;
  3896. if (65496 !== l)
  3897. throw new JpegError("SOI not found");
  3898. l = readUint16(e, s);
  3899. s += 2;
  3900. A: for (; 65497 !== l;) {
  3901. var C_4 = void 0, Q_5 = void 0, E_5 = void 0;
  3902. switch (l) {
  3903. case 65504:
  3904. case 65505:
  3905. case 65506:
  3906. case 65507:
  3907. case 65508:
  3908. case 65509:
  3909. case 65510:
  3910. case 65511:
  3911. case 65512:
  3912. case 65513:
  3913. case 65514:
  3914. case 65515:
  3915. case 65516:
  3916. case 65517:
  3917. case 65518:
  3918. case 65519:
  3919. case 65534:
  3920. var u_3 = readDataBlock();
  3921. 65504 === l && 74 === u_3[0] && 70 === u_3[1] && 73 === u_3[2] && 70 === u_3[3] && 0 === u_3[4] && (r = { version: { major: u_3[5], minor: u_3[6] }, densityUnits: u_3[7], xDensity: u_3[8] << 8 | u_3[9], yDensity: u_3[10] << 8 | u_3[11], thumbWidth: u_3[12], thumbHeight: u_3[13], thumbData: u_3.subarray(14, 14 + 3 * u_3[12] * u_3[13]) });
  3922. 65518 === l && 65 === u_3[0] && 100 === u_3[1] && 111 === u_3[2] && 98 === u_3[3] && 101 === u_3[4] && (n = { version: u_3[5] << 8 | u_3[6], flags0: u_3[7] << 8 | u_3[8], flags1: u_3[9] << 8 | u_3[10], transformCode: u_3[11] });
  3923. break;
  3924. case 65499:
  3925. var d_3 = readUint16(e, s);
  3926. s += 2;
  3927. var f_5 = d_3 + s - 2;
  3928. var p_3 = void 0;
  3929. for (; s < f_5;) {
  3930. var t_67 = e[s++], i_56 = new Uint16Array(64);
  3931. if (t_67 >> 4 == 0)
  3932. for (Q_5 = 0; Q_5 < 64; Q_5++) {
  3933. p_3 = $t[Q_5];
  3934. i_56[p_3] = e[s++];
  3935. }
  3936. else {
  3937. if (t_67 >> 4 != 1)
  3938. throw new JpegError("DQT - invalid table spec");
  3939. for (Q_5 = 0; Q_5 < 64; Q_5++) {
  3940. p_3 = $t[Q_5];
  3941. i_56[p_3] = readUint16(e, s);
  3942. s += 2;
  3943. }
  3944. }
  3945. g[15 & t_67] = i_56;
  3946. }
  3947. break;
  3948. case 65472:
  3949. case 65473:
  3950. case 65474:
  3951. if (i)
  3952. throw new JpegError("Only single frame JPEGs supported");
  3953. s += 2;
  3954. i = {};
  3955. i.extended = 65473 === l;
  3956. i.progressive = 65474 === l;
  3957. i.precision = e[s++];
  3958. var m_3 = readUint16(e, s);
  3959. s += 2;
  3960. i.scanLines = t || m_3;
  3961. i.samplesPerLine = readUint16(e, s);
  3962. s += 2;
  3963. i.components = [];
  3964. i.componentIds = {};
  3965. var y_1 = e[s++];
  3966. var w_1 = 0, b_1 = 0;
  3967. for (C_4 = 0; C_4 < y_1; C_4++) {
  3968. var t_68 = e[s], a_53 = e[s + 1] >> 4, r_30 = 15 & e[s + 1];
  3969. w_1 < a_53 && (w_1 = a_53);
  3970. b_1 < r_30 && (b_1 = r_30);
  3971. var n_16 = e[s + 2];
  3972. E_5 = i.components.push({ h: a_53, v: r_30, quantizationId: n_16, quantizationTable: null });
  3973. i.componentIds[t_68] = E_5 - 1;
  3974. s += 3;
  3975. }
  3976. i.maxH = w_1;
  3977. i.maxV = b_1;
  3978. prepareComponents(i);
  3979. break;
  3980. case 65476:
  3981. var D_1 = readUint16(e, s);
  3982. s += 2;
  3983. for (C_4 = 2; C_4 < D_1;) {
  3984. var t_69 = e[s++], i_57 = new Uint8Array(16);
  3985. var a_54 = 0;
  3986. for (Q_5 = 0; Q_5 < 16; Q_5++, s++)
  3987. a_54 += i_57[Q_5] = e[s];
  3988. var r_31 = new Uint8Array(a_54);
  3989. for (Q_5 = 0; Q_5 < a_54; Q_5++, s++)
  3990. r_31[Q_5] = e[s];
  3991. C_4 += 17 + a_54;
  3992. (t_69 >> 4 == 0 ? h : c)[15 & t_69] = buildHuffmanTable(i_57, r_31);
  3993. }
  3994. break;
  3995. case 65501:
  3996. s += 2;
  3997. a = readUint16(e, s);
  3998. s += 2;
  3999. break;
  4000. case 65498:
  4001. var F_1 = 1 == ++o && !t;
  4002. s += 2;
  4003. var S_2 = e[s++], k_2 = [];
  4004. for (C_4 = 0; C_4 < S_2; C_4++) {
  4005. var t_70 = e[s++], a_55 = i.componentIds[t_70], r_32 = i.components[a_55];
  4006. r_32.index = t_70;
  4007. var n_17 = e[s++];
  4008. r_32.huffmanTableDC = h[n_17 >> 4];
  4009. r_32.huffmanTableAC = c[15 & n_17];
  4010. k_2.push(r_32);
  4011. }
  4012. var R_2 = e[s++], N_2 = e[s++], G_2 = e[s++];
  4013. try {
  4014. var t_71 = decodeScan(e, s, i, k_2, a, R_2, N_2, G_2 >> 4, 15 & G_2, F_1);
  4015. s += t_71;
  4016. }
  4017. catch (t) {
  4018. if (t instanceof DNLMarkerError) {
  4019. warn("".concat(t.message, " -- attempting to re-parse the JPEG image."));
  4020. return this.parse(e, { dnlScanLines: t.scanLines });
  4021. }
  4022. if (t instanceof EOIMarkerError) {
  4023. warn("".concat(t.message, " -- ignoring the rest of the image data."));
  4024. break A;
  4025. }
  4026. throw t;
  4027. }
  4028. break;
  4029. case 65500:
  4030. s += 4;
  4031. break;
  4032. case 65535:
  4033. 255 !== e[s] && s--;
  4034. break;
  4035. default:
  4036. var x_2 = findNextFileMarker(e, s - 2, s - 3);
  4037. if (x_2 === null || x_2 === void 0 ? void 0 : x_2.invalid) {
  4038. warn("JpegImage.parse - unexpected data, current marker is: " + x_2.invalid);
  4039. s = x_2.offset;
  4040. break;
  4041. }
  4042. if (!x_2 || s >= e.length - 1) {
  4043. warn("JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).");
  4044. break A;
  4045. }
  4046. throw new JpegError("JpegImage.parse - unknown marker: " + l.toString(16));
  4047. }
  4048. l = readUint16(e, s);
  4049. s += 2;
  4050. }
  4051. if (!i)
  4052. throw new JpegError("JpegImage.parse - no frame data found.");
  4053. this.width = i.samplesPerLine;
  4054. this.height = i.scanLines;
  4055. this.jfif = r;
  4056. this.adobe = n;
  4057. this.components = [];
  4058. for (var _j = 0, _k = i.components; _j < _k.length; _j++) {
  4059. var e_83 = _k[_j];
  4060. var t_72 = g[e_83.quantizationId];
  4061. t_72 && (e_83.quantizationTable = t_72);
  4062. this.components.push({ index: e_83.index, output: buildComponentData(0, e_83), scaleX: e_83.h / i.maxH, scaleY: e_83.v / i.maxV, blocksPerLine: e_83.blocksPerLine, blocksPerColumn: e_83.blocksPerColumn });
  4063. }
  4064. this.numComponents = this.components.length;
  4065. };
  4066. JpegImage.prototype._getLinearizedBlockData = function (e, t, i) {
  4067. if (i === void 0) { i = !1; }
  4068. var a = this.width / e, s = this.height / t;
  4069. var r, n, o, g, c, h, l, C, Q, E, u, d = 0;
  4070. var f = this.components.length, p = e * t * f, m = new Uint8ClampedArray(p), y = new Uint32Array(e), w = 4294967288;
  4071. var b;
  4072. for (l = 0; l < f; l++) {
  4073. r = this.components[l];
  4074. n = r.scaleX * a;
  4075. o = r.scaleY * s;
  4076. d = l;
  4077. u = r.output;
  4078. g = r.blocksPerLine + 1 << 3;
  4079. if (n !== b) {
  4080. for (c = 0; c < e; c++) {
  4081. C = 0 | c * n;
  4082. y[c] = (C & w) << 3 | 7 & C;
  4083. }
  4084. b = n;
  4085. }
  4086. for (h = 0; h < t; h++) {
  4087. C = 0 | h * o;
  4088. E = g * (C & w) | (7 & C) << 3;
  4089. for (c = 0; c < e; c++) {
  4090. m[d] = u[E + y[c]];
  4091. d += f;
  4092. }
  4093. }
  4094. }
  4095. var D = this._decodeTransform;
  4096. i || 4 !== f || D || (D = new Int32Array([-256, 255, -256, 255, -256, 255, -256, 255]));
  4097. if (D)
  4098. for (l = 0; l < p;)
  4099. for (C = 0, Q = 0; C < f; C++, l++, Q += 2)
  4100. m[l] = (m[l] * D[Q] >> 8) + D[Q + 1];
  4101. return m;
  4102. };
  4103. Object.defineProperty(JpegImage.prototype, "_isColorConversionNeeded", {
  4104. get: function () { return this.adobe ? !!this.adobe.transformCode : 3 === this.numComponents ? 0 !== this._colorTransform && (82 !== this.components[0].index || 71 !== this.components[1].index || 66 !== this.components[2].index) : 1 === this._colorTransform; },
  4105. enumerable: false,
  4106. configurable: true
  4107. });
  4108. JpegImage.prototype._convertYccToRgb = function (e) { var t, i, a; for (var s_38 = 0, r_33 = e.length; s_38 < r_33; s_38 += 3) {
  4109. t = e[s_38];
  4110. i = e[s_38 + 1];
  4111. a = e[s_38 + 2];
  4112. e[s_38] = t - 179.456 + 1.402 * a;
  4113. e[s_38 + 1] = t + 135.459 - .344 * i - .714 * a;
  4114. e[s_38 + 2] = t - 226.816 + 1.772 * i;
  4115. } return e; };
  4116. JpegImage.prototype._convertYccToRgba = function (e, t) { for (var i_58 = 0, a_56 = 0, s_39 = e.length; i_58 < s_39; i_58 += 3, a_56 += 4) {
  4117. var s_40 = e[i_58], r_34 = e[i_58 + 1], n_18 = e[i_58 + 2];
  4118. t[a_56] = s_40 - 179.456 + 1.402 * n_18;
  4119. t[a_56 + 1] = s_40 + 135.459 - .344 * r_34 - .714 * n_18;
  4120. t[a_56 + 2] = s_40 - 226.816 + 1.772 * r_34;
  4121. t[a_56 + 3] = 255;
  4122. } return t; };
  4123. JpegImage.prototype._convertYcckToRgb = function (e) { var t, i, a, s, r = 0; for (var n_19 = 0, o_9 = e.length; n_19 < o_9; n_19 += 4) {
  4124. t = e[n_19];
  4125. i = e[n_19 + 1];
  4126. a = e[n_19 + 2];
  4127. s = e[n_19 + 3];
  4128. e[r++] = i * (-660635669420364e-19 * i + .000437130475926232 * a - 54080610064599e-18 * t + .00048449797120281 * s - .154362151871126) - 122.67195406894 + a * (-.000957964378445773 * a + .000817076911346625 * t - .00477271405408747 * s + 1.53380253221734) + t * (.000961250184130688 * t - .00266257332283933 * s + .48357088451265) + s * (-.000336197177618394 * s + .484791561490776);
  4129. e[r++] = 107.268039397724 + i * (219927104525741e-19 * i - .000640992018297945 * a + .000659397001245577 * t + .000426105652938837 * s - .176491792462875) + a * (-.000778269941513683 * a + .00130872261408275 * t + .000770482631801132 * s - .151051492775562) + t * (.00126935368114843 * t - .00265090189010898 * s + .25802910206845) + s * (-.000318913117588328 * s - .213742400323665);
  4130. e[r++] = i * (-.000570115196973677 * i - 263409051004589e-19 * a + .0020741088115012 * t - .00288260236853442 * s + .814272968359295) - 20.810012546947 + a * (-153496057440975e-19 * a - .000132689043961446 * t + .000560833691242812 * s - .195152027534049) + t * (.00174418132927582 * t - .00255243321439347 * s + .116935020465145) + s * (-.000343531996510555 * s + .24165260232407);
  4131. } return e.subarray(0, r); };
  4132. JpegImage.prototype._convertYcckToRgba = function (e) { for (var t_73 = 0, i_59 = e.length; t_73 < i_59; t_73 += 4) {
  4133. var i_60 = e[t_73], a_57 = e[t_73 + 1], s_41 = e[t_73 + 2], r_35 = e[t_73 + 3];
  4134. e[t_73] = a_57 * (-660635669420364e-19 * a_57 + .000437130475926232 * s_41 - 54080610064599e-18 * i_60 + .00048449797120281 * r_35 - .154362151871126) - 122.67195406894 + s_41 * (-.000957964378445773 * s_41 + .000817076911346625 * i_60 - .00477271405408747 * r_35 + 1.53380253221734) + i_60 * (.000961250184130688 * i_60 - .00266257332283933 * r_35 + .48357088451265) + r_35 * (-.000336197177618394 * r_35 + .484791561490776);
  4135. e[t_73 + 1] = 107.268039397724 + a_57 * (219927104525741e-19 * a_57 - .000640992018297945 * s_41 + .000659397001245577 * i_60 + .000426105652938837 * r_35 - .176491792462875) + s_41 * (-.000778269941513683 * s_41 + .00130872261408275 * i_60 + .000770482631801132 * r_35 - .151051492775562) + i_60 * (.00126935368114843 * i_60 - .00265090189010898 * r_35 + .25802910206845) + r_35 * (-.000318913117588328 * r_35 - .213742400323665);
  4136. e[t_73 + 2] = a_57 * (-.000570115196973677 * a_57 - 263409051004589e-19 * s_41 + .0020741088115012 * i_60 - .00288260236853442 * r_35 + .814272968359295) - 20.810012546947 + s_41 * (-153496057440975e-19 * s_41 - .000132689043961446 * i_60 + .000560833691242812 * r_35 - .195152027534049) + i_60 * (.00174418132927582 * i_60 - .00255243321439347 * r_35 + .116935020465145) + r_35 * (-.000343531996510555 * r_35 + .24165260232407);
  4137. e[t_73 + 3] = 255;
  4138. } return e; };
  4139. JpegImage.prototype._convertYcckToCmyk = function (e) { var t, i, a; for (var s_42 = 0, r_36 = e.length; s_42 < r_36; s_42 += 4) {
  4140. t = e[s_42];
  4141. i = e[s_42 + 1];
  4142. a = e[s_42 + 2];
  4143. e[s_42] = 434.456 - t - 1.402 * a;
  4144. e[s_42 + 1] = 119.541 - t + .344 * i + .714 * a;
  4145. e[s_42 + 2] = 481.816 - t - 1.772 * i;
  4146. } return e; };
  4147. JpegImage.prototype._convertCmykToRgb = function (e) { var t, i, a, s, r = 0; for (var n_20 = 0, o_10 = e.length; n_20 < o_10; n_20 += 4) {
  4148. t = e[n_20];
  4149. i = e[n_20 + 1];
  4150. a = e[n_20 + 2];
  4151. s = e[n_20 + 3];
  4152. e[r++] = 255 + t * (-6747147073602441e-20 * t + .0008379262121013727 * i + .0002894718188643294 * a + .003264231057537806 * s - 1.1185611867203937) + i * (26374107616089405e-21 * i - 8626949158638572e-20 * a - .0002748769067499491 * s - .02155688794978967) + a * (-3878099212869363e-20 * a - .0003267808279485286 * s + .0686742238595345) - s * (.0003361971776183937 * s + .7430659151342254);
  4153. e[r++] = 255 + t * (.00013596372813588848 * t + .000924537132573585 * i + .00010567359618683593 * a + .0004791864687436512 * s - .3109689587515875) + i * (-.00023545346108370344 * i + .0002702845253534714 * a + .0020200308977307156 * s - .7488052167015494) + a * (6834815998235662e-20 * a + .00015168452363460973 * s - .09751927774728933) - s * (.0003189131175883281 * s + .7364883807733168);
  4154. e[r++] = 255 + t * (13598650411385307e-21 * t + .00012423956175490851 * i + .0004751985097583589 * a - 36729317476630422e-22 * s - .05562186980264034) + i * (.00016141380598724676 * i + .0009692239130725186 * a + .0007782692450036253 * s - .44015232367526463) + a * (5.068882914068769e-7 * a + .0017778369011375071 * s - .7591454649749609) - s * (.0003435319965105553 * s + .7063770186160144);
  4155. } return e.subarray(0, r); };
  4156. JpegImage.prototype._convertCmykToRgba = function (e) { for (var t_74 = 0, i_61 = e.length; t_74 < i_61; t_74 += 4) {
  4157. var i_62 = e[t_74], a_58 = e[t_74 + 1], s_43 = e[t_74 + 2], r_37 = e[t_74 + 3];
  4158. e[t_74] = 255 + i_62 * (-6747147073602441e-20 * i_62 + .0008379262121013727 * a_58 + .0002894718188643294 * s_43 + .003264231057537806 * r_37 - 1.1185611867203937) + a_58 * (26374107616089405e-21 * a_58 - 8626949158638572e-20 * s_43 - .0002748769067499491 * r_37 - .02155688794978967) + s_43 * (-3878099212869363e-20 * s_43 - .0003267808279485286 * r_37 + .0686742238595345) - r_37 * (.0003361971776183937 * r_37 + .7430659151342254);
  4159. e[t_74 + 1] = 255 + i_62 * (.00013596372813588848 * i_62 + .000924537132573585 * a_58 + .00010567359618683593 * s_43 + .0004791864687436512 * r_37 - .3109689587515875) + a_58 * (-.00023545346108370344 * a_58 + .0002702845253534714 * s_43 + .0020200308977307156 * r_37 - .7488052167015494) + s_43 * (6834815998235662e-20 * s_43 + .00015168452363460973 * r_37 - .09751927774728933) - r_37 * (.0003189131175883281 * r_37 + .7364883807733168);
  4160. e[t_74 + 2] = 255 + i_62 * (13598650411385307e-21 * i_62 + .00012423956175490851 * a_58 + .0004751985097583589 * s_43 - 36729317476630422e-22 * r_37 - .05562186980264034) + a_58 * (.00016141380598724676 * a_58 + .0009692239130725186 * s_43 + .0007782692450036253 * r_37 - .44015232367526463) + s_43 * (5.068882914068769e-7 * s_43 + .0017778369011375071 * r_37 - .7591454649749609) - r_37 * (.0003435319965105553 * r_37 + .7063770186160144);
  4161. e[t_74 + 3] = 255;
  4162. } return e; };
  4163. JpegImage.prototype.getData = function (_b) {
  4164. var e = _b.width, t = _b.height, _g = _b.forceRGBA, i = _g === void 0 ? !1 : _g, _h = _b.forceRGB, a = _h === void 0 ? !1 : _h, _j = _b.isSourcePDF, s = _j === void 0 ? !1 : _j;
  4165. if (this.numComponents > 4)
  4166. throw new JpegError("Unsupported color mode");
  4167. var r = this._getLinearizedBlockData(e, t, s);
  4168. if (1 === this.numComponents && (i || a)) {
  4169. var e_84 = r.length * (i ? 4 : 3), t_75 = new Uint8ClampedArray(e_84);
  4170. var a_59 = 0;
  4171. if (i)
  4172. !function grayToRGBA(e, t) { if (FeatureTest.isLittleEndian)
  4173. for (var i_63 = 0, a_60 = e.length; i_63 < a_60; i_63++)
  4174. t[i_63] = 65793 * e[i_63] | 4278190080;
  4175. else
  4176. for (var i_64 = 0, a_61 = e.length; i_64 < a_61; i_64++)
  4177. t[i_64] = 16843008 * e[i_64] | 255; }(r, new Uint32Array(t_75.buffer));
  4178. else
  4179. for (var _k = 0, r_38 = r; _k < r_38.length; _k++) {
  4180. var e_85 = r_38[_k];
  4181. t_75[a_59++] = e_85;
  4182. t_75[a_59++] = e_85;
  4183. t_75[a_59++] = e_85;
  4184. }
  4185. return t_75;
  4186. }
  4187. if (3 === this.numComponents && this._isColorConversionNeeded) {
  4188. if (i) {
  4189. var e_86 = new Uint8ClampedArray(r.length / 3 * 4);
  4190. return this._convertYccToRgba(r, e_86);
  4191. }
  4192. return this._convertYccToRgb(r);
  4193. }
  4194. if (4 === this.numComponents) {
  4195. if (this._isColorConversionNeeded)
  4196. return i ? this._convertYcckToRgba(r) : a ? this._convertYcckToRgb(r) : this._convertYcckToCmyk(r);
  4197. if (i)
  4198. return this._convertCmykToRgba(r);
  4199. if (a)
  4200. return this._convertCmykToRgb(r);
  4201. }
  4202. return r;
  4203. };
  4204. return JpegImage;
  4205. }());
  4206. var JpegStream = /** @class */ (function (_super) {
  4207. tslib_1.__extends(JpegStream, _super);
  4208. function JpegStream(e, t, i) {
  4209. var _this = this;
  4210. var a;
  4211. for (; -1 !== (a = e.getByte());)
  4212. if (255 === a) {
  4213. e.skip(-1);
  4214. break;
  4215. }
  4216. _this = _super.call(this, t) || this;
  4217. _this.stream = e;
  4218. _this.dict = e.dict;
  4219. _this.maybeLength = t;
  4220. _this.params = i;
  4221. return _this;
  4222. }
  4223. Object.defineProperty(JpegStream.prototype, "bytes", {
  4224. get: function () { return shadow(this, "bytes", this.stream.getBytes(this.maybeLength)); },
  4225. enumerable: false,
  4226. configurable: true
  4227. });
  4228. JpegStream.prototype.ensureBuffer = function (e) { };
  4229. JpegStream.prototype.readBlock = function () { if (this.eof)
  4230. return; var e = { decodeTransform: void 0, colorTransform: void 0 }, t = this.dict.getArray("D", "Decode"); if ((this.forceRGBA || this.forceRGB) && Array.isArray(t)) {
  4231. var i_65 = this.dict.get("BPC", "BitsPerComponent") || 8, a_62 = t.length, s_44 = new Int32Array(a_62);
  4232. var r_39 = !1;
  4233. var n_21 = (1 << i_65) - 1;
  4234. for (var e_87 = 0; e_87 < a_62; e_87 += 2) {
  4235. s_44[e_87] = 256 * (t[e_87 + 1] - t[e_87]) | 0;
  4236. s_44[e_87 + 1] = t[e_87] * n_21 | 0;
  4237. 256 === s_44[e_87] && 0 === s_44[e_87 + 1] || (r_39 = !0);
  4238. }
  4239. r_39 && (e.decodeTransform = s_44);
  4240. } if (this.params instanceof Dict) {
  4241. var t_76 = this.params.get("ColorTransform");
  4242. Number.isInteger(t_76) && (e.colorTransform = t_76);
  4243. } var i = new JpegImage(e); i.parse(this.bytes); var a = i.getData({ width: this.drawWidth, height: this.drawHeight, forceRGBA: this.forceRGBA, forceRGB: this.forceRGB, isSourcePDF: !0 }); this.buffer = a; this.bufferLength = a.length; this.eof = !0; };
  4244. return JpegStream;
  4245. }(DecodeStream));
  4246. var oi, gi = (oi = "undefined" != typeof document ? (_b = document.currentScript) === null || _b === void 0 ? void 0 : _b.src : void 0, function (e) {
  4247. if (e === void 0) { e = {}; }
  4248. var t, i, a = Object.assign({}, e);
  4249. new Promise((function (e, a) { t = e; i = a; }));
  4250. a.decode = function (e, t) { var i = e.length, s = a._malloc(i); a.HEAPU8.set(e, s); var r = a._jp2_decode(s, i, t ? 1 : 0); a._free(s); if (r) {
  4251. var e_88 = a.errorMessages;
  4252. if (e_88) {
  4253. delete a.errorMessages;
  4254. return e_88;
  4255. }
  4256. return "Unknown error";
  4257. } var n = a.imageData; a.imageData = null; return n; };
  4258. var s, r = Object.assign({}, a), n = "./this.program", o = "";
  4259. "undefined" != typeof document && document.currentScript && (o = document.currentScript.src);
  4260. oi && (o = oi);
  4261. o = o.startsWith("blob:") ? "" : o.substr(0, o.replace(/[?#].*/, "").lastIndexOf("/") + 1);
  4262. var g, c, h, l, C, Q = a.print || console.log.bind(console), E = a.printErr || console.error.bind(console);
  4263. Object.assign(a, r);
  4264. r = null;
  4265. a.arguments && a.arguments;
  4266. a.thisProgram && (n = a.thisProgram);
  4267. a.quit && a.quit;
  4268. a.wasmBinary && (g = a.wasmBinary);
  4269. function tryParseAsDataURI(e) { if (isDataURI(e))
  4270. return function intArrayFromBase64(e) { for (var t = atob(e), i = new Uint8Array(t.length), a = 0; a < t.length; ++a)
  4271. i[a] = t.charCodeAt(a); return i; }(e.slice(b.length)); }
  4272. function updateMemoryViews() { var e = c.buffer; a.HEAP8 = h = new Int8Array(e); a.HEAP16 = new Int16Array(e); a.HEAPU8 = l = new Uint8Array(e); a.HEAPU16 = new Uint16Array(e); a.HEAP32 = new Int32Array(e); a.HEAPU32 = C = new Uint32Array(e); a.HEAPF32 = new Float32Array(e); a.HEAPF64 = new Float64Array(e); }
  4273. var u, d = [], f = [], p = [], m = 0, y = null, w = null, b = "data:application/octet-stream;base64,", isDataURI = function (e) { return e.startsWith(b); };
  4274. function instantiateSync(e, t) { var i, a = function getBinarySync(e) { if (e == u && g)
  4275. return new Uint8Array(g); var t = tryParseAsDataURI(e); if (t)
  4276. return t; if (s)
  4277. return s(e); throw 'sync fetching of the wasm failed: you can preload it to Module["wasmBinary"] manually, or emcc.py will do that for you when generating HTML (but not JS)'; }(e); i = new WebAssembly.Module(a); return [new WebAssembly.Instance(i, t), i]; }
  4278. var D, callRuntimeCallbacks = function (e) { for (; e.length > 0;)
  4279. e.shift()(a); }, F = (a.noExitRuntime, function (e) { var t = (e - c.buffer.byteLength + 65535) / 65536; try {
  4280. c.grow(t);
  4281. updateMemoryViews();
  4282. return 1;
  4283. }
  4284. catch (e) { } }), S = {}, getEnvStrings = function () { if (!getEnvStrings.strings) {
  4285. var e = { USER: "web_user", LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: ("object" == typeof navigator && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8", _: n || "./this.program" };
  4286. for (var t in S)
  4287. void 0 === S[t] ? delete e[t] : e[t] = S[t];
  4288. var i = [];
  4289. for (var t in e)
  4290. i.push("".concat(t, "=").concat(e[t]));
  4291. getEnvStrings.strings = i;
  4292. } return getEnvStrings.strings; }, k = [null, [], []], R = "undefined" != typeof TextDecoder ? new TextDecoder("utf8") : void 0, UTF8ArrayToString = function (e, t, i) { for (var a = t + i, s = t; e[s] && !(s >= a);)
  4293. ++s; if (s - t > 16 && e.buffer && R)
  4294. return R.decode(e.subarray(t, s)); for (var r = ""; t < s;) {
  4295. var n = e[t++];
  4296. if (128 & n) {
  4297. var o = 63 & e[t++];
  4298. if (192 != (224 & n)) {
  4299. var g = 63 & e[t++];
  4300. if ((n = 224 == (240 & n) ? (15 & n) << 12 | o << 6 | g : (7 & n) << 18 | o << 12 | g << 6 | 63 & e[t++]) < 65536)
  4301. r += String.fromCharCode(n);
  4302. else {
  4303. var c = n - 65536;
  4304. r += String.fromCharCode(55296 | c >> 10, 56320 | 1023 & c);
  4305. }
  4306. }
  4307. else
  4308. r += String.fromCharCode((31 & n) << 6 | o);
  4309. }
  4310. else
  4311. r += String.fromCharCode(n);
  4312. } return r; }, printChar = function (e, t) { var i = k[e]; if (0 === t || 10 === t) {
  4313. (1 === e ? Q : E)(UTF8ArrayToString(i, 0));
  4314. i.length = 0;
  4315. }
  4316. else
  4317. i.push(t); }, UTF8ToString = function (e, t) { return e ? UTF8ArrayToString(l, e, t) : ""; }, N = { f: function (e, t, i) { return l.copyWithin(e, t, t + i); }, b: function (e) { var t = l.length, i = 2147483648; if ((e >>>= 0) > i)
  4318. return !1; for (var a, s, r = 1; r <= 4; r *= 2) {
  4319. var n = t * (1 + .2 / r);
  4320. n = Math.min(n, e + 100663296);
  4321. var o = Math.min(i, (a = Math.max(e, n)) + ((s = 65536) - a % s) % s);
  4322. if (F(o))
  4323. return !0;
  4324. } return !1; }, c: function (e, t) { var i = 0; getEnvStrings().forEach((function (a, s) { var r = t + i; C[e + 4 * s >> 2] = r; (function (e, t) { for (var i = 0; i < e.length; ++i)
  4325. h[t++] = e.charCodeAt(i); h[t] = 0; })(a, r); i += a.length + 1; })); return 0; }, d: function (e, t) { var i = getEnvStrings(); C[e >> 2] = i.length; var a = 0; i.forEach((function (e) { return a += e.length + 1; })); C[t >> 2] = a; return 0; }, e: function (e, t, i, a) { for (var s = 0, r = 0; r < i; r++) {
  4326. var n = C[t >> 2], o = C[t + 4 >> 2];
  4327. t += 8;
  4328. for (var g = 0; g < o; g++)
  4329. printChar(e, l[n + g]);
  4330. s += o;
  4331. } C[a >> 2] = s; return 0; }, g: function _jsPrintWarning(e) { var t = UTF8ToString(e); (a.warn || console.warn)("OpenJPEG: ".concat(t)); }, h: function _setImageData(e, t) { a.imageData = new Uint8ClampedArray(a.HEAPU8.subarray(e, e + t)); }, a: function _storeErrorMessage(e) { var t = UTF8ToString(e); a.errorMessages ? a.errorMessages += "\n" + t : a.errorMessages = t; } }, G = function createWasm() { var e = function getWasmImports() { return { a: N }; }(); function receiveInstance(e, t) { G = e.exports; c = G.i; updateMemoryViews(); !function addOnInit(e) { f.unshift(e); }(G.j); !function removeRunDependency(e) { var _b; m--; (_b = a.monitorRunDependencies) === null || _b === void 0 ? void 0 : _b.call(a, m); if (0 == m) {
  4332. if (null !== y) {
  4333. clearInterval(y);
  4334. y = null;
  4335. }
  4336. if (w) {
  4337. var t = w;
  4338. w = null;
  4339. t();
  4340. }
  4341. } }(); return G; } !function addRunDependency(e) { var _b; m++; (_b = a.monitorRunDependencies) === null || _b === void 0 ? void 0 : _b.call(a, m); }(); if (a.instantiateWasm)
  4342. try {
  4343. return a.instantiateWasm(e, receiveInstance);
  4344. }
  4345. catch (e) {
  4346. E("Module.instantiateWasm callback failed with error: ".concat(e));
  4347. i(e);
  4348. } u || (u = "data:application/octet-stream;base64,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dEGwnQFqKAIAIQICfiAAKQMIIg5CAFMEQEEMIAFBAWogAUELThshBCADQQFrIQNBfyACdEF/c0EBdCEBQgEMAQsgAUEBa0EAIAFBAUobIQQgDkE/IAJrrYinQX8gAnRBf3NxQQF0QQFyIQEgAyACQQFqIgJrIQMgAq0LIQ8gACADNgIQIAAgBDYCHCAAIA4gD4Y3AwggACAAKQMoQv//////QIMgAa1CI4aENwMoQQYhBSADQQZIDQAgACgCHCIBQQJ0QbCdAWooAgAhAgJ+IAApAwgiDkIAUwRAQQwgAUEBaiABQQtOGyEEIANBAWshA0F/IAJ0QX9zQQF0IQFCAQwBCyABQQFrQQAgAUEBShshBCAOQT8gAmutiKdBfyACdEF/c3FBAXRBAXIhASADIAJBAWoiAmshAyACrQshDyAAIAM2AhAgACAENgIcIAAgDiAPhjcDCCAAIAApAyhC////////QIMgAa1CKoaENwMoQQchBSADQQZIDQAgACgCHCIBQQJ0QbCdAWooAgAhAgJ+IAApAwgiDkIAUwRAQQwgAUEBaiABQQtOGyEEIANBAWshA0F/IAJ0QX9zQQF0IQFCAQwBCyABQQFrQQAgAUEBShshBCAOQT8gAmutiKdBfyACdEF/c3FBAXRBAXIhASADIAJBAWoiAmshAyACrQshDyAAIAM2AhAgACAENgIcIAAgDiAPhjcDCCAAIAApAyhC/////////0CDIAGtQjGGhDcDKEEIIQULIAAgBUEBazYCICAAIAApAygiDkIHiDcDKCAOp0H/AHELIgEBfyAABEAgACgCDCIBBEAgARAJIABBADYCDAsgABAJCwuFAQIFfwF+AkAgAEKAgICAEFQEQCAAIQcMAQsDQCABQQFrIgEgAEIKgCIHQvYBfiAAfKdBMHI6AAAgAEL/////nwFWIQUgByEAIAUNAAsLIAenIgIEQANAIAFBAWsiASACQQpuIgNB9gFsIAJqQTByOgAAIAJBCUshBiADIQIgBg0ACwsgAQv54gEEen8Gewh+AX0jAEEQayJOJAACQCAALQAIQYABcUUNACAAKALMASABRw0AIAAoApwBIAFBjCxsaiJPKALcKyIVRQRAIE8QKQwBCyAAKALIARogACgC0AEhGSAAKAJMIgdFBEAgACgCSCEHCyAHKAIAIQYgBygCBCELIAco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AAACAAAA/a4BQQL9rAH9sQH9CwIAIAEiBkEBaiIBIA9HDQALIA8hBwsgByAbTg0AA0AgB0EDdCEBIAcgLEghBgJAIAdBAEwEQCA2KAIAIQogB0EATgRAIBQgAUECdCIBaiIyIDIoAgAgCiABIDZqIEUgBhsoAgBqQQJqQQJ1azYCACABICRqIgogCigCACAgKAIAIAEgIGogPCAGGygCAGpBAmpBAnVrNgIAIAEgKmoiCiAKKAIAIB8oAgAgASAfaiA6IAYbKAIAakECakECdWs2AgAgQygCACABIENqICYgBhsoAgBqQQJqIQYgASApaiEBDAILIBQgAUECdCIBaiIGIAYoAgAgCkEBdEECakECdWs2AgAgASAkaiIGIAYoAgAgFCgCFEEBdEECakECdWs2AgAgASAqaiIGIAYoAgAgFCgCGEEBdEECakECdWs2AgAgASApaiEBIBQoAhxBAXRBAmohBgwBCyAUIAcgLCAGG0EDdEEEa0ECdCIKaigCACEyIAZFBEAgFCABQQJ0IgFqIgYgBigCACAyIEUoAgBqQQJqQQJ1azYCACABICRqIgYgBigCACAKICRqKAIAIDwoAgBqQQJqQQJ1azYCACABICpqIgYgBigCACAKICpqKAIAIDooAgBqQQJqQQJ1azYCACABIClqIQEgCiApaigCACAmKAIAakECaiEGDAELIBQgAUECdCIBaiIGIAYoAgAgMiAGKAIQakECakECdWs2AgAgASAkaiIGIAYoAgAgCiAkaigCACAGKAIQakECakECdWs2AgAgASAqaiIGIAYoAgAgCiAqaigCACAGKAIQakECakECdWs2AgAgCiApaigCACABIClqIgEoAhBqQQJqIQYLIAEgASgCACAGQQJ1azYCACAHQQFqIgcgG0cNAAsLIA4gHE4NACAMIA4iASIHSgRAA0AgFCABQQV0aiIHIAf9AAIgIAf9AAIA/a4BQQH9rAEgB/0AAhD9rgH9CwIQIAFBAWoiASAMRw0ACyAMIQcLIAcgHE4NAANAIEMgB0EDdCIBQQJ0aiIyAn8gB0EASARAIBQoAgAhBiAHQX9HBEAgNiABQQJ0IgFqIgogCigCACAGajYCACABICBqIgYgBigCACAkKAIAajYCACABIB9qIgEgASgCACAqKAIAajYCACApKAIADAILIDYgAUECdCIB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LQAAQYD+A3I2AgwLIABBADYCEEEBCwtJAQF/AkBBAUEsEAwiAQRAIAFBADYCEAJAIABBAEwEQCABQQFBCBAMIgA2AiQgAEUNAQwDCyABQQA2AgwLIAEQCQtBACEBCyABC34CAX8BfiAAvSIDQjSIp0H/D3EiAkH/D0cEfCACRQRAIAEgAEQAAAAAAAAAAGEEf0EABSAARAAAAAAAAPBDoiABEF8hACABKAIAQUBqCzYCACAADwsgASACQf4HazYCACADQv////////+HgH+DQoCAgICAgIDwP4S/BSAACwuRAgAgAEUEQEEADwsCfwJAIAFB/wBNDQACQEGUzwEoAgAoAgBFBEAgAUGAf3FBgL8DRg0CDAELIAFB/w9NBEAgACABQT9xQYABcjoAASAAIAFBBnZBwAFyOgAAQQIMAwsgAUGAQHFBgMADRyABQYCwA09xRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMMAwsgAUGAgARrQf//P00EQCAAIAFBP3FBgAFyOgADIAAgAUESdkHwAXI6AAAgACABQQZ2QT9xQYABcjoAAiAAIAFBDHZBP3FBgAFyOgABQQQMAwsLQZTGAUEZNgIAQX8MAQsgACABOgAAQQELC7wCAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4SAAgJCggJAQIDBAoJCgoICQUGBwsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAwALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC3MBBn8gACgCACIDLAAAQTBrIgFBCUsEQEEADwsDQEF/IQQgAkHMmbPmAE0EQEF/IAEgAkEKbCIFaiABIAVB/////wdzSxshBAsgACADQQFqIgU2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VP0gAiACKgJ0/SAD/QsCACABIAMgF2pBAnRqIAL9CQIYIAIqAjj9IAEgAioCWP0gAiACKgJ4/SAD/QsCACABIAMgFmpBAnRqIAL9CQIcIAIqAjz9IAEgAioCXP0gAiACKgJ8/SAD/QsCACADQQRqIgMgBEcNAAsgBCALRg0BCwNAIAEgBCAbakECdGogBiAEQQV0aiIDKgIQOAIAIAEgBCAYakECdGogAyoCFDgCACABIAQgF2pBAnRqIAMqAhg4AgAgASAEIBZqQQJ0aiADKgIcOAIAIARBAWoiBCALRw0ACwsgHUEBaiEdIAEgJEECdGohASAcQQhqIhwgACgCLE0NAAsLIAAoAgAQCSAAEAkLcwECfyAAKAIcIgFBCGoiAyAAKAIgIgJNBEADQCAAIAAoAhggAUECdGogACgCFEEIECsgAyIBQQhqIgMgACgCICICTQ0ACwsgASACSQRAIAAgACgCGCABQQJ0aiAAKAIUIAIgAWsQKwsgACgCABAJIAAQCQtEACAAKAIcIgEgACgCIEkEQANAIAAgACgCGCAAKAIUIAFsQQJ0ahBWIAFBAWoiASAAKAIgSQ0ACwsgACgCABAJIAAQCQuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGEAsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEEAsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACC54FAgZ+BH8gASABKAIAQQdqQXhxIgFBEGo2AgAgACELIAEpAwAhAyABKQMIIQcjAEEgayIIJAAgB0L///////8/gyEEAn4gB0IwiEL//wGDIgWnIgpBgfgAa0H9D00EQCAEQgSGIANCPIiEIQIgCkGA+ABrrSEFAkAgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACFINACACQgGDIAJ8IQILQgAgAiACQv////////8HViIAGyECIACtIAV8DAELAkAgAyAEhFANACAFQv//AVINACAEQgSGIANCPIiEQoCAgICAgIAEhCECQv8PDAELQv8PIApB/ocB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JWQpIAAlc30KAAkJIH0KAFtERVZdIER1bXAgYW4gaW1hZ2VfY29tcF9oZWFkZXIgc3RydWN0IHsKAFtERVZdIER1bXAgYW4gaW1hZ2VfaGVhZGVyIHN0cnVjdCB7CgBJbWFnZSBpbmZvIHsKAAkgZGVmYXVsdCB0aWxlIHsKACVzCSBjb21wb25lbnQgJWQgewoACQkgY29tcCAlZCB7CgAJIFRpbGUgaW5kZXg6IHsKAAkgTWFya2VyIGxpc3Q6IHsKAENvZGVzdHJlYW0gaW5kZXggZnJvbSBtYWluIGhlYWRlcjogewoAQ29kZXN0cmVhbSBpbmZvIGZyb20gbWFpbiBoZWFkZXI6IHsKAFN0cmVhbSBlcnJvciB3aGlsZSByZWFkaW5nIEpQMiBIZWFkZXIgYm94CgBGb3VuZCBhIG1pc3BsYWNlZCAnJWMlYyVjJWMnIGJveCBvdXRzaWRlIGpwMmggYm94CgBNYWxmb3JtZWQgSlAyIGZpbGUgZm9ybWF0OiBmaXJzdCBib3ggbXVzdCBiZSBKUEVHIDIwMDAgc2lnbmF0dXJlIGJveAoATWFsZm9ybWVkIEpQMiBmaWxlIGZvcm1hdDogc2Vjb25kIGJveCBtdXN0IGJlIGZpbGUgdHlwZSBib3gKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGhhbmRsZSBqcGVnMjAwMCBib3gKAE5vdCBlbm91Z2ggbWVtb3J5IHdpdGggRlRZUCBCb3gKAEEgbWFya2VyIElEIHdhcyBleHBlY3RlZCAoMHhmZi0tKSBpbnN0ZWFkIG9mICUuOHgKAAkJIG1jdD0leAoACQkJIGNibGtzdHk9JSN4CgAJCQkgY3N0eT0lI3gKAAkJIHByZz0lI3gKAEludGVnZXIgb3ZlcmZsb3cKAAkgdGR4PSV1LCB0ZHk9JXUKAAkgdHc9JXUsIHRoPSV1CgAJIHR4MD0ldSwgdHkwPSV1CgBJbnZhbGlkIGNvbXBvbmVudCBpbmRleDogJXUKAFN0cmVhbSB0b28gc2hvcnQKAE1hcmtlciBoYW5kbGVyIGZ1bmN0aW9uIGZhaWxlZCB0byByZWFkIHRoZSBtYXJrZXIgc2VnbWVudAoATm90IGVub3VnaCBtZW1vcnkgZm9yIGN1cnJlbnQgcHJlY2luY3QgY29kZWJsb2NrIGVsZW1lbnQKAEVycm9yIHJlYWRpbmcgU1BDb2QgU1BDb2MgZWxlbWVudAoARXJyb3IgcmVhZGluZyBTUWNkIG9yIFNRY2MgZWxlbWVudAoAQSBCUENDIGhlYWRlciBib3ggaXMgYXZhaWxhYmxlIGFsdGhvdWdoIEJQQyBnaXZlbiBieSB0aGUgSUhEUiBib3ggKCVkKSBpbmRpY2F0ZSBjb21wb25lbnRzIGJpdCBkZXB0aCBpcyBjb25zdGFudAoARXJyb3Igd2l0aCBTSVogbWFya2VyOiBpbGxlZ2FsIHRpbGUgb2Zmc2V0CgBJbnZhbGlkIHByZWNpbmN0CgBOb3QgZW5vdWdoIG1lbW9yeSB0byBoYW5kbGUgYmFuZCBwcmVjaW50cwoARmFpbGVkIHRvIGRlY29kZSBhbGwgdXNlZCBjb21wb25lbnRzCgBTaXplIG9mIGNvZGUgYmxvY2sgZGF0YSBleGNlZWRzIHN5c3RlbSBsaW1pdHMKAFNpemUgb2YgdGlsZSBkYXRhIGV4Y2VlZHMgc3lzdGVtIGxpbWl0cwoAQ2Fubm90IHRha2UgaW4gY2hhcmdlIG11bHRpcGxlIE1DVCBtYXJrZXJzCgBDb3JydXB0ZWQgUFBNIG1hcmtlcnMKAE5vdCBlbm91Z2ggbWVtb3J5IGZvciB0aWxlIHJlc29sdXRpb25zCgBDYW5ub3QgdGFrZSBpbiBjaGFyZ2UgbXVsdGlwbGUgY29sbGVjdGlvbnMKAEludmFsaWQgUENMUiBib3guIFJlcG9ydHMgMCBwYWxldHRlIGNvbHVtbnMKAFdlIGRvIG5vdCBzdXBwb3J0IFJPSSBpbiBkZWNvZGluZyBIVCBjb2RlYmxvY2tzCgBDYW5ub3QgaGFuZGxlIGJveCBvZiB1bmRlZmluZWQgc2l6ZXMKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBjb2xsZWN0aW9ucyB3aXRob3V0IHNhbWUgbnVtYmVyIG9mIGluZGl4ZXMKAEludmFsaWQgdGlsZWMtPndpbl94eHggdmFsdWVzCgBDYW5ub3QgaGFuZGxlIGJveCBvZiBsZXNzIHRoYW4gOCBieXRlcwoAQ2Fubm90IGhhbmRsZSBYTCBib3ggb2YgbGVzcyB0aGFuIDE2IGJ5dGVzCgBDb21wb25lbnQgaW5kZXggJXUgdXNlZCBzZXZlcmFsIHRpbWVzCgBJbnZhbGlkIFBDTFIgYm94LiBSZXBvcnRzICVkIGVudHJpZXMKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGNyZWF0ZSBUYWctdHJlZSBub2RlcwoAQ2Fubm90IHRha2UgaW4gY2hhcmdlIG1jdCBkYXRhIHdpdGhpbiBtdWx0aXBsZSBNQ1QgcmVjb3JkcwoAQ2Fubm90IGRlY29kZSB0aWxlLCBtZW1vcnkgZXJyb3IKAG9wal9qMmtfYXBwbHlfbmJfdGlsZV9wYXJ0c19jb3JyZWN0aW9uIGVycm9yCgBQcm9ibGVtIHdpdGggc2tpcHBpbmcgSlBFRzIwMDAgYm94LCBzdHJlYW0gZXJyb3IKAFByb2JsZW0gd2l0aCByZWFkaW5nIEpQRUcyMDAwIGJveCwgc3RyZWFtIGVycm9yCgBVbmtub3duIG1hcmtlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gYWRkIHRsIG1hcmtlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gYWRkIG1oIG1hcmtlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gdGFrZSBpbiBjaGFyZ2UgU0laIG1hcmtlcgoARXJyb3IgcmVhZGluZyBQUFQgbWFya2VyCgBOb3QgZW5vdWdoIG1lbW9yeSB0byByZWFkIFBQVCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgU09UIG1hcmtlcgoARXJyb3IgcmVhZGluZyBQTFQgbWFya2VyCgBFcnJvciByZWFkaW5nIE1DVCBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgTUNUIG1hcmtlcgoATm90IGVub3VnaCBzcGFjZSBmb3IgZXhwZWN0ZWQgU09QIG1hcmtlcgoARXhwZWN0ZWQgU09QIG1hcmtlcgoARXJyb3IgcmVhZGluZyBNQ08gbWFya2VyCgBFcnJvciByZWFkaW5nIFJHTiBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUFBNIG1hcmtlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gcmVhZCBQUE0gbWFya2VyCgBFcnJvciByZWFkaW5nIFRMTSBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUExNIG1hcmtlcgoATm90IGVub3VnaCBzcGFjZSBmb3IgZXhwZWN0ZWQgRVBIIG1hcmtlcgoARXhwZWN0ZWQgRVBIIG1hcmtlcgoARXJyb3IgcmVhZGluZyBDUkcgbWFya2VyCgBVbmtub3duIHByb2dyZXNzaW9uIG9yZGVyIGluIENPRCBtYXJrZXIKAFVua25vd24gU2NvZCB2YWx1ZSBpbiBDT0QgbWFya2VyCgBFcnJvciByZWFkaW5nIENPRCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUUNEIG1hcmtlcgoAQ3Jyb3IgcmVhZGluZyBDQkQgbWFya2VyCgBFcnJvciByZWFkaW5nIFBPQyBtYXJrZXIKAEVycm9yIHJlYWRpbmcgQ09DIG1hcmtlcgoARXJyb3IgcmVhZGluZyBRQ0MgbWFya2VyCgBFcnJvciByZWFkaW5nIE1DQyBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgTUNDIG1hcmtlcgoAcmVxdWlyZWQgU0laIG1hcmtlciBub3QgZm91bmQgaW4gbWFpbiBoZWFkZXIKAHJlcXVpcmVkIENPRCBtYXJrZXIgbm90IGZvdW5kIGluIG1haW4gaGVhZGVyCgByZXF1aXJlZCBRQ0QgbWFya2VyIG5vdCBmb3VuZCBpbiBtYWluIGhlYWRlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gaGFuZGxlIGpwZWcyMDAwIGZpbGUgaGVhZGVyCgBOb3QgZW5vdWdoIG1lbW9yeSB0byByZWFkIGhlYWRlcgoARXJyb3Igd2l0aCBKUCBTaWduYXR1cmUgOiBiYWQgbWFnaWMgbnVtYmVyCgBJbiBTT1QgbWFya2VyLCBUUFNvdCAoJWQpIGlzIG5vdCB2YWxpZCByZWdhcmRzIHRvIHRoZSBjdXJyZW50IG51bWJlciBvZiB0aWxlLXBhcnQgKCVkKSwgZ2l2aW5nIHVwCgBJbiBTT1QgbWFya2VyLCBUUFNvdCAoJWQpIGlzIG5vdCB2YWxpZCByZWdhcmRzIHRvIHRoZSBwcmV2aW91cyBudW1iZXIgb2YgdGlsZS1wYXJ0ICglZCksIGdpdmluZyB1cAoASW4gU09UIG1hcmtlciwgVFBTb3QgKCVkKSBpcyBub3QgdmFsaWQgcmVnYXJkcyB0byB0aGUgY3VycmVudCBudW1iZXIgb2YgdGlsZS1wYXJ0IChoZWFkZXIpICglZCksIGdpdmluZyB1cAoAdGlsZXMgcmVxdWlyZSBhdCBsZWFzdCBvbmUgcmVzb2x1dGlvbgoATWFya2VyIGlzIG5vdCBjb21wbGlhbnQgd2l0aCBpdHMgcG9zaXRpb24KAFByb2JsZW0gd2l0aCBzZWVrIGZ1bmN0aW9uCgBFcnJvciByZWFkaW5nIFNQQ29kIFNQQ29jIGVsZW1lbnQsIEludmFsaWQgY2Jsa3cvY2Jsa2ggY29tYmluYXRpb24KAEludmFsaWQgbXVsdGlwbGUgY29tcG9uZW50IHRyYW5zZm9ybWF0aW9uCgBDYW5ub3QgdGFrZSBpbiBjaGFyZ2UgY29sbGVjdGlvbnMgb3RoZXIgdGhhbiBhcnJheSBkZWNvcnJlbGF0aW9uCgBUb28gbGFyZ2UgdmFsdWUgZm9yIE5wcG0KAE5vdCBlbm91Z2ggYnl0ZXMgdG8gcmVhZCBOcHBtCgBiYWQgcGxhY2VkIGpwZWcgY29kZXN0cmVhbQoACSBNYWluIGhlYWRlciBzdGFydCBwb3NpdGlvbj0lbGxpCgkgTWFpbiBoZWFkZXIgZW5kIHBvc2l0aW9uPSVsbGkKAE1hcmtlciBzaXplIGluY29uc2lzdGVudCB3aXRoIHN0cmVhbSBsZW5ndGgKAFRpbGUgcGFydCBsZW5ndGggc2l6ZSBpbmNvbnNpc3RlbnQgd2l0aCBzdHJlYW0gbGVuZ3RoCgBDYW5ub3QgdGFrZSBpbiBjaGFyZ2UgbXVsdGlwbGUgZGF0YSBzcGFubmluZwoAV3JvbmcgZmxhZwoARXJyb3Igd2l0aCBGVFlQIHNpZ25hdHVyZSBCb3ggc2l6ZQoARXJyb3Igd2l0aCBKUCBzaWduYXR1cmUgQm94IHNpemUKAEludmFsaWQgcHJlY2luY3Qgc2l6ZQoASW5jb25zaXN0ZW50IG1hcmtlciBzaXplCgBJbnZhbGlkIG1hcmtlciBzaXplCgBFcnJvciB3aXRoIFNJWiBtYXJrZXIgc2l6ZQoATm90IGVub3VnaCBtZW1vcnkgdG8gYWRkIGEgbmV3IHZhbGlkYXRpb24gcHJvY2VkdXJlCgBOb3QgZW5vdWdoIG1lbW9yeSB0byBkZWNvZGUgdGlsZQoARmFpbGVkIHRvIGRlY29kZSB0aGUgY29kZXN0cmVhbSBpbiB0aGUgSlAyIGZpbGUKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBjb2xsZWN0aW9ucyB3aXRoIGluZGl4IHNodWZmbGUKAENhbm5vdCBhbGxvY2F0ZSBUaWVyIDEgaGFuZGxlCgBObyBkZWNvZGVkIGFyZWEgcGFyYW1ldGVycywgc2V0IHRoZSBkZWNvZGVkIGFyZWEgdG8gdGhlIHdob2xlIGltYWdlCgBOb3QgZW5vdWdoIG1lbW9yeSB0byBjcmVhdGUgVGFnLXRyZWUKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlaW5pdGlhbGl6ZSB0aGUgdGFnIHRyZWUKAEVycm9yIHJlYWRpbmcgU1BDb2QgU1BDb2MgZWxlbWVudCwgSW52YWxpZCB0cmFuc2Zvcm1hdGlvbiBmb3VuZAoARXJyb3IgcmVhZGluZyBTUENvZCBTUENvYyBlbGVtZW50LiBVbnN1cHBvcnRlZCBNaXhlZCBIVCBjb2RlLWJsb2NrIHN0eWxlIGZvdW5kCgBUaWxlIFkgY29vcmRpbmF0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQKAFRpbGUgWCBjb29yZGluYXRlcyBhcmUgbm90IHN1cHBvcnRlZAoASW1hZ2UgY29vcmRpbmF0ZXMgYWJvdmUgSU5UX01BWCBhcmUgbm90IHN1cHBvcnRlZAoASlBFRzIwMDAgSGVhZGVyIGJveCBub3QgcmVhZCB5ZXQsICclYyVjJWMlYycgYm94IHdpbGwgYmUgaWdub3JlZAoAb3BqX2oya19tZXJnZV9wcHQoKSBoYXMgYWxyZWFkeSBiZWVuIGNhbGxlZAoATm90IGVub3VnaCBtZW1vcnkgdG8gcmVhZCBTT1QgbWFya2VyLiBUaWxlIGluZGV4IGFsbG9jYXRpb24gZmFpbGVkCgBJZ25vcmluZyBpaGRyIGJveC4gRmlyc3QgaWhkciBib3ggYWxyZWFkeSByZWFkCgBacHB0ICV1IGFscmVhZHkgcmVhZAoAWnBwbSAldSBhbHJlYWR5IHJlYWQKAFBURVJNIGNoZWNrIGZhaWx1cmU6ICVkIHN5bnRoZXRpemVkIDB4RkYgbWFya2VycyByZWFkCgAJCQkgY2Jsa3c9Ml4lZAoACQkJIGNibGtoPTJeJWQKAAkJCSBxbnRzdHk9JWQKACVzIGR4PSVkLCBkeT0lZAoACQkJIHJvaXNoaWZ0PSVkCgAJCQkgbnVtZ2JpdHM9JWQKAAkJIG51bWxheWVycz0lZAoAJXMgbnVtY29tcHM9JWQKAG9wal9qcDJfYXBwbHlfY2RlZjogYWNuPSVkLCBudW1jb21wcz0lZAoAb3BqX2pwMl9hcHBseV9jZGVmOiBjbj0lZCwgbnVtY29tcHM9JWQKAAkJCSBudW1yZXNvbHV0aW9ucz0lZAoACQkgdHlwZT0lI3gsIHBvcz0lbGxpLCBsZW49JWQKACVzIHNnbmQ9JWQKAAkJCSBxbWZiaWQ9JWQKACVzIHByZWM9JWQKAAkJIG5iIG9mIHRpbGUtcGFydCBpbiB0aWxlIFslZF09JWQKACVzIHgxPSVkLCB5MT0lZAoAJXMgeDA9JWQsIHkwPSVkCgBGYWlsZWQgdG8gZGVjb2RlIHRpbGUgJWQvJWQKAFNldHRpbmcgZGVjb2RpbmcgYXJlYSB0byAlZCwlZCwlZCwlZAoARmFpbGVkIHRvIGRlY29kZSBjb21wb25lbnQgJWQKAEludmFsaWQgdmFsdWUgZm9yIG51bXJlc29sdXRpb25zIDogJWQsIG1heCB2YWx1ZSBpcyBzZXQgaW4gb3BlbmpwZWcuaCBhdCAlZAoASW52YWxpZCBjb21wb25lbnQgbnVtYmVyOiAlZCwgcmVnYXJkaW5nIHRoZSBudW1iZXIgb2YgY29tcG9uZW50cyAlZAoAVG9vIG1hbnkgUE9DcyAlZAoASW52YWxpZCB0aWxlIG51bWJlciAlZAoASW52YWxpZCB0aWxlIHBhcnQgaW5kZXggZm9yIHRpbGUgbnVtYmVyICVkLiBHb3QgJWQsIGV4cGVjdGVkICVkCgBFcnJvciB3aXRoIFNJWiBtYXJrZXI6IG51bWJlciBvZiBjb21wb25lbnQgaXMgaWxsZWdhbCAtPiAlZAoATm90IGVub3VnaCBtZW1vcnkgZm9yIGNpZWxhYgoAQ2Fubm90IGFsbG9jYXRlIGNibGstPmRlY29kZWRfZGF0YQoARmFpbGVkIHRvIG1lcmdlIFBQVCBkYXRhCgBGYWlsZWQgdG8gbWVyZ2UgUFBNIGRhdGEKAEludmFsaWQgbnVtYmVyIG9mIGxheWVycyBpbiBDT0QgbWFya2VyIDogJWQgbm90IGluIHJhbmdlIFsxLTY1NTM1XQoAU3RyZWFtIHRvbyBzaG9ydCwgZXhwZWN0ZWQgU09UCgBVbmFibGUgdG8gc2V0IHQxIGhhbmRsZSBhcyBUTFMKAFN0cmVhbSBkb2VzIG5vdCBlbmQgd2l0aCBFT0MKAENhbm5vdCBoYW5kbGUgYm94IHNpemVzIGhpZ2hlciB0aGFuIDJeMzIKAG9wal9waV9uZXh0X2xyY3AoKTogaW52YWxpZCBjb21wbm8wL2NvbXBubzEKAG9wal9waV9uZXh0X3JsY3AoKTogaW52YWxpZCBjb21wbm8wL2NvbXBubzEKAG9wal9waV9uZXh0X2NwcmwoKTogaW52YWxpZCBjb21wbm8wL2NvbXBubzEKAG9wal9waV9uZXh0X3BjcmwoKTogaW52YWxpZCBjb21wbm8wL2NvbXBubzEKAG9wal9waV9uZXh0X3JwY2woKTogaW52YWxpZCBjb21wbm8wL2NvbXBubzEKAG9wal90MV9kZWNvZGVfY2JsaygpOiB1bnN1cHBvcnRlZCBicG5vX3BsdXNfb25lID0gJWQgPj0gMzEKAEZhaWxlZCB0byBkZWNvZGUgdGlsZSAxLzEKAEluc3VmZmljaWVudCBkYXRhIGZvciBDTUFQIGJveC4KAE5lZWQgdG8gcmVhZCBhIFBDTFIgYm94IGJlZm9yZSB0aGUgQ01BUCBib3guCgBJbnN1ZmZpY2llbnQgZGF0YSBmb3IgQ0RFRiBib3guCgBOdW1iZXIgb2YgY2hhbm5lbCBkZXNjcmlwdGlvbiBpcyBlcXVhbCB0byB6ZXJvIGluIENERUYgYm94LgoAU3RyZWFtIGVycm9yIHdoaWxlIHJlYWRpbmcgSlAyIEhlYWRlciBib3g6IG5vICdpaGRyJyBib3guCgBOb24gY29uZm9ybWFudCBjb2Rlc3RyZWFtIFRQc290PT1UTnNvdC4KAFN0cmVhbSBlcnJvciB3aGlsZSByZWFkaW5nIEpQMiBIZWFkZXIgYm94OiBib3ggbGVuZ3RoIGlzIGluY29uc2lzdGVudC4KAEJveCBsZW5ndGggaXMgaW5jb25zaXN0ZW50LgoAUmVzb2x1dGlvbiBmYWN0b3IgaXMgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtIHJlc29sdXRpb24gaW4gdGhlIGNvbXBvbmVudC4KAENvbXBvbmVudCBtYXBwaW5nIHNlZW1zIHdyb25nLiBUcnlpbmcgdG8gY29ycmVjdC4KAEluY29tcGxldGUgY2hhbm5lbCBkZWZpbml0aW9ucy4KAE1hbGZvcm1lZCBIVCBjb2RlYmxvY2suIEludmFsaWQgY29kZWJsb2NrIGxlbmd0aCB2YWx1ZXMuCgBXZSBkbyBub3Qgc3VwcG9ydCBtb3JlIHRoYW4gMyBjb2RpbmcgcGFzc2VzIGluIGFuIEhUIGNvZGVibG9jazsgVGhpcyBjb2RlYmxvY2tzIGhhcyAlZCBwYXNzZXMuCgBNYWxmb3JtZWQgSFQgY29kZWJsb2NrLiBEZWNvZGluZyB0aGlzIGNvZGVibG9jayBpcyBzdG9wcGVkLiBUaGVyZSBhcmUgJWQgemVybyBiaXRwbGFuZXMgaW4gJWQgYml0cGxhbmVzLgoAQ2Fubm90IHRha2UgaW4gY2hhcmdlIG11bHRpcGxlIHRyYW5zZm9ybWF0aW9uIHN0YWdlcy4KAFVua25vd24gbWFya2VyIGhhcyBiZWVuIGRldGVjdGVkIGFuZCBnZW5lcmF0ZWQgZXJyb3IuCgBDb2RlYyBwcm92aWRlZCB0byB0aGUgb3BqX3NldF9kZWNvZGVkX2NvbXBvbmVudHMgZnVuY3Rpb24gaXMgbm90IGEgZGVjb21wcmVzc29yIGhhbmRsZXIuCgBDb2RlYyBwcm92aWRlZCB0byB0aGUgb3BqX3NldHVwX2RlY29kZXIgZnVuY3Rpb24gaXMgbm90IGEgZGVjb21wcmVzc29yIGhhbmRsZXIuCgBDb2RlYyBwcm92aWRlZCB0byB0aGUgb3BqX3JlYWRfaGVhZGVyIGZ1bmN0aW9uIGlzIG5vdCBhIGRlY29tcHJlc3NvciBoYW5kbGVyLgoAVGlsZXMgZG9uJ3QgYWxsIGhhdmUgdGhlIHNhbWUgZGltZW5zaW9uLiBTa2lwIHRoZSBNQ1Qgc3RlcC4KAE51bWJlciBvZiBjb21wb25lbnRzICglZCkgaXMgaW5jb25zaXN0ZW50IHdpdGggYSBNQ1QuIFNraXAgdGhlIE1DVCBzdGVwLgoASlAyIGJveCB3aGljaCBhcmUgYWZ0ZXIgdGhlIGNvZGVzdHJlYW0gd2lsbCBub3QgYmUgcmVhZCBieSB0aGlzIGZ1bmN0aW9uLgoATWFsZm9ybWVkIEhUIGNvZGVibG9jay4gV2hlbiB0aGUgbnVtYmVyIG9mIHplcm8gcGxhbmVzIGJpdHBsYW5lcyBpcyBlcXVhbCB0byB0aGUgbnVtYmVyIG9mIGJpdHBsYW5lcywgb25seSB0aGUgY2xlYW51cCBwYXNzIG1ha2VzIHNlbnNlLCBidXQgd2UgaGF2ZSAlZCBwYXNzZXMgaW4gdGhpcyBjb2RlYmxvY2suIFRoZXJlZm9yZSwgb25seSB0aGUgY2xlYW51cCBwYXNzIHdpbGwgYmUgZGVjb2RlZC4gVGhpcyBtZXNzYWdlIHdpbGwgbm90IGJlIGRpc3BsYXllZCBhZ2Fpbi4KAEltYWdlIGhhcyBsZXNzIGNvbXBvbmVudHMgdGhhbiBjb2Rlc3RyZWFtLgoATmVlZCB0byBkZWNvZGUgdGhlIG1haW4gaGVhZGVyIGJlZm9yZSBiZWdpbiB0byBkZWNvZGUgdGhlIHJlbWFpbmluZyBjb2Rlc3RyZWFtLgoAUHNvdCB2YWx1ZSBvZiB0aGUgY3VycmVudCB0aWxlLXBhcnQgaXMgZXF1YWwgdG8gemVybywgd2UgYXNzdW1pbmcgaXQgaXMgdGhlIGxhc3QgdGlsZS1wYXJ0IG9mIHRoZSBjb2Rlc3RyZWFtLgoAQSBtYWxmb3JtZWQgY29kZWJsb2NrIHRoYXQgaGFzIG1vcmUgdGhhbiBvbmUgY29kaW5nIHBhc3MsIGJ1dCB6ZXJvIGxlbmd0aCBmb3IgMm5kIGFuZCBwb3RlbnRpYWxseSB0aGUgM3JkIHBhc3MgaW4gYW4gSFQgY29kZWJsb2NrLgoACQkJIHRpbGUtcGFydFslZF06IHN0YXJfcG9zPSVsbGksIGVuZF9oZWFkZXI9JWxsaSwgZW5kX3Bvcz0lbGxpLgoAVGlsZSAldSBoYXMgVFBzb3QgPT0gMCBhbmQgVE5zb3QgPT0gMCwgYnV0IG5vIG90aGVyIHRpbGUtcGFydHMgd2VyZSBmb3VuZC4gRU9DIGlzIGFsc28gbWlzc2luZy4KAENvbXBvbmVudCAlZCBkb2Vzbid0IGhhdmUgYSBtYXBwaW5nLgoAQSBjb25mb3JtaW5nIEpQMiByZWFkZXIgc2hhbGwgaWdub3JlIGFsbCBDb2xvdXIgU3BlY2lmaWNhdGlvbiBib3hlcyBhZnRlciB0aGUgZmlyc3QsIHNvIHdlIGlnbm9yZSB0aGlzIG9uZS4KAFRoZSBzaWduYXR1cmUgYm94IG11c3QgYmUgdGhlIGZpcnN0IGJveCBpbiB0aGUgZmlsZS4KAFRoZSAgYm94IG11c3QgYmUgdGhlIGZpcnN0IGJveCBpbiB0aGUgZmlsZS4KAFRoZSBmdHlwIGJveCBtdXN0IGJlIHRoZSBzZWNvbmQgYm94IGluIHRoZSBmaWxlLgoARmFpbGVkIHRvIGRlY29kZS4KAE1hbGZvcm1lZCBIVCBjb2RlYmxvY2suIEluY29ycmVjdCBNRUwgc2VnbWVudCBzZXF1ZW5jZS4KAENvbXBvbmVudCAlZCBpcyBtYXBwZWQgdHdpY2UuCgBPbmx5IG9uZSBDTUFQIGJveCBpcyBhbGxvd2VkLgoAYXBwbHlfY29sb3JfdHJhbnNmb3JtcyA9IE9QSl9UUlVFIGlzIG5vdCBzdXBwb3J0ZWQuCgBXZSBuZWVkIGFuIGltYWdlIHByZXZpb3VzbHkgY3JlYXRlZC4KAElIRFIgYm94X21pc3NpbmcuIFJlcXVpcmVkLgoASlAySCBib3ggbWlzc2luZy4gUmVxdWlyZWQuCgBOb3Qgc3VyZSBob3cgdGhhdCBoYXBwZW5lZC4KAE1haW4gaGVhZGVyIGhhcyBiZWVuIGNvcnJlY3RseSBkZWNvZGVkLgoAVGlsZSAlZC8lZCBoYXMgYmVlbiBkZWNvZGVkLgoASGVhZGVyIG9mIHRpbGUgJWQgLyAlZCBoYXMgYmVlbiByZWFkLgoARW1wdHkgU09UIG1hcmtlciBkZXRlY3RlZDogUHNvdD0lZC4KAERpcmVjdCB1c2UgYXQgIyVkIGhvd2V2ZXIgcGNvbD0lZC4KAEltcGxlbWVudGF0aW9uIGxpbWl0YXRpb246IGZvciBwYWxldHRlIG1hcHBpbmcsIHBjb2xbJWRdIHNob3VsZCBiZSBlcXVhbCB0byAlZCwgYnV0IGlzIGVxdWFsIHRvICVkLgoASW52YWxpZCBjb21wb25lbnQvcGFsZXR0ZSBpbmRleCBmb3IgZGlyZWN0IG1hcHBpbmcgJWQuCgBJbnZhbGlkIHZhbHVlIGZvciBjbWFwWyVkXS5tdHlwID0gJWQuCgBQc290IHZhbHVlIGlzIG5vdCBjb3JyZWN0IHJlZ2FyZHMgdG8gdGhlIEpQRUcyMDAwIG5vcm06ICVkLgoATWFsZm9ybWVkIEhUIGNvZGVibG9jay4gVkxDIGNvZGUgcHJvZHVjZXMgc2lnbmlmaWNhbnQgc2FtcGxlcyBvdXRzaWRlIHRoZSBjb2RlYmxvY2sgYXJlYS4KAFVuZXhwZWN0ZWQgT09NLgoAMzIgYml0cyBhcmUgbm90IGVub3VnaCB0byBkZWNvZGUgdGhpcyBjb2RlYmxvY2ssIHNpbmNlIHRoZSBudW1iZXIgb2YgYml0cGxhbmUsICVkLCBpcyBsYXJnZXIgdGhhbiAzMC4KAEJvdHRvbSBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feTE9JWQpIHNob3VsZCBiZSA+IDAuCgBSaWdodCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feDE9JWQpIHNob3VsZCBiZSA+IDAuCgBVcCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feTA9JWQpIHNob3VsZCBiZSA+PSAwLgoATGVmdCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feDA9JWQpIHNob3VsZCBiZSA+PSAwLgoARXJyb3IgcmVhZGluZyBQUFQgbWFya2VyOiBwYWNrZXQgaGVhZGVyIGhhdmUgYmVlbiBwcmV2aW91c2x5IGZvdW5kIGluIHRoZSBtYWluIGhlYWRlciAoUFBNIG1hcmtlcikuCgBTdGFydCB0byByZWFkIGoyayBtYWluIGhlYWRlciAoJWxsZCkuCgBCb3R0b20gcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3kxPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChZc2l6PSVkKS4KAFVwIHBvc2l0aW9uIG9mIHRoZSBkZWNvZGVkIGFyZWEgKHJlZ2lvbl95MD0lZCkgaXMgb3V0c2lkZSB0aGUgaW1hZ2UgYXJlYSAoWXNpej0lZCkuCgBSaWdodCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feDE9JWQpIGlzIG91dHNpZGUgdGhlIGltYWdlIGFyZWEgKFhzaXo9JWQpLgoATGVmdCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feDA9JWQpIGlzIG91dHNpZGUgdGhlIGltYWdlIGFyZWEgKFhzaXo9JWQpLgoAQm90dG9tIHBvc2l0aW9uIG9mIHRoZSBkZWNvZGVkIGFyZWEgKHJlZ2lvbl95MT0lZCkgaXMgb3V0c2lkZSB0aGUgaW1hZ2UgYXJlYSAoWU9zaXo9JWQpLgoAVXAgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3kwPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChZT3Npej0lZCkuCgBSaWdodCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feDE9JWQpIGlzIG91dHNpZGUgdGhlIGltYWdlIGFyZWEgKFhPc2l6PSVkKS4KAExlZnQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gwPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChYT3Npej0lZCkuCgBTaXplIHggb2YgdGhlIGRlY29kZWQgY29tcG9uZW50IGltYWdlIGlzIGluY29ycmVjdCAoY29tcFslZF0udz0lZCkuCgBTaXplIHkgb2YgdGhlIGRlY29kZWQgY29tcG9uZW50IGltYWdlIGlzIGluY29ycmVjdCAoY29tcFslZF0uaD0lZCkuCgBUaWxlIHJlYWQsIGRlY29kZWQgYW5kIHVwZGF0ZWQgaXMgbm90IHRoZSBkZXNpcmVkIG9uZSAoJWQgdnMgJWQpLgoASW52YWxpZCBjb21wb25lbnQgaW5kZXggJWQgKD49ICVkKS4KAG9wal9yZWFkX2hlYWRlcigpIHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlIG9wal9zZXRfZGVjb2RlZF9jb21wb25lbnRzKCkuCgBNZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlIGluIG9wal9qcDJfYXBwbHlfcGNscigpLgoAaW1hZ2UtPmNvbXBzWyVkXS5kYXRhID09IE5VTEwgaW4gb3BqX2pwMl9hcHBseV9wY2xyKCkuCgBpbnZhbGlkIGJveCBzaXplICVkICgleCkKAEZhaWwgdG8gcmVhZCB0aGUgY3VycmVudCBtYXJrZXIgc2VnbWVudCAoJSN4KQoARXJyb3Igd2l0aCBTSVogbWFya2VyOiBJSERSIHcoJXUpIGgoJXUpIHZzLiBTSVogdygldSkgaCgldSkKAEVycm9yIHJlYWRpbmcgQ09DIG1hcmtlciAoYmFkIG51bWJlciBvZiBjb21wb25lbnRzKQoASW52YWxpZCBudW1iZXIgb2YgdGlsZXMgOiAldSB4ICV1IChtYXhpbXVtIGZpeGVkIGJ5IGpwZWcyMDAwIG5vcm0gaXMgNjU1MzUgdGlsZXMpCgBJbnZhbGlkIG51bWJlciBvZiBjb21wb25lbnRzIChpaGRyKQoATm90IGVub3VnaCBtZW1vcnkgdG8gaGFuZGxlIGltYWdlIGhlYWRlciAoaWhkcikKAFdyb25nIHZhbHVlcyBmb3I6IHcoJWQpIGgoJWQpIG51bWNvbXBzKCVkKSAoaWhkcikKAEludmFsaWQgdmFsdWVzIGZvciBjb21wID0gJWQgOiBkeD0ldSBkeT0ldSAoc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgMjU1IGFjY29yZGluZyB0byB0aGUgSlBFRzIwMDAgbm9ybSkKAEJhZCBpbWFnZSBoZWFkZXIgYm94IChiYWQgc2l6ZSkKAEJhZCBDT0xSIGhlYWRlciBib3ggKGJhZCBzaXplKQoAQmFkIEJQQ0MgaGVhZGVyIGJveCAoYmFkIHNpemUpCgBFcnJvciB3aXRoIFNJWiBtYXJrZXI6IG5lZ2F0aXZlIG9yIHplcm8gaW1hZ2Ugc2l6ZSAoJWxsZCB4ICVsbGQpCgBza2lwOiBzZWdtZW50IHRvbyBsb25nICglZCkgd2l0aCBtYXggKCVkKSBmb3IgY29kZWJsb2NrICVkIChwPSVkLCBiPSVkLCByPSVkLCBjPSVkKQoAcmVhZDogc2VnbWVudCB0b28gbG9uZyAoJWQpIHdpdGggbWF4ICglZCkgZm9yIGNvZGVibG9jayAlZCAocD0lZCwgYj0lZCwgcj0lZCwgYz0lZCkKAERlc3BpdGUgSlAyIEJQQyE9MjU1LCBwcmVjaXNpb24gYW5kL29yIHNnbmQgdmFsdWVzIGZvciBjb21wWyVkXSBpcyBkaWZmZXJlbnQgdGhhbiBjb21wWzBdOgogICAgICAgIFswXSBwcmVjKCVkKSBzZ25kKCVkKSBbJWRdIHByZWMoJWQpIHNnbmQoJWQpCgBiYWQgY29tcG9uZW50IG51bWJlciBpbiBSR04gKCVkIHdoZW4gdGhlcmUgYXJlIG9ubHkgJWQpCgBFcnJvciB3aXRoIFNJWiBtYXJrZXI6IG51bWJlciBvZiBjb21wb25lbnQgaXMgbm90IGNvbXBhdGlibGUgd2l0aCB0aGUgcmVtYWluaW5nIG51bWJlciBvZiBwYXJhbWV0ZXJzICggJWQgdnMgJWQpCgBFcnJvciB3aXRoIFNJWiBtYXJrZXI6IGludmFsaWQgdGlsZSBzaXplICh0ZHg6ICVkLCB0ZHk6ICVkKQoAQmFkIENPTFIgaGVhZGVyIGJveCAoYmFkIHNpemU6ICVkKQoAQmFkIENPTFIgaGVhZGVyIGJveCAoQ0lFTGFiLCBiYWQgc2l6ZTogJWQpCgBQVEVSTSBjaGVjayBmYWlsdXJlOiAlZCByZW1haW5pbmcgYnl0ZXMgaW4gY29kZSBibG9jayAoJWQgdXNlZCAvICVkKQoATWFsZm9ybWVkIEhUIGNvZGVibG9jay4gT25lIG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uIGlzIG5vdCBtZXQ6IDIgPD0gU2N1cCA8PSBtaW4oTGN1cCwgNDA3OSkKAEludmFsaWQgdmFsdWVzIGZvciBjb21wID0gJWQgOiBwcmVjPSV1IChzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAzOCBhY2NvcmRpbmcgdG8gdGhlIEpQRUcyMDAwIG5vcm0uIE9wZW5KcGVnIG9ubHkgc3VwcG9ydHMgdXAgdG8gMzEpCgBJbnZhbGlkIGJpdCBudW1iZXIgJWQgaW4gb3BqX3QyX3JlYWRfcGFja2V0X2hlYWRlcigpCgBTdHJlYW0gZXJyb3IhCgBFcnJvciBvbiB3cml0aW5nIHN0cmVhbSEKAFN0cmVhbSByZWFjaGVkIGl0cyBlbmQgIQoARXhwZWN0ZWQgYSBTT0MgbWFya2VyIAoASW52YWxpZCBib3ggc2l6ZSAlZCBmb3IgYm94ICclYyVjJWMlYycuIE5lZWQgJWQgYnl0ZXMsICVkIGJ5dGVzIHJlbWFpbmluZyAKAE1hbGZvcm1lZCBIVCBjb2RlYmxvY2suIERlY29kaW5nIHRoaXMgY29kZWJsb2NrIGlzIHN0b3BwZWQuIFVfcSBpcyBsYXJnZXIgdGhhbiB6ZXJvIGJpdHBsYW5lcyArIDEgCgBNYWxmb3JtZWQgSFQgY29kZWJsb2NrLiBEZWNvZGluZyB0aGlzIGNvZGVibG9jayBpcyBzdG9wcGVkLiBVX3EgaXNsYXJnZXIgdGhhbiBiaXRwbGFuZXMgKyAxIAoAQ09MUiBCT1ggbWV0aCB2YWx1ZSBpcyBub3QgYSByZWd1bGFyIHZhbHVlICglZCksIHNvIHdlIHdpbGwgaWdub3JlIHRoZSBlbnRpcmUgQ29sb3VyIFNwZWNpZmljYXRpb24gYm94LiAKAFdoaWxlIHJlYWRpbmcgQ0NQX1FOVFNUWSBlbGVtZW50IGluc2lkZSBRQ0Qgb3IgUUNDIG1hcmtlciBzZWdtZW50LCBudW1iZXIgb2Ygc3ViYmFuZHMgKCVkKSBpcyBncmVhdGVyIHRvIE9QSl9KMktfTUFYQkFORFMgKCVkKS4gU28gd2UgbGltaXQgdGhlIG51bWJlciBvZiBlbGVtZW50cyBzdG9yZWQgdG8gT1BKX0oyS19NQVhCQU5EUyAoJWQpIGFuZCBza2lwIHRoZSByZXN0LiAKAEpQMiBJSERSIGJveDogY29tcHJlc3Npb24gdHlwZSBpbmRpY2F0ZSB0aGF0IHRoZSBmaWxlIGlzIG5vdCBhIGNvbmZvcm1pbmcgSlAyIGZpbGUgKCVkKSAKAFRpbGUgaW5kZXggcHJvdmlkZWQgYnkgdGhlIHVzZXIgaXMgaW5jb3JyZWN0ICVkIChtYXggPSAlZCkgCgBFcnJvciBkZWNvZGluZyBjb21wb25lbnQgJWQuClRoZSBudW1iZXIgb2YgcmVzb2x1dGlvbnMgdG8gcmVtb3ZlICglZCkgaXMgZ3JlYXRlciBvciBlcXVhbCB0aGFuIHRoZSBudW1iZXIgb2YgcmVzb2x1dGlvbnMgb2YgdGhpcyBjb21wb25lbnQg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AAABVAAAAQAAABBQAADQUAAAAUgAAAAAAAAgUAAAwFAAAAFIAAABAAAAMFAAANBQAAABOAAAAAAAAEBQAADAUAAAATgAAAEAAABQUAAA0FAAAAEwAAAAAAAAYFAAACBRAAABMAAAAQAAAHBQAAAwUQAAASQAAAAAAACAUAAAQFEAAAEkAAABAAAAkFAAAFBRAAABHAAAAAAAAKBQAACAUQAAARwAAAEAAACwUAAAkFEAAAEWAAAAAAAAoFIAAKBRAAABFgAAAQAAALBSAACwUQAAAVYAAAAAAADgUAAA0FAAAAFWAAABAAAA8FAAAMBQAAABVAAAAAAAAABRAADAUAAAAVQAAAEAAAAQUQAA0FAAAAFRAAAAAAAAIFEAAOBQAAABUQAAAQAAADBRAADwUAAAAUgAAAAAAABAUQAAAFEAAAFIAAABAAAAUFEAABBRAAABOAAAAAAAAGBRAAAgUQAAATgAAAEAAABwUQAAMFEAAAE0AAAAAAAAgFEAAEBRAAABNAAAAQAAAJBRAABQUQAAATAAAAAAAACgUQAAYFEAAAEwAAABAAAAsFEAAHBRAAABKAAAAAAAAMBRAABgUQAAASgAAAEAAADQUQAAcFEAAAEkAAAAAAAA4FEAAIBRAAABJAAAAQAAAPBRAACQUQAAASIAAAAAAAAAUgAAoFEAAAEiAAABAAAAEFIAALBRAAABHAAAAAAAACBSAADAUQAAARwAAAEAAAAwUgAA0FEAAAEYAAAAAAAAQFIAAOBRAAABGAAAAQAAAFBSAADwUQAAARYAAAAAAABgUgAAAFIAAAEWAAABAAAAcFIAABBSAAABFAAAAAAAAIBSAAAgUgAAARQAAAEAAACQUgAAMFIAAAESAAAAAAAAoFIAAEBSAAABEgAAAQAAALBSAABQUgAAAREAAAAAAADAUgAAYFIAAAERAAABAAAA0FIAAHBSAADBCgAAAAAAAOBSAACAUgAAwQoAAAEAAADwUgAAkFIAAMEJAAAAAAAAAFMAAKBSAADBCQAAAQAAABBTAACwUgAAoQgAAAAAAAAgUwAAwFIAAKEIAAABAAAAMFMAANBSAAAhBQAAAAAAAEBTAADgUgAAIQUAAAEAAABQUwAA8FIAAEEEAAAAAAAAYFMAAABTAABBBAAAAQAAAHBTAAAQUwAAoQIAAAAAAACAUwAAIFMAAKECAAABAAAAkFMAADBTAAAhAgAAAAAAAKBTAABAUwAAIQIAAAEAAACwUwAAUFMAAEEBAAAAAAAAwFMAAGBTAABBAQAAAQAAANBTAABwUwAAEQEAAAAAAADgUwAAgFMAABEBAAABAAAA8FMAAJBTAACFAAAAAAAAAABUAACgUwAAhQAAAAEAAAAQVAAAsFMAAEkAAAAAAAAAIFQAAMBTAABJAAAAAQAAADBUAADQUwAAJQAAAAAAAABAVAAA4FMAACUAAAABAAAAUFQAAPBTAAAVAAAAAAAAAGBUAAAAVAAAFQAAAAEAAABwVAAAEFQAAAkAAAAAAAAAgFQAACBUAAAJAAAAAQAAAJBUAAAwVAAABQAAAAAAAACgVAAAQFQAAAUAAAABAAAAsFQAAFBUAAABAAAAAAAAAKBUAABgVAAAAQAAAAEAAACwVAAAcFQAAAFWAAAAAAAAwFQAAMBUAAABVgAAAQAAANBUAADQVAAAAAEDAwECAwMFBgcHBgYHBwABAwMBAgMDBQYHBwYGBwcFBgcHBgYHBwgICAgICAgIBQYHBwYGBwcICAgICAgICAECAwMCAgMDBgYHBwYGBwcBAgMDAgIDAwYGBwcGBgcHBgYHBwYGBwcICAgICAgICAYGBwcGBgcHCAgICAgICAgDAwQEAwMEBAcHBwcHBwcHAwMEBAMDBAQHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgHBwcHBwcHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAECAwMCAgMDBgYHBwYGBwcBAgMDAgIDAwYGBwcGBgcHBgYHBwYGBwcICAgICAgICAYGBwcGBgcHCAgICAgICAgCAgMDAgIDAwYGBwcGBgcHAgIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgAAQUGAQIGBgMDBwcDAwcHAAEFBgECBgYDAwcHAwMHBwMDBwcDAwcHBAQHBwQEBwcDAwcHAwMHBwQEBwcEBAcHAQIGBgICBgYDAwcHAwMHBwECBgYCAgYGAwMHBwMDBwcDAwcHAwMHBwQEBwcEBAcHAwMHBwMDBwcEBAcHBAQHBwUGCAgGBggIBwcICAcHCAgFBggIBgYICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgGBggIBgYICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIAQIGBgICBgYDAwcHAwMHBwECBgYCAgYGAwMHBwMDBwcDAwcHAwMHBwQEBwcEBAcHAwMHBwMDBwcEBAcHBAQHBwICBgYCAgYGAwMHBwMDBwcCAgYGAgIGBgMDBwcDAwcHAwMHBwMDBwcEBAcHBAQHBwMDBwcDAwcHBAQHBwQEBwcGBggIBgYICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAYGCAgGBggIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAABAwMBAgMDBQYHBwYGBwcAAQMDAQIDAwUGBwcGBgcHBQYHBwYGBwcICAgICAgICAUGBwcGBgcHCAgICAgICAgBAgMDAgIDAwYGBwcGBgcHAQIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgBAgMDAgIDAwYGBwcGBgcHAQIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAgIDAwICAwMGBgcHBgYHBwICAwMCAgMDBgYHBwYGBwcGBgcHBgYHBwgICAgICAgIBgYHBwYGBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgDAwQEAwMEBAcHBwcHBwcHAwMEBAMDBAQHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgHBwcHBwcHBwgICAgICAgIAAMBBAMGBAcBBAIFBAcFBwADAQQDBgQHAQQCBQQHBQcBBAIFBAcFBwIFAgUFBwUHAQQCBQQHBQcCBQIFBQcFBwMGBAcGCAcIBAcFBwcIBwgDBgQHBggHCAQHBQcHCAcIBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgBBAIFBAcFBwIFAgUFBwUHAQQCBQQHBQcCBQIFBQcFBwIFAgUFBwUHAgUCBQUHBQcCBQIFBQcFBwIFAgUFBwUHBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAUHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAMGBAcGCAcIBAcFBwcIBwgDBgQHBggHCAQHBQcHCAcIBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgGCAcICAgICAcIBwgICAgIBggHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAUHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAcIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgJCQoKCQkKCgwMDQsMDA0LCQkKCgkJCgoMDAsNDAwLDQwMDQ0MDAsLDAkNCgkMCgsMDAsLDAwNDQwJCwoJDAoNCQkKCgkJCgoMDA0LDAwNCwkJCgoJCQoKDAwLDQwMCw0MDA0NDAwLCwwJDQoJDAoLDAwLCwwMDQ0MCQsKCQwKDQoKCgoKCgoKDQsNCw0LDQsKCgkJCgoJCQ0LDAwNCwwMDQ0NDQsLCwsNCg0KCgsKCw0NDAwLCwwMDQoMCQoLCQwKCgkJCgoJCQsNDAwLDQwMCgoKCgoKCgoLDQsNCw0LDQsLDAwNDQwMCwoMCQoNCQwLCwsLDQ0NDQsKCwoKDQoNAEHpuwELNwEAAQABAAEAAAEBAAABAQABAAEAAQABAAAAAAEBAQEAAAAAAAEAAQAAAAABAQEBAAAAAQABAQEAQam8AQs3AQABAAEAAQAAAQEAAAEBAAEAAQABAAEAAAAAAQEBAQAAAAAAAQABAAAAAAEBAQEAAAABAAEBAQBB6bwBCwcBAAEAAQABAEH5vAELlQIBAAEAAQABAAAAAAEBAQEAAAAAAAEAAQAAAAABAQEBAAAAAAABAAEBAQAAAQEAAAABAAEAAQABAQEBAQEBAQEAAQABAAEAAQAAAAABAQEBAAEAAAEBAAEAAAAAAQEBAQABAAEBAQEBAgAAAAQAAAAEAAAACAAAAJD/AAAMAAAAGAAAAFL/AAAUAAAAGQAAAFP/AAAUAAAAGgAAAF7/AAAUAAAAGwAAAFz/AAAUAAAAHAAAAF3/AAAUAAAAHQAAAF//AAAUAAAAHgAAAFH/AAACAAAAHwAAAFX/AAAEAAAAIAAAAFf/AAAEAAAAIQAAAFj/AAAQAAAAIgAAAGD/AAAEAAAAIwAAAGH/AAAQAAAAJAAAAJH/AEGYvwELZWP/AAAEAAAAJQAAAGT/AAAUAAAAJgAAAHT/AAAUAAAAJwAAAHj/AAAEAAAAKAAAAFD/AAAEAAAAKQAAAFn/AAAEAAAAKgAAAHX/AAAUAAAAKwAAAHf/AAAUAAAALAAAAAAAAAAUAEGQwAELNS0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAAICBQajYAAABweXRmNwAAAGgycGo4AEHQwAELMnJkaGk5AAAAcmxvYzoAAABjY3BiOwAAAHJsY3A8AAAAcGFtYz0AAABmZWRjPgAAAHhiAEGQwQELQRkACwAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQAKChkZGQMKBwABAAkLGAAACQYLAAALAAYZAAAAGRkZAEHhwQELIQ4AAAAAAAAAABkACw0ZGRkADQAAAgAJDgAAAAkADgAADgBBm8IBCwEMAEGnwgELFRMAAAAAEwAAAAAJDAAAAAAADAAADABB1cIBCwEQAEHhwgELFQ8AAAAEDwAAAAAJEAAAAAAAEAAAEABBj8MBCwESAEGbwwELHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBB0sMBCw4aAAAAGhoaAAAAAAAACQBBg8QBCwEUAEGPxAELFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBvcQBCwEWAEHJxAELJxUAAAAAFQAAAAAJFgAAAAAAFgAAFgAAMDEyMzQ1Njc4OUFCQ0RFRgBB8cQBCwhsAQAAAAAABQBBhMUBCwFpAEGcxQELDmoAAABrAAAA+GcAAAAEAEG0xQELAQEAQcTFAQsF/////wo="); return receiveInstance(instantiateSync(u, e)[0]); }();
  4349. G.j, a._malloc = G.k, a._free = G.l, a._jp2_decode = G.n, G._emscripten_stack_restore, G._emscripten_stack_alloc, G.emscripten_stack_get_current;
  4350. w = function runCaller() { D || run(); D || (w = runCaller); };
  4351. function run() { if (!(m > 0)) {
  4352. !function preRun() { if (a.preRun) {
  4353. "function" == typeof a.preRun && (a.preRun = [a.preRun]);
  4354. for (; a.preRun.length;)
  4355. e = a.preRun.shift(), d.unshift(e);
  4356. } var e; callRuntimeCallbacks(d); }();
  4357. if (!(m > 0))
  4358. if (a.setStatus) {
  4359. a.setStatus("Running...");
  4360. setTimeout((function () { setTimeout((function () { a.setStatus(""); }), 1); doRun(); }), 1);
  4361. }
  4362. else
  4363. doRun();
  4364. } function doRun() { if (!D) {
  4365. D = !0;
  4366. a.calledRun = !0;
  4367. !function initRuntime() { callRuntimeCallbacks(f); }();
  4368. t(a);
  4369. a.onRuntimeInitialized && a.onRuntimeInitialized();
  4370. !function postRun() { if (a.postRun) {
  4371. "function" == typeof a.postRun && (a.postRun = [a.postRun]);
  4372. for (; a.postRun.length;)
  4373. e = a.postRun.shift(), p.unshift(e);
  4374. } var e; callRuntimeCallbacks(p); }();
  4375. } } }
  4376. if (a.preInit) {
  4377. "function" == typeof a.preInit && (a.preInit = [a.preInit]);
  4378. for (; a.preInit.length > 0;)
  4379. a.preInit.pop()();
  4380. }
  4381. run();
  4382. return a;
  4383. });
  4384. var Ii = gi;
  4385. var JpxError = /** @class */ (function (_super) {
  4386. tslib_1.__extends(JpxError, _super);
  4387. function JpxError(e) {
  4388. return _super.call(this, e, "JpxError") || this;
  4389. }
  4390. return JpxError;
  4391. }(rt));
  4392. var JpxImage = /** @class */ (function () {
  4393. function JpxImage() {
  4394. }
  4395. JpxImage.decode = function (e, t) {
  4396. if (t === void 0) { t = !1; }
  4397. tslib_1.__classPrivateFieldSet(this, _g, tslib_1.__classPrivateFieldGet(this, _g, "f", _JpxImage_y) || Ii({ warn: warn }), "f", _JpxImage_y);
  4398. var i = tslib_1.__classPrivateFieldGet(this, _g, "f", _JpxImage_y).decode(e, t);
  4399. if ("string" == typeof i)
  4400. throw new JpxError(i);
  4401. return i;
  4402. };
  4403. JpxImage.cleanup = function () { tslib_1.__classPrivateFieldSet(this, _g, null, "f", _JpxImage_y); };
  4404. JpxImage.parseImageProperties = function (e) { var t = e.getByte(); for (; t >= 0;) {
  4405. var i_66 = t;
  4406. t = e.getByte();
  4407. if (65361 === (i_66 << 8 | t)) {
  4408. e.skip(4);
  4409. var t_77 = e.getInt32() >>> 0, i_67 = e.getInt32() >>> 0, a_63 = e.getInt32() >>> 0, s_45 = e.getInt32() >>> 0;
  4410. e.skip(16);
  4411. return { width: t_77 - a_63, height: i_67 - s_45, bitsPerComponent: 8, componentsCount: e.getUint16() };
  4412. }
  4413. } throw new JpxError("No size marker found in JPX stream"); };
  4414. var _g, _JpxImage_y;
  4415. _g = JpxImage;
  4416. _JpxImage_y = { value: null };
  4417. return JpxImage;
  4418. }());
  4419. var JpxStream = /** @class */ (function (_super) {
  4420. tslib_1.__extends(JpxStream, _super);
  4421. function JpxStream(e, t, i) {
  4422. var _this = _super.call(this, t) || this;
  4423. _this.stream = e;
  4424. _this.dict = e.dict;
  4425. _this.maybeLength = t;
  4426. _this.params = i;
  4427. return _this;
  4428. }
  4429. Object.defineProperty(JpxStream.prototype, "bytes", {
  4430. get: function () { return shadow(this, "bytes", this.stream.getBytes(this.maybeLength)); },
  4431. enumerable: false,
  4432. configurable: true
  4433. });
  4434. JpxStream.prototype.ensureBuffer = function (e) { };
  4435. JpxStream.prototype.readBlock = function (e) { if (!this.eof) {
  4436. this.buffer = JpxImage.decode(this.bytes, e);
  4437. this.bufferLength = this.buffer.length;
  4438. this.eof = !0;
  4439. } };
  4440. return JpxStream;
  4441. }(DecodeStream));
  4442. var LZWStream = /** @class */ (function (_super) {
  4443. tslib_1.__extends(LZWStream, _super);
  4444. function LZWStream(e, t, i) {
  4445. var _this = _super.call(this, t) || this;
  4446. _this.str = e;
  4447. _this.dict = e.dict;
  4448. _this.cachedData = 0;
  4449. _this.bitsCached = 0;
  4450. var a = 4096, s = { earlyChange: i, codeLength: 9, nextCode: 258, dictionaryValues: new Uint8Array(a), dictionaryLengths: new Uint16Array(a), dictionaryPrevCodes: new Uint16Array(a), currentSequence: new Uint8Array(a), currentSequenceLength: 0 };
  4451. for (var e_89 = 0; e_89 < 256; ++e_89) {
  4452. s.dictionaryValues[e_89] = e_89;
  4453. s.dictionaryLengths[e_89] = 1;
  4454. }
  4455. _this.lzwState = s;
  4456. return _this;
  4457. }
  4458. LZWStream.prototype.readBits = function (e) { var t = this.bitsCached, i = this.cachedData; for (; t < e;) {
  4459. var e_90 = this.str.getByte();
  4460. if (-1 === e_90) {
  4461. this.eof = !0;
  4462. return null;
  4463. }
  4464. i = i << 8 | e_90;
  4465. t += 8;
  4466. } this.bitsCached = t -= e; this.cachedData = i; this.lastCode = null; return i >>> t & (1 << e) - 1; };
  4467. LZWStream.prototype.readBlock = function () { var e, t, i, a = 1024; var s = this.lzwState; if (!s)
  4468. return; var r = s.earlyChange; var n = s.nextCode; var o = s.dictionaryValues, g = s.dictionaryLengths, c = s.dictionaryPrevCodes; var h = s.codeLength, l = s.prevCode; var C = s.currentSequence; var Q = s.currentSequenceLength, E = 0, u = this.bufferLength, d = this.ensureBuffer(this.bufferLength + a); for (e = 0; e < 512; e++) {
  4469. var e_91 = this.readBits(h), s_46 = Q > 0;
  4470. if (e_91 < 256) {
  4471. C[0] = e_91;
  4472. Q = 1;
  4473. }
  4474. else {
  4475. if (!(e_91 >= 258)) {
  4476. if (256 === e_91) {
  4477. h = 9;
  4478. n = 258;
  4479. Q = 0;
  4480. continue;
  4481. }
  4482. this.eof = !0;
  4483. delete this.lzwState;
  4484. break;
  4485. }
  4486. if (e_91 < n) {
  4487. Q = g[e_91];
  4488. for (t = Q - 1, i = e_91; t >= 0; t--) {
  4489. C[t] = o[i];
  4490. i = c[i];
  4491. }
  4492. }
  4493. else
  4494. C[Q++] = C[0];
  4495. }
  4496. if (s_46) {
  4497. c[n] = l;
  4498. g[n] = g[l] + 1;
  4499. o[n] = C[0];
  4500. n++;
  4501. h = n + r & n + r - 1 ? h : 0 | Math.min(Math.log(n + r) / .6931471805599453 + 1, 12);
  4502. }
  4503. l = e_91;
  4504. E += Q;
  4505. if (a < E) {
  4506. do {
  4507. a += 512;
  4508. } while (a < E);
  4509. d = this.ensureBuffer(this.bufferLength + a);
  4510. }
  4511. for (t = 0; t < Q; t++)
  4512. d[u++] = C[t];
  4513. } s.nextCode = n; s.codeLength = h; s.prevCode = l; s.currentSequenceLength = Q; this.bufferLength = u; };
  4514. return LZWStream;
  4515. }(DecodeStream));
  4516. var PredictorStream = /** @class */ (function (_super) {
  4517. tslib_1.__extends(PredictorStream, _super);
  4518. function PredictorStream(e, t, i) {
  4519. var _this = _super.call(this, t) || this;
  4520. if (!(i instanceof Dict))
  4521. return e;
  4522. var a = _this.predictor = i.get("Predictor") || 1;
  4523. if (a <= 1)
  4524. return e;
  4525. if (2 !== a && (a < 10 || a > 15))
  4526. throw new FormatError("Unsupported predictor: ".concat(a));
  4527. _this.readBlock = 2 === a ? _this.readBlockTiff : _this.readBlockPng;
  4528. _this.str = e;
  4529. _this.dict = e.dict;
  4530. var s = _this.colors = i.get("Colors") || 1, r = _this.bits = i.get("BPC", "BitsPerComponent") || 8, n = _this.columns = i.get("Columns") || 1;
  4531. _this.pixBytes = s * r + 7 >> 3;
  4532. _this.rowBytes = n * s * r + 7 >> 3;
  4533. return _this;
  4534. }
  4535. PredictorStream.prototype.readBlockTiff = function () { var e = this.rowBytes, t = this.bufferLength, i = this.ensureBuffer(t + e), a = this.bits, s = this.colors, r = this.str.getBytes(e); this.eof = !r.length; if (this.eof)
  4536. return; var n, o = 0, g = 0, c = 0, h = 0, l = t; if (1 === a && 1 === s)
  4537. for (n = 0; n < e; ++n) {
  4538. var e_92 = r[n] ^ o;
  4539. e_92 ^= e_92 >> 1;
  4540. e_92 ^= e_92 >> 2;
  4541. e_92 ^= e_92 >> 4;
  4542. o = (1 & e_92) << 7;
  4543. i[l++] = e_92;
  4544. }
  4545. else if (8 === a) {
  4546. for (n = 0; n < s; ++n)
  4547. i[l++] = r[n];
  4548. for (; n < e; ++n) {
  4549. i[l] = i[l - s] + r[n];
  4550. l++;
  4551. }
  4552. }
  4553. else if (16 === a) {
  4554. var t_78 = 2 * s;
  4555. for (n = 0; n < t_78; ++n)
  4556. i[l++] = r[n];
  4557. for (; n < e; n += 2) {
  4558. var e_93 = ((255 & r[n]) << 8) + (255 & r[n + 1]) + ((255 & i[l - t_78]) << 8) + (255 & i[l - t_78 + 1]);
  4559. i[l++] = e_93 >> 8 & 255;
  4560. i[l++] = 255 & e_93;
  4561. }
  4562. }
  4563. else {
  4564. var e_94 = new Uint8Array(s + 1), l_4 = (1 << a) - 1;
  4565. var C_5 = 0, Q_6 = t;
  4566. var E_6 = this.columns;
  4567. for (n = 0; n < E_6; ++n)
  4568. for (var t_79 = 0; t_79 < s; ++t_79) {
  4569. if (c < a) {
  4570. o = o << 8 | 255 & r[C_5++];
  4571. c += 8;
  4572. }
  4573. e_94[t_79] = e_94[t_79] + (o >> c - a) & l_4;
  4574. c -= a;
  4575. g = g << a | e_94[t_79];
  4576. h += a;
  4577. if (h >= 8) {
  4578. i[Q_6++] = g >> h - 8 & 255;
  4579. h -= 8;
  4580. }
  4581. }
  4582. h > 0 && (i[Q_6++] = (g << 8 - h) + (o & (1 << 8 - h) - 1));
  4583. } this.bufferLength += e; };
  4584. PredictorStream.prototype.readBlockPng = function () { var e = this.rowBytes, t = this.pixBytes, i = this.str.getByte(), a = this.str.getBytes(e); this.eof = !a.length; if (this.eof)
  4585. return; var s = this.bufferLength, r = this.ensureBuffer(s + e); var n = r.subarray(s - e, s); 0 === n.length && (n = new Uint8Array(e)); var o, g, c, h = s; switch (i) {
  4586. case 0:
  4587. for (o = 0; o < e; ++o)
  4588. r[h++] = a[o];
  4589. break;
  4590. case 1:
  4591. for (o = 0; o < t; ++o)
  4592. r[h++] = a[o];
  4593. for (; o < e; ++o) {
  4594. r[h] = r[h - t] + a[o] & 255;
  4595. h++;
  4596. }
  4597. break;
  4598. case 2:
  4599. for (o = 0; o < e; ++o)
  4600. r[h++] = n[o] + a[o] & 255;
  4601. break;
  4602. case 3:
  4603. for (o = 0; o < t; ++o)
  4604. r[h++] = (n[o] >> 1) + a[o];
  4605. for (; o < e; ++o) {
  4606. r[h] = (n[o] + r[h - t] >> 1) + a[o] & 255;
  4607. h++;
  4608. }
  4609. break;
  4610. case 4:
  4611. for (o = 0; o < t; ++o) {
  4612. g = n[o];
  4613. c = a[o];
  4614. r[h++] = g + c;
  4615. }
  4616. for (; o < e; ++o) {
  4617. g = n[o];
  4618. var e_95 = n[o - t], i_68 = r[h - t], s_47 = i_68 + g - e_95;
  4619. var l_5 = s_47 - i_68;
  4620. l_5 < 0 && (l_5 = -l_5);
  4621. var C_6 = s_47 - g;
  4622. C_6 < 0 && (C_6 = -C_6);
  4623. var Q_7 = s_47 - e_95;
  4624. Q_7 < 0 && (Q_7 = -Q_7);
  4625. c = a[o];
  4626. r[h++] = l_5 <= C_6 && l_5 <= Q_7 ? i_68 + c : C_6 <= Q_7 ? g + c : e_95 + c;
  4627. }
  4628. break;
  4629. default: throw new FormatError("Unsupported predictor: ".concat(i));
  4630. } this.bufferLength += e; };
  4631. return PredictorStream;
  4632. }(DecodeStream));
  4633. var RunLengthStream = /** @class */ (function (_super) {
  4634. tslib_1.__extends(RunLengthStream, _super);
  4635. function RunLengthStream(e, t) {
  4636. var _this = _super.call(this, t) || this;
  4637. _this.str = e;
  4638. _this.dict = e.dict;
  4639. return _this;
  4640. }
  4641. RunLengthStream.prototype.readBlock = function () { var e = this.str.getBytes(2); if (!e || e.length < 2 || 128 === e[0]) {
  4642. this.eof = !0;
  4643. return;
  4644. } var t, i = this.bufferLength, a = e[0]; if (a < 128) {
  4645. t = this.ensureBuffer(i + a + 1);
  4646. t[i++] = e[1];
  4647. if (a > 0) {
  4648. var e_96 = this.str.getBytes(a);
  4649. t.set(e_96, i);
  4650. i += a;
  4651. }
  4652. }
  4653. else {
  4654. a = 257 - a;
  4655. var s_48 = e[1];
  4656. t = this.ensureBuffer(i + a + 1);
  4657. for (var e_97 = 0; e_97 < a; e_97++)
  4658. t[i++] = s_48;
  4659. } this.bufferLength = i; };
  4660. return RunLengthStream;
  4661. }(DecodeStream));
  4662. var Parser = /** @class */ (function () {
  4663. function Parser(_b) {
  4664. var e = _b.lexer, t = _b.xref, _h = _b.allowStreams, i = _h === void 0 ? !1 : _h, _j = _b.recoveryMode, a = _j === void 0 ? !1 : _j;
  4665. _Parser_instances.add(this);
  4666. this.lexer = e;
  4667. this.xref = t;
  4668. this.allowStreams = i;
  4669. this.recoveryMode = a;
  4670. this.imageCache = Object.create(null);
  4671. this._imageId = 0;
  4672. this.refill();
  4673. }
  4674. Parser.prototype.refill = function () { this.buf1 = this.lexer.getObj(); this.buf2 = this.lexer.getObj(); };
  4675. Parser.prototype.shift = function () { if (this.buf2 instanceof Cmd && "ID" === this.buf2.cmd) {
  4676. this.buf1 = this.buf2;
  4677. this.buf2 = null;
  4678. }
  4679. else {
  4680. this.buf1 = this.buf2;
  4681. this.buf2 = this.lexer.getObj();
  4682. } };
  4683. Parser.prototype.tryShift = function () { try {
  4684. this.shift();
  4685. return !0;
  4686. }
  4687. catch (e) {
  4688. if (e instanceof MissingDataException)
  4689. throw e;
  4690. return !1;
  4691. } };
  4692. Parser.prototype.getObj = function (e) {
  4693. if (e === void 0) { e = null; }
  4694. var t = this.buf1;
  4695. this.shift();
  4696. if (t instanceof Cmd)
  4697. switch (t.cmd) {
  4698. case "BI": return this.makeInlineImage(e);
  4699. case "[":
  4700. var i_69 = [];
  4701. for (; !isCmd(this.buf1, "]") && this.buf1 !== pt;)
  4702. i_69.push(this.getObj(e));
  4703. if (this.buf1 === pt) {
  4704. if (this.recoveryMode)
  4705. return i_69;
  4706. throw new ParserEOFException("End of file inside array.");
  4707. }
  4708. this.shift();
  4709. return i_69;
  4710. case "<<":
  4711. var a_64 = new Dict(this.xref);
  4712. for (; !isCmd(this.buf1, ">>") && this.buf1 !== pt;) {
  4713. if (!(this.buf1 instanceof Name)) {
  4714. info("Malformed dictionary: key must be a name object");
  4715. this.shift();
  4716. continue;
  4717. }
  4718. var t_80 = this.buf1.name;
  4719. this.shift();
  4720. if (this.buf1 === pt)
  4721. break;
  4722. a_64.set(t_80, this.getObj(e));
  4723. }
  4724. if (this.buf1 === pt) {
  4725. if (this.recoveryMode)
  4726. return a_64;
  4727. throw new ParserEOFException("End of file inside dictionary.");
  4728. }
  4729. if (isCmd(this.buf2, "stream"))
  4730. return this.allowStreams ? this.makeStream(a_64, e) : a_64;
  4731. this.shift();
  4732. return a_64;
  4733. default: return t;
  4734. }
  4735. if (Number.isInteger(t)) {
  4736. if (Number.isInteger(this.buf1) && isCmd(this.buf2, "R")) {
  4737. var e_98 = Ref.get(t, this.buf1);
  4738. this.shift();
  4739. this.shift();
  4740. return e_98;
  4741. }
  4742. return t;
  4743. }
  4744. return "string" == typeof t && e ? e.decryptString(t) : t;
  4745. };
  4746. Parser.prototype.findDefaultInlineStreamEnd = function (e) { var t = this.lexer.knownCommands, i = e.pos; var a, s, r = 0; for (; -1 !== (a = e.getByte());)
  4747. if (0 === r)
  4748. r = 69 === a ? 1 : 0;
  4749. else if (1 === r)
  4750. r = 73 === a ? 2 : 0;
  4751. else if (32 === a || 10 === a || 13 === a) {
  4752. s = e.pos;
  4753. var i_70 = e.peekBytes(15), n_22 = i_70.length;
  4754. if (0 === n_22)
  4755. break;
  4756. for (var e_99 = 0; e_99 < n_22; e_99++) {
  4757. a = i_70[e_99];
  4758. if ((0 !== a || 0 === i_70[e_99 + 1]) && (10 !== a && 13 !== a && (a < 32 || a > 127))) {
  4759. r = 0;
  4760. break;
  4761. }
  4762. }
  4763. if (2 !== r)
  4764. continue;
  4765. if (!t) {
  4766. warn("findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.");
  4767. continue;
  4768. }
  4769. var o_11 = new Lexer(new Stream(i_70.slice()), t);
  4770. o_11._hexStringWarn = function () { };
  4771. var g_7 = 0;
  4772. for (;;) {
  4773. var e_100 = o_11.getObj();
  4774. if (e_100 === pt) {
  4775. r = 0;
  4776. break;
  4777. }
  4778. if (e_100 instanceof Cmd) {
  4779. var i_71 = t[e_100.cmd];
  4780. if (!i_71) {
  4781. r = 0;
  4782. break;
  4783. }
  4784. if (i_71.variableArgs ? g_7 <= i_71.numArgs : g_7 === i_71.numArgs)
  4785. break;
  4786. g_7 = 0;
  4787. }
  4788. else
  4789. g_7++;
  4790. }
  4791. if (2 === r)
  4792. break;
  4793. }
  4794. else
  4795. r = 0; if (-1 === a) {
  4796. warn("findDefaultInlineStreamEnd: Reached the end of the stream without finding a valid EI marker");
  4797. if (s) {
  4798. warn('... trying to recover by using the last "EI" occurrence.');
  4799. e.skip(-(e.pos - s));
  4800. }
  4801. } var n = 4; e.skip(-n); a = e.peekByte(); e.skip(n); isWhiteSpace(a) || n--; return e.pos - n - i; };
  4802. Parser.prototype.findDCTDecodeInlineStreamEnd = function (e) { var t = e.pos; var i, a, s = !1; for (; -1 !== (i = e.getByte());)
  4803. if (255 === i) {
  4804. switch (e.getByte()) {
  4805. case 0: break;
  4806. case 255:
  4807. e.skip(-1);
  4808. break;
  4809. case 217:
  4810. s = !0;
  4811. break;
  4812. case 192:
  4813. case 193:
  4814. case 194:
  4815. case 195:
  4816. case 197:
  4817. case 198:
  4818. case 199:
  4819. case 201:
  4820. case 202:
  4821. case 203:
  4822. case 205:
  4823. case 206:
  4824. case 207:
  4825. case 196:
  4826. case 204:
  4827. case 218:
  4828. case 219:
  4829. case 220:
  4830. case 221:
  4831. case 222:
  4832. case 223:
  4833. case 224:
  4834. case 225:
  4835. case 226:
  4836. case 227:
  4837. case 228:
  4838. case 229:
  4839. case 230:
  4840. case 231:
  4841. case 232:
  4842. case 233:
  4843. case 234:
  4844. case 235:
  4845. case 236:
  4846. case 237:
  4847. case 238:
  4848. case 239:
  4849. case 254:
  4850. a = e.getUint16();
  4851. a > 2 ? e.skip(a - 2) : e.skip(-2);
  4852. }
  4853. if (s)
  4854. break;
  4855. } var r = e.pos - t; if (-1 === i) {
  4856. warn("Inline DCTDecode image stream: EOI marker not found, searching for /EI/ instead.");
  4857. e.skip(-r);
  4858. return this.findDefaultInlineStreamEnd(e);
  4859. } this.inlineStreamSkipEI(e); return r; };
  4860. Parser.prototype.findASCII85DecodeInlineStreamEnd = function (e) { var t = e.pos; var i; for (; -1 !== (i = e.getByte());)
  4861. if (126 === i) {
  4862. var t_81 = e.pos;
  4863. i = e.peekByte();
  4864. for (; isWhiteSpace(i);) {
  4865. e.skip();
  4866. i = e.peekByte();
  4867. }
  4868. if (62 === i) {
  4869. e.skip();
  4870. break;
  4871. }
  4872. if (e.pos > t_81) {
  4873. var t_82 = e.peekBytes(2);
  4874. if (69 === t_82[0] && 73 === t_82[1])
  4875. break;
  4876. }
  4877. } var a = e.pos - t; if (-1 === i) {
  4878. warn("Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead.");
  4879. e.skip(-a);
  4880. return this.findDefaultInlineStreamEnd(e);
  4881. } this.inlineStreamSkipEI(e); return a; };
  4882. Parser.prototype.findASCIIHexDecodeInlineStreamEnd = function (e) { var t = e.pos; var i; for (; -1 !== (i = e.getByte()) && 62 !== i;)
  4883. ; var a = e.pos - t; if (-1 === i) {
  4884. warn("Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead.");
  4885. e.skip(-a);
  4886. return this.findDefaultInlineStreamEnd(e);
  4887. } this.inlineStreamSkipEI(e); return a; };
  4888. Parser.prototype.inlineStreamSkipEI = function (e) { var t, i = 0; for (; -1 !== (t = e.getByte());)
  4889. if (0 === i)
  4890. i = 69 === t ? 1 : 0;
  4891. else if (1 === i)
  4892. i = 73 === t ? 2 : 0;
  4893. else if (2 === i)
  4894. break; };
  4895. Parser.prototype.makeInlineImage = function (e) { var t = this.lexer, i = t.stream, a = Object.create(null); var s; for (; !isCmd(this.buf1, "ID") && this.buf1 !== pt;) {
  4896. if (!(this.buf1 instanceof Name))
  4897. throw new FormatError("Dictionary key must be a name object");
  4898. var t_83 = this.buf1.name;
  4899. this.shift();
  4900. if (this.buf1 === pt)
  4901. break;
  4902. a[t_83] = this.getObj(e);
  4903. } -1 !== t.beginInlineImagePos && (s = i.pos - t.beginInlineImagePos); var r = this.xref.fetchIfRef(a.F || a.Filter); var n; if (r instanceof Name)
  4904. n = r.name;
  4905. else if (Array.isArray(r)) {
  4906. var e_101 = this.xref.fetchIfRef(r[0]);
  4907. e_101 instanceof Name && (n = e_101.name);
  4908. } var o = i.pos; var g, c; switch (n) {
  4909. case "DCT":
  4910. case "DCTDecode":
  4911. g = this.findDCTDecodeInlineStreamEnd(i);
  4912. break;
  4913. case "A85":
  4914. case "ASCII85Decode":
  4915. g = this.findASCII85DecodeInlineStreamEnd(i);
  4916. break;
  4917. case "AHx":
  4918. case "ASCIIHexDecode":
  4919. g = this.findASCIIHexDecodeInlineStreamEnd(i);
  4920. break;
  4921. default: g = this.findDefaultInlineStreamEnd(i);
  4922. } if (g < 1e3 && s > 0) {
  4923. var e_102 = i.pos;
  4924. i.pos = t.beginInlineImagePos;
  4925. c = function getInlineImageCacheKey(e) { var t = [], i = e.length; var a = 0; for (; a < i - 1;)
  4926. t.push(e[a++] << 8 | e[a++]); a < i && t.push(e[a]); return i + "_" + String.fromCharCode.apply(null, t); }(i.getBytes(s + g));
  4927. i.pos = e_102;
  4928. var a_65 = this.imageCache[c];
  4929. if (void 0 !== a_65) {
  4930. this.buf2 = Cmd.get("EI");
  4931. this.shift();
  4932. a_65.reset();
  4933. return a_65;
  4934. }
  4935. } var h = new Dict(this.xref); for (var e_103 in a)
  4936. h.set(e_103, a[e_103]); var l = i.makeSubStream(o, g, h); e && (l = e.createStream(l, g)); l = this.filter(l, h, g); l.dict = h; if (void 0 !== c) {
  4937. l.cacheKey = "inline_img_" + ++this._imageId;
  4938. this.imageCache[c] = l;
  4939. } this.buf2 = Cmd.get("EI"); this.shift(); return l; };
  4940. Parser.prototype.makeStream = function (e, t) { var i = this.lexer; var a = i.stream; i.skipToNextLine(); var s = a.pos - 1; var r = e.get("Length"); if (!Number.isInteger(r)) {
  4941. info("Bad length \"".concat(r && r.toString(), "\" in stream."));
  4942. r = 0;
  4943. } a.pos = s + r; i.nextChar(); if (this.tryShift() && isCmd(this.buf2, "endstream"))
  4944. this.shift();
  4945. else {
  4946. r = tslib_1.__classPrivateFieldGet(this, _Parser_instances, "m", _Parser_w).call(this, s);
  4947. if (r < 0)
  4948. throw new FormatError("Missing endstream command.");
  4949. i.nextChar();
  4950. this.shift();
  4951. this.shift();
  4952. } this.shift(); a = a.makeSubStream(s, r, e); t && (a = t.createStream(a, r)); a = this.filter(a, e, r); a.dict = e; return a; };
  4953. Parser.prototype.filter = function (e, t, i) { var a = t.get("F", "Filter"), s = t.get("DP", "DecodeParms"); if (a instanceof Name) {
  4954. Array.isArray(s) && warn("/DecodeParms should not be an Array, when /Filter is a Name.");
  4955. return this.makeFilter(e, a.name, i, s);
  4956. } var r = i; if (Array.isArray(a)) {
  4957. var t_84 = a, i_72 = s;
  4958. for (var n_23 = 0, o_12 = t_84.length; n_23 < o_12; ++n_23) {
  4959. a = this.xref.fetchIfRef(t_84[n_23]);
  4960. if (!(a instanceof Name))
  4961. throw new FormatError("Bad filter name \"".concat(a, "\""));
  4962. s = null;
  4963. Array.isArray(i_72) && n_23 in i_72 && (s = this.xref.fetchIfRef(i_72[n_23]));
  4964. e = this.makeFilter(e, a.name, r, s);
  4965. r = null;
  4966. }
  4967. } return e; };
  4968. Parser.prototype.makeFilter = function (e, t, i, a) { if (0 === i) {
  4969. warn("Empty \"".concat(t, "\" stream."));
  4970. return new NullStream;
  4971. } try {
  4972. switch (t) {
  4973. case "Fl":
  4974. case "FlateDecode": return a ? new PredictorStream(new FlateStream(e, i), i, a) : new FlateStream(e, i);
  4975. case "LZW":
  4976. case "LZWDecode":
  4977. var t_85 = 1;
  4978. if (a) {
  4979. a.has("EarlyChange") && (t_85 = a.get("EarlyChange"));
  4980. return new PredictorStream(new LZWStream(e, i, t_85), i, a);
  4981. }
  4982. return new LZWStream(e, i, t_85);
  4983. case "DCT":
  4984. case "DCTDecode": return new JpegStream(e, i, a);
  4985. case "JPX":
  4986. case "JPXDecode": return new JpxStream(e, i, a);
  4987. case "A85":
  4988. case "ASCII85Decode": return new Ascii85Stream(e, i);
  4989. case "AHx":
  4990. case "ASCIIHexDecode": return new AsciiHexStream(e, i);
  4991. case "CCF":
  4992. case "CCITTFaxDecode": return new CCITTFaxStream(e, i, a);
  4993. case "RL":
  4994. case "RunLengthDecode": return new RunLengthStream(e, i);
  4995. case "JBIG2Decode": return new Jbig2Stream(e, i, a);
  4996. }
  4997. warn("Filter \"".concat(t, "\" is not supported."));
  4998. return e;
  4999. }
  5000. catch (e) {
  5001. if (e instanceof MissingDataException)
  5002. throw e;
  5003. warn("Invalid stream: \"".concat(e, "\""));
  5004. return new NullStream;
  5005. } };
  5006. return Parser;
  5007. }());
  5008. _Parser_instances = new WeakSet(), _Parser_w = function _Parser_w(e) { var t = this.lexer.stream; t.pos = e; var i = new Uint8Array([101, 110, 100]), a = i.length, s = [new Uint8Array([115, 116, 114, 101, 97, 109]), new Uint8Array([115, 116, 101, 97, 109]), new Uint8Array([115, 116, 114, 101, 97])], r = 9 - a; for (; t.pos < t.end;) {
  5009. var n_24 = t.peekBytes(2048), o_13 = n_24.length - 9;
  5010. if (o_13 <= 0)
  5011. break;
  5012. var g_8 = 0;
  5013. for (; g_8 < o_13;) {
  5014. var o_14 = 0;
  5015. for (; o_14 < a && n_24[g_8 + o_14] === i[o_14];)
  5016. o_14++;
  5017. if (o_14 >= a) {
  5018. var a_66 = !1;
  5019. for (var _b = 0, s_49 = s; _b < s_49.length; _b++) {
  5020. var e_104 = s_49[_b];
  5021. var t_86 = e_104.length;
  5022. var s_50 = 0;
  5023. for (; s_50 < t_86 && n_24[g_8 + o_14 + s_50] === e_104[s_50];)
  5024. s_50++;
  5025. if (s_50 >= r) {
  5026. a_66 = !0;
  5027. break;
  5028. }
  5029. if (s_50 >= t_86) {
  5030. if (isWhiteSpace(n_24[g_8 + o_14 + s_50])) {
  5031. info("Found \"".concat(bytesToString(tslib_1.__spreadArray(tslib_1.__spreadArray([], i, true), e_104, true)), "\" when searching for endstream command."));
  5032. a_66 = !0;
  5033. }
  5034. break;
  5035. }
  5036. }
  5037. if (a_66) {
  5038. t.pos += g_8;
  5039. return t.pos - e;
  5040. }
  5041. }
  5042. g_8++;
  5043. }
  5044. t.pos += o_13;
  5045. } return -1; };
  5046. var ci = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  5047. function toHexDigit(e) { return e >= 48 && e <= 57 ? 15 & e : e >= 65 && e <= 70 || e >= 97 && e <= 102 ? 9 + (15 & e) : -1; }
  5048. var Lexer = /** @class */ (function () {
  5049. function Lexer(e, t) {
  5050. if (t === void 0) { t = null; }
  5051. this.stream = e;
  5052. this.nextChar();
  5053. this.strBuf = [];
  5054. this.knownCommands = t;
  5055. this._hexStringNumWarn = 0;
  5056. this.beginInlineImagePos = -1;
  5057. }
  5058. Lexer.prototype.nextChar = function () { return this.currentChar = this.stream.getByte(); };
  5059. Lexer.prototype.peekChar = function () { return this.stream.peekByte(); };
  5060. Lexer.prototype.getNumber = function () { var e = this.currentChar, t = !1, i = 0, a = 1; if (45 === e) {
  5061. a = -1;
  5062. e = this.nextChar();
  5063. 45 === e && (e = this.nextChar());
  5064. }
  5065. else
  5066. 43 === e && (e = this.nextChar()); if (10 === e || 13 === e)
  5067. do {
  5068. e = this.nextChar();
  5069. } while (10 === e || 13 === e); if (46 === e) {
  5070. i = 10;
  5071. e = this.nextChar();
  5072. } if (e < 48 || e > 57) {
  5073. var t_87 = "Invalid number: ".concat(String.fromCharCode(e), " (charCode ").concat(e, ")");
  5074. if (isWhiteSpace(e) || -1 === e) {
  5075. info("Lexer.getNumber - \"".concat(t_87, "\"."));
  5076. return 0;
  5077. }
  5078. throw new FormatError(t_87);
  5079. } var s = e - 48, r = 0, n = 1; for (; (e = this.nextChar()) >= 0;)
  5080. if (e >= 48 && e <= 57) {
  5081. var a_67 = e - 48;
  5082. if (t)
  5083. r = 10 * r + a_67;
  5084. else {
  5085. 0 !== i && (i *= 10);
  5086. s = 10 * s + a_67;
  5087. }
  5088. }
  5089. else if (46 === e) {
  5090. if (0 !== i)
  5091. break;
  5092. i = 1;
  5093. }
  5094. else if (45 === e)
  5095. warn("Badly formatted number: minus sign in the middle");
  5096. else {
  5097. if (69 !== e && 101 !== e)
  5098. break;
  5099. e = this.peekChar();
  5100. if (43 === e || 45 === e) {
  5101. n = 45 === e ? -1 : 1;
  5102. this.nextChar();
  5103. }
  5104. else if (e < 48 || e > 57)
  5105. break;
  5106. t = !0;
  5107. } 0 !== i && (s /= i); t && (s *= Math.pow(10, (n * r))); return a * s; };
  5108. Lexer.prototype.getString = function () { var e = 1, t = !1; var i = this.strBuf; i.length = 0; var a = this.nextChar(); for (;;) {
  5109. var s_51 = !1;
  5110. switch (0 | a) {
  5111. case -1:
  5112. warn("Unterminated string");
  5113. t = !0;
  5114. break;
  5115. case 40:
  5116. ++e;
  5117. i.push("(");
  5118. break;
  5119. case 41:
  5120. if (0 == --e) {
  5121. this.nextChar();
  5122. t = !0;
  5123. }
  5124. else
  5125. i.push(")");
  5126. break;
  5127. case 92:
  5128. a = this.nextChar();
  5129. switch (a) {
  5130. case -1:
  5131. warn("Unterminated string");
  5132. t = !0;
  5133. break;
  5134. case 110:
  5135. i.push("\n");
  5136. break;
  5137. case 114:
  5138. i.push("\r");
  5139. break;
  5140. case 116:
  5141. i.push("\t");
  5142. break;
  5143. case 98:
  5144. i.push("\b");
  5145. break;
  5146. case 102:
  5147. i.push("\f");
  5148. break;
  5149. case 92:
  5150. case 40:
  5151. case 41:
  5152. i.push(String.fromCharCode(a));
  5153. break;
  5154. case 48:
  5155. case 49:
  5156. case 50:
  5157. case 51:
  5158. case 52:
  5159. case 53:
  5160. case 54:
  5161. case 55:
  5162. var e_105 = 15 & a;
  5163. a = this.nextChar();
  5164. s_51 = !0;
  5165. if (a >= 48 && a <= 55) {
  5166. e_105 = (e_105 << 3) + (15 & a);
  5167. a = this.nextChar();
  5168. if (a >= 48 && a <= 55) {
  5169. s_51 = !1;
  5170. e_105 = (e_105 << 3) + (15 & a);
  5171. }
  5172. }
  5173. i.push(String.fromCharCode(e_105));
  5174. break;
  5175. case 13:
  5176. 10 === this.peekChar() && this.nextChar();
  5177. break;
  5178. case 10: break;
  5179. default: i.push(String.fromCharCode(a));
  5180. }
  5181. break;
  5182. default: i.push(String.fromCharCode(a));
  5183. }
  5184. if (t)
  5185. break;
  5186. s_51 || (a = this.nextChar());
  5187. } return i.join(""); };
  5188. Lexer.prototype.getName = function () { var e, t; var i = this.strBuf; i.length = 0; for (; (e = this.nextChar()) >= 0 && !ci[e];)
  5189. if (35 === e) {
  5190. e = this.nextChar();
  5191. if (ci[e]) {
  5192. warn("Lexer_getName: NUMBER SIGN (#) should be followed by a hexadecimal number.");
  5193. i.push("#");
  5194. break;
  5195. }
  5196. var a_68 = toHexDigit(e);
  5197. if (-1 !== a_68) {
  5198. t = e;
  5199. e = this.nextChar();
  5200. var s_52 = toHexDigit(e);
  5201. if (-1 === s_52) {
  5202. warn("Lexer_getName: Illegal digit (".concat(String.fromCharCode(e), ") in hexadecimal number."));
  5203. i.push("#", String.fromCharCode(t));
  5204. if (ci[e])
  5205. break;
  5206. i.push(String.fromCharCode(e));
  5207. continue;
  5208. }
  5209. i.push(String.fromCharCode(a_68 << 4 | s_52));
  5210. }
  5211. else
  5212. i.push("#", String.fromCharCode(e));
  5213. }
  5214. else
  5215. i.push(String.fromCharCode(e)); i.length > 127 && warn("Name token is longer than allowed by the spec: ".concat(i.length)); return Name.get(i.join("")); };
  5216. Lexer.prototype._hexStringWarn = function (e) { 5 != this._hexStringNumWarn++ ? this._hexStringNumWarn > 5 || warn("getHexString - ignoring invalid character: ".concat(e)) : warn("getHexString - ignoring additional invalid characters."); };
  5217. Lexer.prototype.getHexString = function () { var e = this.strBuf; e.length = 0; var t, i, a = this.currentChar, s = !0; this._hexStringNumWarn = 0; for (;;) {
  5218. if (a < 0) {
  5219. warn("Unterminated hex string");
  5220. break;
  5221. }
  5222. if (62 === a) {
  5223. this.nextChar();
  5224. break;
  5225. }
  5226. if (1 !== ci[a]) {
  5227. if (s) {
  5228. t = toHexDigit(a);
  5229. if (-1 === t) {
  5230. this._hexStringWarn(a);
  5231. a = this.nextChar();
  5232. continue;
  5233. }
  5234. }
  5235. else {
  5236. i = toHexDigit(a);
  5237. if (-1 === i) {
  5238. this._hexStringWarn(a);
  5239. a = this.nextChar();
  5240. continue;
  5241. }
  5242. e.push(String.fromCharCode(t << 4 | i));
  5243. }
  5244. s = !s;
  5245. a = this.nextChar();
  5246. }
  5247. else
  5248. a = this.nextChar();
  5249. } return e.join(""); };
  5250. Lexer.prototype.getObj = function () { var e = !1, t = this.currentChar; for (;;) {
  5251. if (t < 0)
  5252. return pt;
  5253. if (e)
  5254. 10 !== t && 13 !== t || (e = !1);
  5255. else if (37 === t)
  5256. e = !0;
  5257. else if (1 !== ci[t])
  5258. break;
  5259. t = this.nextChar();
  5260. } switch (0 | t) {
  5261. case 48:
  5262. case 49:
  5263. case 50:
  5264. case 51:
  5265. case 52:
  5266. case 53:
  5267. case 54:
  5268. case 55:
  5269. case 56:
  5270. case 57:
  5271. case 43:
  5272. case 45:
  5273. case 46: return this.getNumber();
  5274. case 40: return this.getString();
  5275. case 47: return this.getName();
  5276. case 91:
  5277. this.nextChar();
  5278. return Cmd.get("[");
  5279. case 93:
  5280. this.nextChar();
  5281. return Cmd.get("]");
  5282. case 60:
  5283. t = this.nextChar();
  5284. if (60 === t) {
  5285. this.nextChar();
  5286. return Cmd.get("<<");
  5287. }
  5288. return this.getHexString();
  5289. case 62:
  5290. t = this.nextChar();
  5291. if (62 === t) {
  5292. this.nextChar();
  5293. return Cmd.get(">>");
  5294. }
  5295. return Cmd.get(">");
  5296. case 123:
  5297. this.nextChar();
  5298. return Cmd.get("{");
  5299. case 125:
  5300. this.nextChar();
  5301. return Cmd.get("}");
  5302. case 41:
  5303. this.nextChar();
  5304. throw new FormatError("Illegal character: ".concat(t));
  5305. } var i = String.fromCharCode(t); if (t < 32 || t > 127) {
  5306. var e_106 = this.peekChar();
  5307. if (e_106 >= 32 && e_106 <= 127) {
  5308. this.nextChar();
  5309. return Cmd.get(i);
  5310. }
  5311. } var a = this.knownCommands; var s = void 0 !== (a === null || a === void 0 ? void 0 : a[i]); for (; (t = this.nextChar()) >= 0 && !ci[t];) {
  5312. var e_107 = i + String.fromCharCode(t);
  5313. if (s && void 0 === a[e_107])
  5314. break;
  5315. if (128 === i.length)
  5316. throw new FormatError("Command token too long: ".concat(i.length));
  5317. i = e_107;
  5318. s = void 0 !== (a === null || a === void 0 ? void 0 : a[i]);
  5319. } if ("true" === i)
  5320. return !0; if ("false" === i)
  5321. return !1; if ("null" === i)
  5322. return null; "BI" === i && (this.beginInlineImagePos = this.stream.pos); return Cmd.get(i); };
  5323. Lexer.prototype.skipToNextLine = function () { var e = this.currentChar; for (; e >= 0;) {
  5324. if (13 === e) {
  5325. e = this.nextChar();
  5326. 10 === e && this.nextChar();
  5327. break;
  5328. }
  5329. if (10 === e) {
  5330. this.nextChar();
  5331. break;
  5332. }
  5333. e = this.nextChar();
  5334. } };
  5335. return Lexer;
  5336. }());
  5337. var Linearization = /** @class */ (function () {
  5338. function Linearization() {
  5339. }
  5340. Linearization.create = function (e) { function getInt(e, t, i) {
  5341. if (i === void 0) { i = !1; }
  5342. var a = e.get(t);
  5343. if (Number.isInteger(a) && (i ? a >= 0 : a > 0))
  5344. return a;
  5345. throw new Error("The \"".concat(t, "\" parameter in the linearization dictionary is invalid."));
  5346. } var t = new Parser({ lexer: new Lexer(e), xref: null }), i = t.getObj(), a = t.getObj(), s = t.getObj(), r = t.getObj(); var n, o; if (!(Number.isInteger(i) && Number.isInteger(a) && isCmd(s, "obj") && r instanceof Dict && "number" == typeof (n = r.get("Linearized")) && n > 0))
  5347. return null; if ((o = getInt(r, "L")) !== e.length)
  5348. throw new Error('The "L" parameter in the linearization dictionary does not equal the stream length.'); return { length: o, hints: function getHints(e) { var t = e.get("H"); var i; if (Array.isArray(t) && (2 === (i = t.length) || 4 === i)) {
  5349. for (var e_108 = 0; e_108 < i; e_108++) {
  5350. var i_73 = t[e_108];
  5351. if (!(Number.isInteger(i_73) && i_73 > 0))
  5352. throw new Error("Hint (".concat(e_108, ") in the linearization dictionary is invalid."));
  5353. }
  5354. return t;
  5355. } throw new Error("Hint array in the linearization dictionary is invalid."); }(r), objectNumberFirst: getInt(r, "O"), endFirst: getInt(r, "E"), numPages: getInt(r, "N"), mainXRefEntriesOffset: getInt(r, "T"), pageFirst: r.has("P") ? getInt(r, "P", !0) : 0 }; };
  5356. return Linearization;
  5357. }());
  5358. var hi = ["Adobe-GB1-UCS2", "Adobe-CNS1-UCS2", "Adobe-Japan1-UCS2", "Adobe-Korea1-UCS2", "78-EUC-H", "78-EUC-V", "78-H", "78-RKSJ-H", "78-RKSJ-V", "78-V", "78ms-RKSJ-H", "78ms-RKSJ-V", "83pv-RKSJ-H", "90ms-RKSJ-H", "90ms-RKSJ-V", "90msp-RKSJ-H", "90msp-RKSJ-V", "90pv-RKSJ-H", "90pv-RKSJ-V", "Add-H", "Add-RKSJ-H", "Add-RKSJ-V", "Add-V", "Adobe-CNS1-0", "Adobe-CNS1-1", "Adobe-CNS1-2", "Adobe-CNS1-3", "Adobe-CNS1-4", "Adobe-CNS1-5", "Adobe-CNS1-6", "Adobe-GB1-0", "Adobe-GB1-1", "Adobe-GB1-2", "Adobe-GB1-3", "Adobe-GB1-4", "Adobe-GB1-5", "Adobe-Japan1-0", "Adobe-Japan1-1", "Adobe-Japan1-2", "Adobe-Japan1-3", "Adobe-Japan1-4", "Adobe-Japan1-5", "Adobe-Japan1-6", "Adobe-Korea1-0", "Adobe-Korea1-1", "Adobe-Korea1-2", "B5-H", "B5-V", "B5pc-H", "B5pc-V", "CNS-EUC-H", "CNS-EUC-V", "CNS1-H", "CNS1-V", "CNS2-H", "CNS2-V", "ETHK-B5-H", "ETHK-B5-V", "ETen-B5-H", "ETen-B5-V", "ETenms-B5-H", "ETenms-B5-V", "EUC-H", "EUC-V", "Ext-H", "Ext-RKSJ-H", "Ext-RKSJ-V", "Ext-V", "GB-EUC-H", "GB-EUC-V", "GB-H", "GB-V", "GBK-EUC-H", "GBK-EUC-V", "GBK2K-H", "GBK2K-V", "GBKp-EUC-H", "GBKp-EUC-V", "GBT-EUC-H", "GBT-EUC-V", "GBT-H", "GBT-V", "GBTpc-EUC-H", "GBTpc-EUC-V", "GBpc-EUC-H", "GBpc-EUC-V", "H", "HKdla-B5-H", "HKdla-B5-V", "HKdlb-B5-H", "HKdlb-B5-V", "HKgccs-B5-H", "HKgccs-B5-V", "HKm314-B5-H", "HKm314-B5-V", "HKm471-B5-H", "HKm471-B5-V", "HKscs-B5-H", "HKscs-B5-V", "Hankaku", "Hiragana", "KSC-EUC-H", "KSC-EUC-V", "KSC-H", "KSC-Johab-H", "KSC-Johab-V", "KSC-V", "KSCms-UHC-H", "KSCms-UHC-HW-H", "KSCms-UHC-HW-V", "KSCms-UHC-V", "KSCpc-EUC-H", "KSCpc-EUC-V", "Katakana", "NWP-H", "NWP-V", "RKSJ-H", "RKSJ-V", "Roman", "UniCNS-UCS2-H", "UniCNS-UCS2-V", "UniCNS-UTF16-H", "UniCNS-UTF16-V", "UniCNS-UTF32-H", "UniCNS-UTF32-V", "UniCNS-UTF8-H", "UniCNS-UTF8-V", "UniGB-UCS2-H", "UniGB-UCS2-V", "UniGB-UTF16-H", "UniGB-UTF16-V", "UniGB-UTF32-H", "UniGB-UTF32-V", "UniGB-UTF8-H", "UniGB-UTF8-V", "UniJIS-UCS2-H", "UniJIS-UCS2-HW-H", "UniJIS-UCS2-HW-V", "UniJIS-UCS2-V", "UniJIS-UTF16-H", "UniJIS-UTF16-V", "UniJIS-UTF32-H", "UniJIS-UTF32-V", "UniJIS-UTF8-H", "UniJIS-UTF8-V", "UniJIS2004-UTF16-H", "UniJIS2004-UTF16-V", "UniJIS2004-UTF32-H", "UniJIS2004-UTF32-V", "UniJIS2004-UTF8-H", "UniJIS2004-UTF8-V", "UniJISPro-UCS2-HW-V", "UniJISPro-UCS2-V", "UniJISPro-UTF8-V", "UniJISX0213-UTF32-H", "UniJISX0213-UTF32-V", "UniJISX02132004-UTF32-H", "UniJISX02132004-UTF32-V", "UniKS-UCS2-H", "UniKS-UCS2-V", "UniKS-UTF16-H", "UniKS-UTF16-V", "UniKS-UTF32-H", "UniKS-UTF32-V", "UniKS-UTF8-H", "UniKS-UTF8-V", "V", "WP-Symbol"], li = Math.pow(2, 24) - 1;
  5359. var CMap = /** @class */ (function () {
  5360. function CMap(e) {
  5361. if (e === void 0) { e = !1; }
  5362. this.codespaceRanges = [[], [], [], []];
  5363. this.numCodespaceRanges = 0;
  5364. this._map = [];
  5365. this.name = "";
  5366. this.vertical = !1;
  5367. this.useCMap = null;
  5368. this.builtInCMap = e;
  5369. }
  5370. CMap.prototype.addCodespaceRange = function (e, t, i) { this.codespaceRanges[e - 1].push(t, i); this.numCodespaceRanges++; };
  5371. CMap.prototype.mapCidRange = function (e, t, i) { if (t - e > li)
  5372. throw new Error("mapCidRange - ignoring data above MAX_MAP_RANGE."); for (; e <= t;)
  5373. this._map[e++] = i++; };
  5374. CMap.prototype.mapBfRange = function (e, t, i) { if (t - e > li)
  5375. throw new Error("mapBfRange - ignoring data above MAX_MAP_RANGE."); var a = i.length - 1; for (; e <= t;) {
  5376. this._map[e++] = i;
  5377. var t_88 = i.charCodeAt(a) + 1;
  5378. t_88 > 255 ? i = i.substring(0, a - 1) + String.fromCharCode(i.charCodeAt(a - 1) + 1) + "\0" : i = i.substring(0, a) + String.fromCharCode(t_88);
  5379. } };
  5380. CMap.prototype.mapBfRangeToArray = function (e, t, i) { if (t - e > li)
  5381. throw new Error("mapBfRangeToArray - ignoring data above MAX_MAP_RANGE."); var a = i.length; var s = 0; for (; e <= t && s < a;) {
  5382. this._map[e] = i[s++];
  5383. ++e;
  5384. } };
  5385. CMap.prototype.mapOne = function (e, t) { this._map[e] = t; };
  5386. CMap.prototype.lookup = function (e) { return this._map[e]; };
  5387. CMap.prototype.contains = function (e) { return void 0 !== this._map[e]; };
  5388. CMap.prototype.forEach = function (e) { var t = this._map, i = t.length; if (i <= 65536)
  5389. for (var a_69 = 0; a_69 < i; a_69++)
  5390. void 0 !== t[a_69] && e(a_69, t[a_69]);
  5391. else
  5392. for (var i_74 in t)
  5393. e(i_74, t[i_74]); };
  5394. CMap.prototype.charCodeOf = function (e) { var t = this._map; if (t.length <= 65536)
  5395. return t.indexOf(e); for (var i_75 in t)
  5396. if (t[i_75] === e)
  5397. return 0 | i_75; return -1; };
  5398. CMap.prototype.getMap = function () { return this._map; };
  5399. CMap.prototype.readCharCode = function (e, t, i) { var a = 0; var s = this.codespaceRanges; for (var r_40 = 0, n_25 = s.length; r_40 < n_25; r_40++) {
  5400. a = (a << 8 | e.charCodeAt(t + r_40)) >>> 0;
  5401. var n_26 = s[r_40];
  5402. for (var e_109 = 0, t_89 = n_26.length; e_109 < t_89;) {
  5403. var t_90 = n_26[e_109++], s_53 = n_26[e_109++];
  5404. if (a >= t_90 && a <= s_53) {
  5405. i.charcode = a;
  5406. i.length = r_40 + 1;
  5407. return;
  5408. }
  5409. }
  5410. } i.charcode = 0; i.length = 1; };
  5411. CMap.prototype.getCharCodeLength = function (e) { var t = this.codespaceRanges; for (var i_76 = 0, a_70 = t.length; i_76 < a_70; i_76++) {
  5412. var a_71 = t[i_76];
  5413. for (var t_91 = 0, s_54 = a_71.length; t_91 < s_54;) {
  5414. var s_55 = a_71[t_91++], r_41 = a_71[t_91++];
  5415. if (e >= s_55 && e <= r_41)
  5416. return i_76 + 1;
  5417. }
  5418. } return 1; };
  5419. Object.defineProperty(CMap.prototype, "length", {
  5420. get: function () { return this._map.length; },
  5421. enumerable: false,
  5422. configurable: true
  5423. });
  5424. Object.defineProperty(CMap.prototype, "isIdentityCMap", {
  5425. get: function () { if ("Identity-H" !== this.name && "Identity-V" !== this.name)
  5426. return !1; if (65536 !== this._map.length)
  5427. return !1; for (var e_110 = 0; e_110 < 65536; e_110++)
  5428. if (this._map[e_110] !== e_110)
  5429. return !1; return !0; },
  5430. enumerable: false,
  5431. configurable: true
  5432. });
  5433. return CMap;
  5434. }());
  5435. var IdentityCMap = /** @class */ (function (_super) {
  5436. tslib_1.__extends(IdentityCMap, _super);
  5437. function IdentityCMap(e, t) {
  5438. var _this = _super.call(this) || this;
  5439. _this.vertical = e;
  5440. _this.addCodespaceRange(t, 0, 65535);
  5441. return _this;
  5442. }
  5443. IdentityCMap.prototype.mapCidRange = function (e, t, i) { unreachable("should not call mapCidRange"); };
  5444. IdentityCMap.prototype.mapBfRange = function (e, t, i) { unreachable("should not call mapBfRange"); };
  5445. IdentityCMap.prototype.mapBfRangeToArray = function (e, t, i) { unreachable("should not call mapBfRangeToArray"); };
  5446. IdentityCMap.prototype.mapOne = function (e, t) { unreachable("should not call mapCidOne"); };
  5447. IdentityCMap.prototype.lookup = function (e) { return Number.isInteger(e) && e <= 65535 ? e : void 0; };
  5448. IdentityCMap.prototype.contains = function (e) { return Number.isInteger(e) && e <= 65535; };
  5449. IdentityCMap.prototype.forEach = function (e) { for (var t_92 = 0; t_92 <= 65535; t_92++)
  5450. e(t_92, t_92); };
  5451. IdentityCMap.prototype.charCodeOf = function (e) { return Number.isInteger(e) && e <= 65535 ? e : -1; };
  5452. IdentityCMap.prototype.getMap = function () { var e = new Array(65536); for (var t_93 = 0; t_93 <= 65535; t_93++)
  5453. e[t_93] = t_93; return e; };
  5454. Object.defineProperty(IdentityCMap.prototype, "length", {
  5455. get: function () { return 65536; },
  5456. enumerable: false,
  5457. configurable: true
  5458. });
  5459. Object.defineProperty(IdentityCMap.prototype, "isIdentityCMap", {
  5460. get: function () { unreachable("should not access .isIdentityCMap"); },
  5461. enumerable: false,
  5462. configurable: true
  5463. });
  5464. return IdentityCMap;
  5465. }(CMap));
  5466. function strToInt(e) { var t = 0; for (var i_77 = 0; i_77 < e.length; i_77++)
  5467. t = t << 8 | e.charCodeAt(i_77); return t >>> 0; }
  5468. function expectString(e) { if ("string" != typeof e)
  5469. throw new FormatError("Malformed CMap: expected string."); }
  5470. function expectInt(e) { if (!Number.isInteger(e))
  5471. throw new FormatError("Malformed CMap: expected int."); }
  5472. function parseBfChar(e, t) { for (;;) {
  5473. var i_78 = t.getObj();
  5474. if (i_78 === pt)
  5475. break;
  5476. if (isCmd(i_78, "endbfchar"))
  5477. return;
  5478. expectString(i_78);
  5479. var a_72 = strToInt(i_78);
  5480. i_78 = t.getObj();
  5481. expectString(i_78);
  5482. var s_56 = i_78;
  5483. e.mapOne(a_72, s_56);
  5484. } }
  5485. function parseBfRange(e, t) { for (;;) {
  5486. var i_79 = t.getObj();
  5487. if (i_79 === pt)
  5488. break;
  5489. if (isCmd(i_79, "endbfrange"))
  5490. return;
  5491. expectString(i_79);
  5492. var a_73 = strToInt(i_79);
  5493. i_79 = t.getObj();
  5494. expectString(i_79);
  5495. var s_57 = strToInt(i_79);
  5496. i_79 = t.getObj();
  5497. if (Number.isInteger(i_79) || "string" == typeof i_79) {
  5498. var t_94 = Number.isInteger(i_79) ? String.fromCharCode(i_79) : i_79;
  5499. e.mapBfRange(a_73, s_57, t_94);
  5500. }
  5501. else {
  5502. if (!isCmd(i_79, "["))
  5503. break;
  5504. {
  5505. i_79 = t.getObj();
  5506. var r_42 = [];
  5507. for (; !isCmd(i_79, "]") && i_79 !== pt;) {
  5508. r_42.push(i_79);
  5509. i_79 = t.getObj();
  5510. }
  5511. e.mapBfRangeToArray(a_73, s_57, r_42);
  5512. }
  5513. }
  5514. } throw new FormatError("Invalid bf range."); }
  5515. function parseCidChar(e, t) { for (;;) {
  5516. var i_80 = t.getObj();
  5517. if (i_80 === pt)
  5518. break;
  5519. if (isCmd(i_80, "endcidchar"))
  5520. return;
  5521. expectString(i_80);
  5522. var a_74 = strToInt(i_80);
  5523. i_80 = t.getObj();
  5524. expectInt(i_80);
  5525. var s_58 = i_80;
  5526. e.mapOne(a_74, s_58);
  5527. } }
  5528. function parseCidRange(e, t) { for (;;) {
  5529. var i_81 = t.getObj();
  5530. if (i_81 === pt)
  5531. break;
  5532. if (isCmd(i_81, "endcidrange"))
  5533. return;
  5534. expectString(i_81);
  5535. var a_75 = strToInt(i_81);
  5536. i_81 = t.getObj();
  5537. expectString(i_81);
  5538. var s_59 = strToInt(i_81);
  5539. i_81 = t.getObj();
  5540. expectInt(i_81);
  5541. var r_43 = i_81;
  5542. e.mapCidRange(a_75, s_59, r_43);
  5543. } }
  5544. function parseCodespaceRange(e, t) { for (;;) {
  5545. var i_82 = t.getObj();
  5546. if (i_82 === pt)
  5547. break;
  5548. if (isCmd(i_82, "endcodespacerange"))
  5549. return;
  5550. if ("string" != typeof i_82)
  5551. break;
  5552. var a_76 = strToInt(i_82);
  5553. i_82 = t.getObj();
  5554. if ("string" != typeof i_82)
  5555. break;
  5556. var s_60 = strToInt(i_82);
  5557. e.addCodespaceRange(i_82.length, a_76, s_60);
  5558. } throw new FormatError("Invalid codespace range."); }
  5559. function parseWMode(e, t) { var i = t.getObj(); Number.isInteger(i) && (e.vertical = !!i); }
  5560. function parseCMapName(e, t) { var i = t.getObj(); i instanceof Name && (e.name = i.name); }
  5561. function parseCMap(e, t, i, a) {
  5562. return tslib_1.__awaiter(this, void 0, void 0, function () { var s, r, i_83; return tslib_1.__generator(this, function (_b) {
  5563. A: for (;;)
  5564. try {
  5565. i_83 = t.getObj();
  5566. if (i_83 === pt)
  5567. break;
  5568. if (i_83 instanceof Name) {
  5569. "WMode" === i_83.name ? parseWMode(e, t) : "CMapName" === i_83.name && parseCMapName(e, t);
  5570. s = i_83;
  5571. }
  5572. else if (i_83 instanceof Cmd)
  5573. switch (i_83.cmd) {
  5574. case "endcmap": break A;
  5575. case "usecmap":
  5576. s instanceof Name && (r = s.name);
  5577. break;
  5578. case "begincodespacerange":
  5579. parseCodespaceRange(e, t);
  5580. break;
  5581. case "beginbfchar":
  5582. parseBfChar(e, t);
  5583. break;
  5584. case "begincidchar":
  5585. parseCidChar(e, t);
  5586. break;
  5587. case "beginbfrange":
  5588. parseBfRange(e, t);
  5589. break;
  5590. case "begincidrange": parseCidRange(e, t);
  5591. }
  5592. }
  5593. catch (e) {
  5594. if (e instanceof MissingDataException)
  5595. throw e;
  5596. warn("Invalid cMap data: " + e);
  5597. continue;
  5598. }
  5599. !a && r && (a = r);
  5600. return [2 /*return*/, a ? extendCMap(e, i, a) : e];
  5601. }); });
  5602. }
  5603. function extendCMap(e, t, i) {
  5604. return tslib_1.__awaiter(this, void 0, void 0, function () { var _b, t_95, i_84; return tslib_1.__generator(this, function (_h) {
  5605. switch (_h.label) {
  5606. case 0:
  5607. _b = e;
  5608. return [4 /*yield*/, createBuiltInCMap(i, t)];
  5609. case 1:
  5610. _b.useCMap = _h.sent();
  5611. if (0 === e.numCodespaceRanges) {
  5612. t_95 = e.useCMap.codespaceRanges;
  5613. for (i_84 = 0; i_84 < t_95.length; i_84++)
  5614. e.codespaceRanges[i_84] = t_95[i_84].slice();
  5615. e.numCodespaceRanges = e.useCMap.numCodespaceRanges;
  5616. }
  5617. e.useCMap.forEach((function (t, i) { e.contains(t) || e.mapOne(t, e.useCMap.lookup(t)); }));
  5618. return [2 /*return*/, e];
  5619. }
  5620. }); });
  5621. }
  5622. function createBuiltInCMap(e, t) {
  5623. return tslib_1.__awaiter(this, void 0, void 0, function () { var _b, i, a, s, e_111; return tslib_1.__generator(this, function (_h) {
  5624. switch (_h.label) {
  5625. case 0:
  5626. if ("Identity-H" === e)
  5627. return [2 /*return*/, new IdentityCMap(!1, 2)];
  5628. if ("Identity-V" === e)
  5629. return [2 /*return*/, new IdentityCMap(!0, 2)];
  5630. if (!hi.includes(e))
  5631. throw new Error("Unknown CMap name: " + e);
  5632. if (!t)
  5633. throw new Error("Built-in CMap parameters are not provided.");
  5634. return [4 /*yield*/, t(e)];
  5635. case 1:
  5636. _b = _h.sent(), i = _b.cMapData, a = _b.compressionType, s = new CMap(!0);
  5637. if (a === mA.BINARY)
  5638. return [2 /*return*/, (new BinaryCMapReader).process(i, s, (function (e) { return extendCMap(s, t, e); }))];
  5639. if (a === mA.NONE) {
  5640. e_111 = new Lexer(new Stream(i));
  5641. return [2 /*return*/, parseCMap(s, e_111, t, null)];
  5642. }
  5643. throw new Error("Invalid CMap \"compressionType\" value: ".concat(a));
  5644. }
  5645. }); });
  5646. }
  5647. var CMapFactory = /** @class */ (function () {
  5648. function CMapFactory() {
  5649. }
  5650. CMapFactory.create = function (_b) {
  5651. var e = _b.encoding, t = _b.fetchBuiltInCMap, i = _b.useCMap;
  5652. return tslib_1.__awaiter(this, void 0, void 0, function () { var a_77; return tslib_1.__generator(this, function (_h) {
  5653. switch (_h.label) {
  5654. case 0:
  5655. if (e instanceof Name)
  5656. return [2 /*return*/, createBuiltInCMap(e.name, t)];
  5657. if (!(e instanceof BaseStream)) return [3 /*break*/, 2];
  5658. return [4 /*yield*/, parseCMap(new CMap, new Lexer(e), t, i)];
  5659. case 1:
  5660. a_77 = _h.sent();
  5661. return [2 /*return*/, a_77.isIdentityCMap ? createBuiltInCMap(a_77.name, t) : a_77];
  5662. case 2: throw new Error("Encoding required.");
  5663. }
  5664. }); });
  5665. };
  5666. return CMapFactory;
  5667. }());
  5668. var Ci = [".notdef", "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", "ampersand", "quoteright", "parenleft", "parenright", "asterisk", "plus", "comma", "hyphen", "period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "colon", "semicolon", "less", "equal", "greater", "question", "at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft", "backslash", "bracketright", "asciicircum", "underscore", "quoteleft", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft", "bar", "braceright", "asciitilde", "exclamdown", "cent", "sterling", "fraction", "yen", "florin", "section", "currency", "quotesingle", "quotedblleft", "guillemotleft", "guilsinglleft", "guilsinglright", "fi", "fl", "endash", "dagger", "daggerdbl", "periodcentered", "paragraph", "bullet", "quotesinglbase", "quotedblbase", "quotedblright", "guillemotright", "ellipsis", "perthousand", "questiondown", "grave", "acute", "circumflex", "tilde", "macron", "breve", "dotaccent", "dieresis", "ring", "cedilla", "hungarumlaut", "ogonek", "caron", "emdash", "AE", "ordfeminine", "Lslash", "Oslash", "OE", "ordmasculine", "ae", "dotlessi", "lslash", "oslash", "oe", "germandbls", "onesuperior", "logicalnot", "mu", "trademark", "Eth", "onehalf", "plusminus", "Thorn", "onequarter", "divide", "brokenbar", "degree", "thorn", "threequarters", "twosuperior", "registered", "minus", "eth", "multiply", "threesuperior", "copyright", "Aacute", "Acircumflex", "Adieresis", "Agrave", "Aring", "Atilde", "Ccedilla", "Eacute", "Ecircumflex", "Edieresis", "Egrave", "Iacute", "Icircumflex", "Idieresis", "Igrave", "Ntilde", "Oacute", "Ocircumflex", "Odieresis", "Ograve", "Otilde", "Scaron", "Uacute", "Ucircumflex", "Udieresis", "Ugrave", "Yacute", "Ydieresis", "Zcaron", "aacute", "acircumflex", "adieresis", "agrave", "aring", "atilde", "ccedilla", "eacute", "ecircumflex", "edieresis", "egrave", "iacute", "icircumflex", "idieresis", "igrave", "ntilde", "oacute", "ocircumflex", "odieresis", "ograve", "otilde", "scaron", "uacute", "ucircumflex", "udieresis", "ugrave", "yacute", "ydieresis", "zcaron"], Bi = [".notdef", "space", "exclamsmall", "Hungarumlautsmall", "dollaroldstyle", "dollarsuperior", "ampersandsmall", "Acutesmall", "parenleftsuperior", "parenrightsuperior", "twodotenleader", "onedotenleader", "comma", "hyphen", "period", "fraction", "zerooldstyle", "oneoldstyle", "twooldstyle", "threeoldstyle", "fouroldstyle", "fiveoldstyle", "sixoldstyle", "sevenoldstyle", "eightoldstyle", "nineoldstyle", "colon", "semicolon", "commasuperior", "threequartersemdash", "periodsuperior", "questionsmall", "asuperior", "bsuperior", "centsuperior", "dsuperior", "esuperior", "isuperior", "lsuperior", "msuperior", "nsuperior", "osuperior", "rsuperior", "ssuperior", "tsuperior", "ff", "fi", "fl", "ffi", "ffl", "parenleftinferior", "parenrightinferior", "Circumflexsmall", "hyphensuperior", "Gravesmall", "Asmall", "Bsmall", "Csmall", "Dsmall", "Esmall", "Fsmall", "Gsmall", "Hsmall", "Ismall", "Jsmall", "Ksmall", "Lsmall", "Msmall", "Nsmall", "Osmall", "Psmall", "Qsmall", "Rsmall", "Ssmall", "Tsmall", "Usmall", "Vsmall", "Wsmall", "Xsmall", "Ysmall", "Zsmall", "colonmonetary", "onefitted", "rupiah", "Tildesmall", "exclamdownsmall", "centoldstyle", "Lslashsmall", "Scaronsmall", "Zcaronsmall", "Dieresissmall", "Brevesmall", "Caronsmall", "Dotaccentsmall", "Macronsmall", "figuredash", "hypheninferior", "Ogoneksmall", "Ringsmall", "Cedillasmall", "onequarter", "onehalf", "threequarters", "questiondownsmall", "oneeighth", "threeeighths", "fiveeighths", "seveneighths", "onethird", "twothirds", "zerosuperior", "onesuperior", "twosuperior", "threesuperior", "foursuperior", "fivesuperior", "sixsuperior", "sevensuperior", "eightsuperior", "ninesuperior", "zeroinferior", "oneinferior", "twoinferior", "threeinferior", "fourinferior", "fiveinferior", "sixinferior", "seveninferior", "eightinferior", "nineinferior", "centinferior", "dollarinferior", "periodinferior", "commainferior", "Agravesmall", "Aacutesmall", "Acircumflexsmall", "Atildesmall", "Adieresissmall", "Aringsmall", "AEsmall", "Ccedillasmall", "Egravesmall", "Eacutesmall", "Ecircumflexsmall", "Edieresissmall", "Igravesmall", "Iacutesmall", "Icircumflexsmall", "Idieresissmall", "Ethsmall", "Ntildesmall", "Ogravesmall", "Oacutesmall", "Ocircumflexsmall", "Otildesmall", "Odieresissmall", "OEsmall", "Oslashsmall", "Ugravesmall", "Uacutesmall", "Ucircumflexsmall", "Udieresissmall", "Yacutesmall", "Thornsmall", "Ydieresissmall"], Qi = [".notdef", "space", "dollaroldstyle", "dollarsuperior", "parenleftsuperior", "parenrightsuperior", "twodotenleader", "onedotenleader", "comma", "hyphen", "period", "fraction", "zerooldstyle", "oneoldstyle", "twooldstyle", "threeoldstyle", "fouroldstyle", "fiveoldstyle", "sixoldstyle", "sevenoldstyle", "eightoldstyle", "nineoldstyle", "colon", "semicolon", "commasuperior", "threequartersemdash", "periodsuperior", "asuperior", "bsuperior", "centsuperior", "dsuperior", "esuperior", "isuperior", "lsuperior", "msuperior", "nsuperior", "osuperior", "rsuperior", "ssuperior", "tsuperior", "ff", "fi", "fl", "ffi", "ffl", "parenleftinferior", "parenrightinferior", "hyphensuperior", "colonmonetary", "onefitted", "rupiah", "centoldstyle", "figuredash", "hypheninferior", "onequarter", "onehalf", "threequarters", "oneeighth", "threeeighths", "fiveeighths", "seveneighths", "onethird", "twothirds", "zerosuperior", "onesuperior", "twosuperior", "threesuperior", "foursuperior", "fivesuperior", "sixsuperior", "sevensuperior", "eightsuperior", "ninesuperior", "zeroinferior", "oneinferior", "twoinferior", "threeinferior", "fourinferior", "fiveinferior", "sixinferior", "seveninferior", "eightinferior", "nineinferior", "centinferior", "dollarinferior", "periodinferior", "commainferior"], Ei = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "space", "exclamsmall", "Hungarumlautsmall", "", "dollaroldstyle", "dollarsuperior", "ampersandsmall", "Acutesmall", "parenleftsuperior", "parenrightsuperior", "twodotenleader", "onedotenleader", "comma", "hyphen", "period", "fraction", "zerooldstyle", "oneoldstyle", "twooldstyle", "threeoldstyle", "fouroldstyle", "fiveoldstyle", "sixoldstyle", "sevenoldstyle", "eightoldstyle", "nineoldstyle", "colon", "semicolon", "commasuperior", "threequartersemdash", "periodsuperior", "questionsmall", "", "asuperior", "bsuperior", "centsuperior", "dsuperior", "esuperior", "", "", "", "isuperior", "", "", "lsuperior", "msuperior", "nsuperior", "osuperior", "", "", "rsuperior", "ssuperior", "tsuperior", "", "ff", "fi", "fl", "ffi", "ffl", "parenleftinferior", "", "parenrightinferior", "Circumflexsmall", "hyphensuperior", "Gravesmall", "Asmall", "Bsmall", "Csmall", "Dsmall", "Esmall", "Fsmall", "Gsmall", "Hsmall", "Ismall", "Jsmall", "Ksmall", "Lsmall", "Msmall", "Nsmall", "Osmall", "Psmall", "Qsmall", "Rsmall", "Ssmall", "Tsmall", "Usmall", "Vsmall", "Wsmall", "Xsmall", "Ysmall", "Zsmall", "colonmonetary", "onefitted", "rupiah", "Tildesmall", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "exclamdownsmall", "centoldstyle", "Lslashsmall", "", "", "Scaronsmall", "Zcaronsmall", "Dieresissmall", "Brevesmall", "Caronsmall", "", "Dotaccentsmall", "", "", "Macronsmall", "", "", "figuredash", "hypheninferior", "", "", "Ogoneksmall", "Ringsmall", "Cedillasmall", "", "", "", "onequarter", "onehalf", "threequarters", "questiondownsmall", "oneeighth", "threeeighths", "fiveeighths", "seveneighths", "onethird", "twothirds", "", "", "zerosuperior", "onesuperior", "twosuperior", "threesuperior", "foursuperior", "fivesuperior", "sixsuperior", "sevensuperior", "eightsuperior", "ninesuperior", "zeroinferior", "oneinferior", "twoinferior", "threeinferior", "fourinferior", "fiveinferior", "sixinferior", "seveninferior", "eightinferior", "nineinferior", "centinferior", "dollarinferior", "periodinferior", "commainferior", "Agravesmall", "Aacutesmall", "Acircumflexsmall", "Atildesmall", "Adieresissmall", "Aringsmall", "AEsmall", "Ccedillasmall", "Egravesmall", "Eacutesmall", "Ecircumflexsmall", "Edieresissmall", "Igravesmall", "Iacutesmall", "Icircumflexsmall", "Idieresissmall", "Ethsmall", "Ntildesmall", "Ogravesmall", "Oacutesmall", "Ocircumflexsmall", "Otildesmall", "Odieresissmall", "OEsmall", "Oslashsmall", "Ugravesmall", "Uacutesmall", "Ucircumflexsmall", "Udieresissmall", "Yacutesmall", "Thornsmall", "Ydieresissmall"], ui = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "space", "exclamsmall", "Hungarumlautsmall", "centoldstyle", "dollaroldstyle", "dollarsuperior", "ampersandsmall", "Acutesmall", "parenleftsuperior", "parenrightsuperior", "twodotenleader", "onedotenleader", "comma", "hyphen", "period", "fraction", "zerooldstyle", "oneoldstyle", "twooldstyle", "threeoldstyle", "fouroldstyle", "fiveoldstyle", "sixoldstyle", "sevenoldstyle", "eightoldstyle", "nineoldstyle", "colon", "semicolon", "", "threequartersemdash", "", "questionsmall", "", "", "", "", "Ethsmall", "", "", "onequarter", "onehalf", "threequarters", "oneeighth", "threeeighths", "fiveeighths", "seveneighths", "onethird", "twothirds", "", "", "", "", "", "", "ff", "fi", "fl", "ffi", "ffl", "parenleftinferior", "", "parenrightinferior", "Circumflexsmall", "hypheninferior", "Gravesmall", "Asmall", "Bsmall", "Csmall", "Dsmall", "Esmall", "Fsmall", "Gsmall", "Hsmall", "Ismall", "Jsmall", "Ksmall", "Lsmall", "Msmall", "Nsmall", "Osmall", "Psmall", "Qsmall", "Rsmall", "Ssmall", "Tsmall", "Usmall", "Vsmall", "Wsmall", "Xsmall", "Ysmall", "Zsmall", "colonmonetary", "onefitted", "rupiah", "Tildesmall", "", "", "asuperior", "centsuperior", "", "", "", "", "Aacutesmall", "Agravesmall", "Acircumflexsmall", "Adieresissmall", "Atildesmall", "Aringsmall", "Ccedillasmall", "Eacutesmall", "Egravesmall", "Ecircumflexsmall", "Edieresissmall", "Iacutesmall", "Igravesmall", "Icircumflexsmall", "Idieresissmall", "Ntildesmall", "Oacutesmall", "Ogravesmall", "Ocircumflexsmall", "Odieresissmall", "Otildesmall", "Uacutesmall", "Ugravesmall", "Ucircumflexsmall", "Udieresissmall", "", "eightsuperior", "fourinferior", "threeinferior", "sixinferior", "eightinferior", "seveninferior", "Scaronsmall", "", "centinferior", "twoinferior", "", "Dieresissmall", "", "Caronsmall", "osuperior", "fiveinferior", "", "commainferior", "periodinferior", "Yacutesmall", "", "dollarinferior", "", "", "Thornsmall", "", "nineinferior", "zeroinferior", "Zcaronsmall", "AEsmall", "Oslashsmall", "questiondownsmall", "oneinferior", "Lslashsmall", "", "", "", "", "", "", "Cedillasmall", "", "", "", "", "", "OEsmall", "figuredash", "hyphensuperior", "", "", "", "", "exclamdownsmall", "", "Ydieresissmall", "", "onesuperior", "twosuperior", "threesuperior", "foursuperior", "fivesuperior", "sixsuperior", "sevensuperior", "ninesuperior", "zerosuperior", "", "esuperior", "rsuperior", "tsuperior", "", "", "isuperior", "ssuperior", "dsuperior", "", "", "", "", "", "lsuperior", "Ogoneksmall", "Brevesmall", "Macronsmall", "bsuperior", "nsuperior", "msuperior", "commasuperior", "periodsuperior", "Dotaccentsmall", "Ringsmall", "", "", "", ""], di = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", "ampersand", "quotesingle", "parenleft", "parenright", "asterisk", "plus", "comma", "hyphen", "period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "colon", "semicolon", "less", "equal", "greater", "question", "at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft", "backslash", "bracketright", "asciicircum", "underscore", "grave", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft", "bar", "braceright", "asciitilde", "", "Adieresis", "Aring", "Ccedilla", "Eacute", "Ntilde", "Odieresis", "Udieresis", "aacute", "agrave", "acircumflex", "adieresis", "atilde", "aring", "ccedilla", "eacute", "egrave", "ecircumflex", "edieresis", "iacute", "igrave", "icircumflex", "idieresis", "ntilde", "oacute", "ograve", "ocircumflex", "odieresis", "otilde", "uacute", "ugrave", "ucircumflex", "udieresis", "dagger", "degree", "cent", "sterling", "section", "bullet", "paragraph", "germandbls", "registered", "copyright", "trademark", "acute", "dieresis", "notequal", "AE", "Oslash", "infinity", "plusminus", "lessequal", "greaterequal", "yen", "mu", "partialdiff", "summation", "product", "pi", "integral", "ordfeminine", "ordmasculine", "Omega", "ae", "oslash", "questiondown", "exclamdown", "logicalnot", "radical", "florin", "approxequal", "Delta", "guillemotleft", "guillemotright", "ellipsis", "space", "Agrave", "Atilde", "Otilde", "OE", "oe", "endash", "emdash", "quotedblleft", "quotedblright", "quoteleft", "quoteright", "divide", "lozenge", "ydieresis", "Ydieresis", "fraction", "currency", "guilsinglleft", "guilsinglright", "fi", "fl", "daggerdbl", "periodcentered", "quotesinglbase", "quotedblbase", "perthousand", "Acircumflex", "Ecircumflex", "Aacute", "Edieresis", "Egrave", "Iacute", "Icircumflex", "Idieresis", "Igrave", "Oacute", "Ocircumflex", "apple", "Ograve", "Uacute", "Ucircumflex", "Ugrave", "dotlessi", "circumflex", "tilde", "macron", "breve", "dotaccent", "ring", "cedilla", "hungarumlaut", "ogonek", "caron"], fi = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", "ampersand", "quoteright", "parenleft", "parenright", "asterisk", "plus", "comma", "hyphen", "period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "colon", "semicolon", "less", "equal", "greater", "question", "at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft", "backslash", "bracketright", "asciicircum", "underscore", "quoteleft", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft", "bar", "braceright", "asciitilde", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "exclamdown", "cent", "sterling", "fraction", "yen", "florin", "section", "currency", "quotesingle", "quotedblleft", "guillemotleft", "guilsinglleft", "guilsinglright", "fi", "fl", "", "endash", "dagger", "daggerdbl", "periodcentered", "", "paragraph", "bullet", "quotesinglbase", "quotedblbase", "quotedblright", "guillemotright", "ellipsis", "perthousand", "", "questiondown", "", "grave", "acute", "circumflex", "tilde", "macron", "breve", "dotaccent", "dieresis", "", "ring", "cedilla", "", "hungarumlaut", "ogonek", "caron", "emdash", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "AE", "", "ordfeminine", "", "", "", "", "Lslash", "Oslash", "OE", "ordmasculine", "", "", "", "", "", "ae", "", "", "", "dotlessi", "", "", "lslash", "oslash", "oe", "germandbls", "", "", "", ""], pi = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", "ampersand", "quotesingle", "parenleft", "parenright", "asterisk", "plus", "comma", "hyphen", "period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "colon", "semicolon", "less", "equal", "greater", "question", "at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft", "backslash", "bracketright", "asciicircum", "underscore", "grave", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft", "bar", "braceright", "asciitilde", "bullet", "Euro", "bullet", "quotesinglbase", "florin", "quotedblbase", "ellipsis", "dagger", "daggerdbl", "circumflex", "perthousand", "Scaron", "guilsinglleft", "OE", "bullet", "Zcaron", "bullet", "bullet", "quoteleft", "quoteright", "quotedblleft", "quotedblright", "bullet", "endash", "emdash", "tilde", "trademark", "scaron", "guilsinglright", "oe", "bullet", "zcaron", "Ydieresis", "space", "exclamdown", "cent", "sterling", "currency", "yen", "brokenbar", "section", "dieresis", "copyright", "ordfeminine", "guillemotleft", "logicalnot", "hyphen", "registered", "macron", "degree", "plusminus", "twosuperior", "threesuperior", "acute", "mu", "paragraph", "periodcentered", "cedilla", "onesuperior", "ordmasculine", "guillemotright", "onequarter", "onehalf", "threequarters", "questiondown", "Agrave", "Aacute", "Acircumflex", "Atilde", "Adieresis", "Aring", "AE", "Ccedilla", "Egrave", "Eacute", "Ecircumflex", "Edieresis", "Igrave", "Iacute", "Icircumflex", "Idieresis", "Eth", "Ntilde", "Ograve", "Oacute", "Ocircumflex", "Otilde", "Odieresis", "multiply", "Oslash", "Ugrave", "Uacute", "Ucircumflex", "Udieresis", "Yacute", "Thorn", "germandbls", "agrave", "aacute", "acircumflex", "atilde", "adieresis", "aring", "ae", "ccedilla", "egrave", "eacute", "ecircumflex", "edieresis", "igrave", "iacute", "icircumflex", "idieresis", "eth", "ntilde", "ograve", "oacute", "ocircumflex", "otilde", "odieresis", "divide", "oslash", "ugrave", "uacute", "ucircumflex", "udieresis", "yacute", "thorn", "ydieresis"], mi = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "space", "exclam", "universal", "numbersign", "existential", "percent", "ampersand", "suchthat", "parenleft", "parenright", "asteriskmath", "plus", "comma", "minus", "period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "colon", "semicolon", "less", "equal", "greater", "question", "congruent", "Alpha", "Beta", "Chi", "Delta", "Epsilon", "Phi", "Gamma", "Eta", "Iota", "theta1", "Kappa", "Lambda", "Mu", "Nu", "Omicron", "Pi", "Theta", "Rho", "Sigma", "Tau", "Upsilon", "sigma1", "Omega", "Xi", "Psi", "Zeta", "bracketleft", "therefore", "bracketright", "perpendicular", "underscore", "radicalex", "alpha", "beta", "chi", "delta", "epsilon", "phi", "gamma", "eta", "iota", "phi1", "kappa", "lambda", "mu", "nu", "omicron", "pi", "theta", "rho", "sigma", "tau", "upsilon", "omega1", "omega", "xi", "psi", "zeta", "braceleft", "bar", "braceright", "similar", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "Euro", "Upsilon1", "minute", "lessequal", "fraction", "infinity", "florin", "club", "diamond", "heart", "spade", "arrowboth", "arrowleft", "arrowup", "arrowright", "arrowdown", "degree", "plusminus", "second", "greaterequal", "multiply", "proportional", "partialdiff", "bullet", "divide", "notequal", "equivalence", "approxequal", "ellipsis", "arrowvertex", "arrowhorizex", "carriagereturn", "aleph", "Ifraktur", "Rfraktur", "weierstrass", "circlemultiply", "circleplus", "emptyset", "intersection", "union", "propersuperset", "reflexsuperset", "notsubset", "propersubset", "reflexsubset", "element", "notelement", "angle", "gradient", "registerserif", "copyrightserif", "trademarkserif", "product", "radical", "dotmath", "logicalnot", "logicaland", "logicalor", "arrowdblboth", "arrowdblleft", "arrowdblup", "arrowdblright", "arrowdbldown", "lozenge", "angleleft", "registersans", "copyrightsans", "trademarksans", "summation", "parenlefttp", "parenleftex", "parenleftbt", "bracketlefttp", "bracketleftex", "bracketleftbt", "bracelefttp", "braceleftmid", "braceleftbt", "braceex", "", "angleright", "integral", "integraltp", "integralex", "integralbt", "parenrighttp", "parenrightex", "parenrightbt", "bracketrighttp", "bracketrightex", "bracketrightbt", "bracerighttp", "bracerightmid", "bracerightbt", ""], yi = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "space", "a1", "a2", "a202", "a3", "a4", "a5", "a119", "a118", "a117", "a11", "a12", "a13", "a14", "a15", "a16", "a105", "a17", "a18", "a19", "a20", "a21", "a22", "a23", "a24", "a25", "a26", "a27", "a28", "a6", "a7", "a8", "a9", "a10", "a29", "a30", "a31", "a32", "a33", "a34", "a35", "a36", "a37", "a38", "a39", "a40", "a41", "a42", "a43", "a44", "a45", "a46", "a47", "a48", "a49", "a50", "a51", "a52", "a53", "a54", "a55", "a56", "a57", "a58", "a59", "a60", "a61", "a62", "a63", "a64", "a65", "a66", "a67", "a68", "a69", "a70", "a71", "a72", "a73", "a74", "a203", "a75", "a204", "a76", "a77", "a78", "a79", "a81", "a82", "a83", "a84", "a97", "a98", "a99", "a100", "", "a89", "a90", "a93", "a94", "a91", "a92", "a205", "a85", "a206", "a86", "a87", "a88", "a95", "a96", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "a101", "a102", "a103", "a104", "a106", "a107", "a108", "a112", "a111", "a110", "a109", "a120", "a121", "a122", "a123", "a124", "a125", "a126", "a127", "a128", "a129", "a130", "a131", "a132", "a133", "a134", "a135", "a136", "a137", "a138", "a139", "a140", "a141", "a142", "a143", "a144", "a145", "a146", "a147", "a148", "a149", "a150", "a151", "a152", "a153", "a154", "a155", "a156", "a157", "a158", "a159", "a160", "a161", "a163", "a164", "a196", "a165", "a192", "a166", "a167", "a168", "a169", "a170", "a171", "a172", "a173", "a162", "a174", "a175", "a176", "a177", "a178", "a179", "a193", "a180", "a199", "a181", "a200", "a182", "", "a201", "a183", "a184", "a197", "a185", "a194", "a198", "a186", "a195", "a187", "a188", "a189", "a190", "a191", ""];
  5669. function getEncoding(e) { switch (e) {
  5670. case "WinAnsiEncoding": return pi;
  5671. case "StandardEncoding": return fi;
  5672. case "MacRomanEncoding": return di;
  5673. case "SymbolSetEncoding": return mi;
  5674. case "ZapfDingbatsEncoding": return yi;
  5675. case "ExpertEncoding": return Ei;
  5676. case "MacExpertEncoding": return ui;
  5677. default: return null;
  5678. } }
  5679. var wi = [".notdef", "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", "ampersand", "quoteright", "parenleft", "parenright", "asterisk", "plus", "comma", "hyphen", "period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "colon", "semicolon", "less", "equal", "greater", "question", "at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft", "backslash", "bracketright", "asciicircum", "underscore", "quoteleft", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft", "bar", "braceright", "asciitilde", "exclamdown", "cent", "sterling", "fraction", "yen", "florin", "section", "currency", "quotesingle", "quotedblleft", "guillemotleft", "guilsinglleft", "guilsinglright", "fi", "fl", "endash", "dagger", "daggerdbl", "periodcentered", "paragraph", "bullet", "quotesinglbase", "quotedblbase", "quotedblright", "guillemotright", "ellipsis", "perthousand", "questiondown", "grave", "acute", "circumflex", "tilde", "macron", "breve", "dotaccent", "dieresis", "ring", "cedilla", "hungarumlaut", "ogonek", "caron", "emdash", "AE", "ordfeminine", "Lslash", "Oslash", "OE", "ordmasculine", "ae", "dotlessi", "lslash", "oslash", "oe", "germandbls", "onesuperior", "logicalnot", "mu", "trademark", "Eth", "onehalf", "plusminus", "Thorn", "onequarter", "divide", "brokenbar", "degree", "thorn", "threequarters", "twosuperior", "registered", "minus", "eth", "multiply", "threesuperior", "copyright", "Aacute", "Acircumflex", "Adieresis", "Agrave", "Aring", "Atilde", "Ccedilla", "Eacute", "Ecircumflex", "Edieresis", "Egrave", "Iacute", "Icircumflex", "Idieresis", "Igrave", "Ntilde", "Oacute", "Ocircumflex", "Odieresis", "Ograve", "Otilde", "Scaron", "Uacute", "Ucircumflex", "Udieresis", "Ugrave", "Yacute", "Ydieresis", "Zcaron", "aacute", "acircumflex", "adieresis", "agrave", "aring", "atilde", "ccedilla", "eacute", "ecircumflex", "edieresis", "egrave", "iacute", "icircumflex", "idieresis", "igrave", "ntilde", "oacute", "ocircumflex", "odieresis", "ograve", "otilde", "scaron", "uacute", "ucircumflex", "udieresis", "ugrave", "yacute", "ydieresis", "zcaron", "exclamsmall", "Hungarumlautsmall", "dollaroldstyle", "dollarsuperior", "ampersandsmall", "Acutesmall", "parenleftsuperior", "parenrightsuperior", "twodotenleader", "onedotenleader", "zerooldstyle", "oneoldstyle", "twooldstyle", "threeoldstyle", "fouroldstyle", "fiveoldstyle", "sixoldstyle", "sevenoldstyle", "eightoldstyle", "nineoldstyle", "commasuperior", "threequartersemdash", "periodsuperior", "questionsmall", "asuperior", "bsuperior", "centsuperior", "dsuperior", "esuperior", "isuperior", "lsuperior", "msuperior", "nsuperior", "osuperior", "rsuperior", "ssuperior", "tsuperior", "ff", "ffi", "ffl", "parenleftinferior", "parenrightinferior", "Circumflexsmall", "hyphensuperior", "Gravesmall", "Asmall", "Bsmall", "Csmall", "Dsmall", "Esmall", "Fsmall", "Gsmall", "Hsmall", "Ismall", "Jsmall", "Ksmall", "Lsmall", "Msmall", "Nsmall", "Osmall", "Psmall", "Qsmall", "Rsmall", "Ssmall", "Tsmall", "Usmall", "Vsmall", "Wsmall", "Xsmall", "Ysmall", "Zsmall", "colonmonetary", "onefitted", "rupiah", "Tildesmall", "exclamdownsmall", "centoldstyle", "Lslashsmall", "Scaronsmall", "Zcaronsmall", "Dieresissmall", "Brevesmall", "Caronsmall", "Dotaccentsmall", "Macronsmall", "figuredash", "hypheninferior", "Ogoneksmall", "Ringsmall", "Cedillasmall", "questiondownsmall", "oneeighth", "threeeighths", "fiveeighths", "seveneighths", "onethird", "twothirds", "zerosuperior", "foursuperior", "fivesuperior", "sixsuperior", "sevensuperior", "eightsuperior", "ninesuperior", "zeroinferior", "oneinferior", "twoinferior", "threeinferior", "fourinferior", "fiveinferior", "sixinferior", "seveninferior", "eightinferior", "nineinferior", "centinferior", "dollarinferior", "periodinferior", "commainferior", "Agravesmall", "Aacutesmall", "Acircumflexsmall", "Atildesmall", "Adieresissmall", "Aringsmall", "AEsmall", "Ccedillasmall", "Egravesmall", "Eacutesmall", "Ecircumflexsmall", "Edieresissmall", "Igravesmall", "Iacutesmall", "Icircumflexsmall", "Idieresissmall", "Ethsmall", "Ntildesmall", "Ogravesmall", "Oacutesmall", "Ocircumflexsmall", "Otildesmall", "Odieresissmall", "OEsmall", "Oslashsmall", "Ugravesmall", "Uacutesmall", "Ucircumflexsmall", "Udieresissmall", "Yacutesmall", "Thornsmall", "Ydieresissmall", "001.000", "001.001", "001.002", "001.003", "Black", "Bold", "Book", "Light", "Medium", "Regular", "Roman", "Semibold"], bi = 391, Di = [null, { id: "hstem", min: 2, stackClearing: !0, stem: !0 }, null, { id: "vstem", min: 2, stackClearing: !0, stem: !0 }, { id: "vmoveto", min: 1, stackClearing: !0 }, { id: "rlineto", min: 2, resetStack: !0 }, { id: "hlineto", min: 1, resetStack: !0 }, { id: "vlineto", min: 1, resetStack: !0 }, { id: "rrcurveto", min: 6, resetStack: !0 }, null, { id: "callsubr", min: 1, undefStack: !0 }, { id: "return", min: 0, undefStack: !0 }, null, null, { id: "endchar", min: 0, stackClearing: !0 }, null, null, null, { id: "hstemhm", min: 2, stackClearing: !0, stem: !0 }, { id: "hintmask", min: 0, stackClearing: !0 }, { id: "cntrmask", min: 0, stackClearing: !0 }, { id: "rmoveto", min: 2, stackClearing: !0 }, { id: "hmoveto", min: 1, stackClearing: !0 }, { id: "vstemhm", min: 2, stackClearing: !0, stem: !0 }, { id: "rcurveline", min: 8, resetStack: !0 }, { id: "rlinecurve", min: 8, resetStack: !0 }, { id: "vvcurveto", min: 4, resetStack: !0 }, { id: "hhcurveto", min: 4, resetStack: !0 }, null, { id: "callgsubr", min: 1, undefStack: !0 }, { id: "vhcurveto", min: 4, resetStack: !0 }, { id: "hvcurveto", min: 4, resetStack: !0 }], Fi = [null, null, null, { id: "and", min: 2, stackDelta: -1 }, { id: "or", min: 2, stackDelta: -1 }, { id: "not", min: 1, stackDelta: 0 }, null, null, null, { id: "abs", min: 1, stackDelta: 0 }, { id: "add", min: 2, stackDelta: -1, stackFn: function (e, t) { e[t - 2] = e[t - 2] + e[t - 1]; } }, { id: "sub", min: 2, stackDelta: -1, stackFn: function (e, t) { e[t - 2] = e[t - 2] - e[t - 1]; } }, { id: "div", min: 2, stackDelta: -1, stackFn: function (e, t) { e[t - 2] = e[t - 2] / e[t - 1]; } }, null, { id: "neg", min: 1, stackDelta: 0, stackFn: function (e, t) { e[t - 1] = -e[t - 1]; } }, { id: "eq", min: 2, stackDelta: -1 }, null, null, { id: "drop", min: 1, stackDelta: -1 }, null, { id: "put", min: 2, stackDelta: -2 }, { id: "get", min: 1, stackDelta: 0 }, { id: "ifelse", min: 4, stackDelta: -3 }, { id: "random", min: 0, stackDelta: 1 }, { id: "mul", min: 2, stackDelta: -1, stackFn: function (e, t) { e[t - 2] = e[t - 2] * e[t - 1]; } }, null, { id: "sqrt", min: 1, stackDelta: 0 }, { id: "dup", min: 1, stackDelta: 1 }, { id: "exch", min: 2, stackDelta: 0 }, { id: "index", min: 2, stackDelta: 0 }, { id: "roll", min: 3, stackDelta: -2 }, null, null, null, { id: "hflex", min: 7, resetStack: !0 }, { id: "flex", min: 13, resetStack: !0 }, { id: "hflex1", min: 9, resetStack: !0 }, { id: "flex1", min: 11, resetStack: !0 }];
  5680. var CFFParser = /** @class */ (function () {
  5681. function CFFParser(e, t, i) {
  5682. this.bytes = e.getBytes();
  5683. this.properties = t;
  5684. this.seacAnalysisEnabled = !!i;
  5685. }
  5686. CFFParser.prototype.parse = function () { var e = this.properties, t = new CFF; this.cff = t; var i = this.parseHeader(), a = this.parseIndex(i.endPos), s = this.parseIndex(a.endPos), r = this.parseIndex(s.endPos), n = this.parseIndex(r.endPos), o = this.parseDict(s.obj.get(0)), g = this.createDict(CFFTopDict, o, t.strings); t.header = i.obj; t.names = this.parseNameIndex(a.obj); t.strings = this.parseStringIndex(r.obj); t.topDict = g; t.globalSubrIndex = n.obj; this.parsePrivateDict(t.topDict); t.isCIDFont = g.hasName("ROS"); var c = g.getByName("CharStrings"), h = this.parseIndex(c).obj, l = g.getByName("FontMatrix"); l && (e.fontMatrix = l); var C = g.getByName("FontBBox"); if (C) {
  5687. e.ascent = Math.max(C[3], C[1]);
  5688. e.descent = Math.min(C[1], C[3]);
  5689. e.ascentScaled = !0;
  5690. } var Q, E; if (t.isCIDFont) {
  5691. var e_112 = this.parseIndex(g.getByName("FDArray")).obj;
  5692. for (var i_85 = 0, a_78 = e_112.count; i_85 < a_78; ++i_85) {
  5693. var a_79 = e_112.get(i_85), s_61 = this.createDict(CFFTopDict, this.parseDict(a_79), t.strings);
  5694. this.parsePrivateDict(s_61);
  5695. t.fdArray.push(s_61);
  5696. }
  5697. E = null;
  5698. Q = this.parseCharsets(g.getByName("charset"), h.count, t.strings, !0);
  5699. t.fdSelect = this.parseFDSelect(g.getByName("FDSelect"), h.count);
  5700. }
  5701. else {
  5702. Q = this.parseCharsets(g.getByName("charset"), h.count, t.strings, !1);
  5703. E = this.parseEncoding(g.getByName("Encoding"), e, t.strings, Q.charset);
  5704. } t.charset = Q; t.encoding = E; var u = this.parseCharStrings({ charStrings: h, localSubrIndex: g.privateDict.subrsIndex, globalSubrIndex: n.obj, fdSelect: t.fdSelect, fdArray: t.fdArray, privateDict: g.privateDict }); t.charStrings = u.charStrings; t.seacs = u.seacs; t.widths = u.widths; return t; };
  5705. CFFParser.prototype.parseHeader = function () { var e = this.bytes; var t = e.length; var i = 0; for (; i < t && 1 !== e[i];)
  5706. ++i; if (i >= t)
  5707. throw new FormatError("Invalid CFF header"); if (0 !== i) {
  5708. info("cff data is shifted");
  5709. e = e.subarray(i);
  5710. this.bytes = e;
  5711. } var a = e[0], s = e[1], r = e[2], n = e[3]; return { obj: new CFFHeader(a, s, r, n), endPos: r }; };
  5712. CFFParser.prototype.parseDict = function (e) { var t = 0; function parseOperand() { var i = e[t++]; if (30 === i)
  5713. return function parseFloatOperand() { var i = ""; var a = 15, s = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "E", "E-", null, "-"], r = e.length; for (; t < r;) {
  5714. var r_44 = e[t++], n_27 = r_44 >> 4, o_15 = 15 & r_44;
  5715. if (n_27 === a)
  5716. break;
  5717. i += s[n_27];
  5718. if (o_15 === a)
  5719. break;
  5720. i += s[o_15];
  5721. } return parseFloat(i); }(); if (28 === i) {
  5722. i = e[t++];
  5723. i = (i << 24 | e[t++] << 16) >> 16;
  5724. return i;
  5725. } if (29 === i) {
  5726. i = e[t++];
  5727. i = i << 8 | e[t++];
  5728. i = i << 8 | e[t++];
  5729. i = i << 8 | e[t++];
  5730. return i;
  5731. } if (i >= 32 && i <= 246)
  5732. return i - 139; if (i >= 247 && i <= 250)
  5733. return 256 * (i - 247) + e[t++] + 108; if (i >= 251 && i <= 254)
  5734. return -256 * (i - 251) - e[t++] - 108; warn('CFFParser_parseDict: "' + i + '" is a reserved command.'); return NaN; } var i = []; var a = []; t = 0; var s = e.length; for (; t < s;) {
  5735. var s_62 = e[t];
  5736. if (s_62 <= 21) {
  5737. 12 === s_62 && (s_62 = s_62 << 8 | e[++t]);
  5738. a.push([s_62, i]);
  5739. i = [];
  5740. ++t;
  5741. }
  5742. else
  5743. i.push(parseOperand());
  5744. } return a; };
  5745. CFFParser.prototype.parseIndex = function (e) { var t = new CFFIndex, i = this.bytes, a = i[e++] << 8 | i[e++], s = []; var r, n, o = e; if (0 !== a) {
  5746. var t_96 = i[e++], g_9 = e + (a + 1) * t_96 - 1;
  5747. for (r = 0, n = a + 1; r < n; ++r) {
  5748. var a_80 = 0;
  5749. for (var s_63 = 0; s_63 < t_96; ++s_63) {
  5750. a_80 <<= 8;
  5751. a_80 += i[e++];
  5752. }
  5753. s.push(g_9 + a_80);
  5754. }
  5755. o = s[a];
  5756. } for (r = 0, n = s.length - 1; r < n; ++r) {
  5757. var e_113 = s[r], a_81 = s[r + 1];
  5758. t.add(i.subarray(e_113, a_81));
  5759. } return { obj: t, endPos: o }; };
  5760. CFFParser.prototype.parseNameIndex = function (e) { var t = []; for (var i_86 = 0, a_82 = e.count; i_86 < a_82; ++i_86) {
  5761. var a_83 = e.get(i_86);
  5762. t.push(bytesToString(a_83));
  5763. } return t; };
  5764. CFFParser.prototype.parseStringIndex = function (e) { var t = new CFFStrings; for (var i_87 = 0, a_84 = e.count; i_87 < a_84; ++i_87) {
  5765. var a_85 = e.get(i_87);
  5766. t.add(bytesToString(a_85));
  5767. } return t; };
  5768. CFFParser.prototype.createDict = function (e, t, i) { var a = new e(i); for (var _b = 0, t_97 = t; _b < t_97.length; _b++) {
  5769. var _h = t_97[_b], e_114 = _h[0], i_88 = _h[1];
  5770. a.setByKey(e_114, i_88);
  5771. } return a; };
  5772. CFFParser.prototype.parseCharString = function (e, t, i, a) { if (!t || e.callDepth > 10)
  5773. return !1; var s = e.stackSize; var r = e.stack; var n = t.length; for (var o_16 = 0; o_16 < n;) {
  5774. var g_10 = t[o_16++];
  5775. var c_5 = null;
  5776. if (12 === g_10) {
  5777. var e_115 = t[o_16++];
  5778. if (0 === e_115) {
  5779. t[o_16 - 2] = 139;
  5780. t[o_16 - 1] = 22;
  5781. s = 0;
  5782. }
  5783. else
  5784. c_5 = Fi[e_115];
  5785. }
  5786. else if (28 === g_10) {
  5787. r[s] = (t[o_16] << 24 | t[o_16 + 1] << 16) >> 16;
  5788. o_16 += 2;
  5789. s++;
  5790. }
  5791. else if (14 === g_10) {
  5792. if (s >= 4) {
  5793. s -= 4;
  5794. if (this.seacAnalysisEnabled) {
  5795. e.seac = r.slice(s, s + 4);
  5796. return !1;
  5797. }
  5798. }
  5799. c_5 = Di[g_10];
  5800. }
  5801. else if (g_10 >= 32 && g_10 <= 246) {
  5802. r[s] = g_10 - 139;
  5803. s++;
  5804. }
  5805. else if (g_10 >= 247 && g_10 <= 254) {
  5806. r[s] = g_10 < 251 ? (g_10 - 247 << 8) + t[o_16] + 108 : -(g_10 - 251 << 8) - t[o_16] - 108;
  5807. o_16++;
  5808. s++;
  5809. }
  5810. else if (255 === g_10) {
  5811. r[s] = (t[o_16] << 24 | t[o_16 + 1] << 16 | t[o_16 + 2] << 8 | t[o_16 + 3]) / 65536;
  5812. o_16 += 4;
  5813. s++;
  5814. }
  5815. else if (19 === g_10 || 20 === g_10) {
  5816. e.hints += s >> 1;
  5817. if (0 === e.hints) {
  5818. t.copyWithin(o_16 - 1, o_16, -1);
  5819. o_16 -= 1;
  5820. n -= 1;
  5821. continue;
  5822. }
  5823. o_16 += e.hints + 7 >> 3;
  5824. s %= 2;
  5825. c_5 = Di[g_10];
  5826. }
  5827. else {
  5828. if (10 === g_10 || 29 === g_10) {
  5829. var t_98 = 10 === g_10 ? i : a;
  5830. if (!t_98) {
  5831. c_5 = Di[g_10];
  5832. warn("Missing subrsIndex for " + c_5.id);
  5833. return !1;
  5834. }
  5835. var n_28 = 32768;
  5836. t_98.count < 1240 ? n_28 = 107 : t_98.count < 33900 && (n_28 = 1131);
  5837. var o_17 = r[--s] + n_28;
  5838. if (o_17 < 0 || o_17 >= t_98.count || isNaN(o_17)) {
  5839. c_5 = Di[g_10];
  5840. warn("Out of bounds subrIndex for " + c_5.id);
  5841. return !1;
  5842. }
  5843. e.stackSize = s;
  5844. e.callDepth++;
  5845. if (!this.parseCharString(e, t_98.get(o_17), i, a))
  5846. return !1;
  5847. e.callDepth--;
  5848. s = e.stackSize;
  5849. continue;
  5850. }
  5851. if (11 === g_10) {
  5852. e.stackSize = s;
  5853. return !0;
  5854. }
  5855. if (0 === g_10 && o_16 === t.length) {
  5856. t[o_16 - 1] = 14;
  5857. c_5 = Di[14];
  5858. }
  5859. else {
  5860. if (9 === g_10) {
  5861. t.copyWithin(o_16 - 1, o_16, -1);
  5862. o_16 -= 1;
  5863. n -= 1;
  5864. continue;
  5865. }
  5866. c_5 = Di[g_10];
  5867. }
  5868. }
  5869. if (c_5) {
  5870. if (c_5.stem) {
  5871. e.hints += s >> 1;
  5872. if (3 === g_10 || 23 === g_10)
  5873. e.hasVStems = !0;
  5874. else if (e.hasVStems && (1 === g_10 || 18 === g_10)) {
  5875. warn("CFF stem hints are in wrong order");
  5876. t[o_16 - 1] = 1 === g_10 ? 3 : 23;
  5877. }
  5878. }
  5879. if ("min" in c_5 && !e.undefStack && s < c_5.min) {
  5880. warn("Not enough parameters for " + c_5.id + "; actual: " + s + ", expected: " + c_5.min);
  5881. if (0 === s) {
  5882. t[o_16 - 1] = 14;
  5883. return !0;
  5884. }
  5885. return !1;
  5886. }
  5887. if (e.firstStackClearing && c_5.stackClearing) {
  5888. e.firstStackClearing = !1;
  5889. s -= c_5.min;
  5890. s >= 2 && c_5.stem ? s %= 2 : s > 1 && warn("Found too many parameters for stack-clearing command");
  5891. s > 0 && (e.width = r[s - 1]);
  5892. }
  5893. if ("stackDelta" in c_5) {
  5894. "stackFn" in c_5 && c_5.stackFn(r, s);
  5895. s += c_5.stackDelta;
  5896. }
  5897. else if (c_5.stackClearing)
  5898. s = 0;
  5899. else if (c_5.resetStack) {
  5900. s = 0;
  5901. e.undefStack = !1;
  5902. }
  5903. else if (c_5.undefStack) {
  5904. s = 0;
  5905. e.undefStack = !0;
  5906. e.firstStackClearing = !1;
  5907. }
  5908. }
  5909. } n < t.length && t.fill(14, n); e.stackSize = s; return !0; };
  5910. CFFParser.prototype.parseCharStrings = function (_b) {
  5911. var e = _b.charStrings, t = _b.localSubrIndex, i = _b.globalSubrIndex, a = _b.fdSelect, s = _b.fdArray, r = _b.privateDict;
  5912. var n = [], o = [], g = e.count;
  5913. for (var c_6 = 0; c_6 < g; c_6++) {
  5914. var g_11 = e.get(c_6), h_4 = { callDepth: 0, stackSize: 0, stack: [], undefStack: !0, hints: 0, firstStackClearing: !0, seac: null, width: null, hasVStems: !1 };
  5915. var l_6 = !0, C_7 = null, Q_8 = r;
  5916. if (a && s.length) {
  5917. var e_116 = a.getFDIndex(c_6);
  5918. if (-1 === e_116) {
  5919. warn("Glyph index is not in fd select.");
  5920. l_6 = !1;
  5921. }
  5922. if (e_116 >= s.length) {
  5923. warn("Invalid fd index for glyph index.");
  5924. l_6 = !1;
  5925. }
  5926. if (l_6) {
  5927. Q_8 = s[e_116].privateDict;
  5928. C_7 = Q_8.subrsIndex;
  5929. }
  5930. }
  5931. else
  5932. t && (C_7 = t);
  5933. l_6 && (l_6 = this.parseCharString(h_4, g_11, C_7, i));
  5934. if (null !== h_4.width) {
  5935. var e_117 = Q_8.getByName("nominalWidthX");
  5936. o[c_6] = e_117 + h_4.width;
  5937. }
  5938. else {
  5939. var e_118 = Q_8.getByName("defaultWidthX");
  5940. o[c_6] = e_118;
  5941. }
  5942. null !== h_4.seac && (n[c_6] = h_4.seac);
  5943. l_6 || e.set(c_6, new Uint8Array([14]));
  5944. }
  5945. return { charStrings: e, seacs: n, widths: o };
  5946. };
  5947. CFFParser.prototype.emptyPrivateDictionary = function (e) { var t = this.createDict(CFFPrivateDict, [], e.strings); e.setByKey(18, [0, 0]); e.privateDict = t; };
  5948. CFFParser.prototype.parsePrivateDict = function (e) { if (!e.hasName("Private")) {
  5949. this.emptyPrivateDictionary(e);
  5950. return;
  5951. } var t = e.getByName("Private"); if (!Array.isArray(t) || 2 !== t.length) {
  5952. e.removeByName("Private");
  5953. return;
  5954. } var i = t[0], a = t[1]; if (0 === i || a >= this.bytes.length) {
  5955. this.emptyPrivateDictionary(e);
  5956. return;
  5957. } var s = a + i, r = this.bytes.subarray(a, s), n = this.parseDict(r), o = this.createDict(CFFPrivateDict, n, e.strings); e.privateDict = o; 0 === o.getByName("ExpansionFactor") && o.setByName("ExpansionFactor", .06); if (!o.getByName("Subrs"))
  5958. return; var g = o.getByName("Subrs"), c = a + g; if (0 === g || c >= this.bytes.length) {
  5959. this.emptyPrivateDictionary(e);
  5960. return;
  5961. } var h = this.parseIndex(c); o.subrsIndex = h.obj; };
  5962. CFFParser.prototype.parseCharsets = function (e, t, i, a) { if (0 === e)
  5963. return new CFFCharset(!0, Ri.ISO_ADOBE, Ci); if (1 === e)
  5964. return new CFFCharset(!0, Ri.EXPERT, Bi); if (2 === e)
  5965. return new CFFCharset(!0, Ri.EXPERT_SUBSET, Qi); var s = this.bytes, r = e, n = s[e++], o = [a ? 0 : ".notdef"]; var g, c, h; t -= 1; switch (n) {
  5966. case 0:
  5967. for (h = 0; h < t; h++) {
  5968. g = s[e++] << 8 | s[e++];
  5969. o.push(a ? g : i.get(g));
  5970. }
  5971. break;
  5972. case 1:
  5973. for (; o.length <= t;) {
  5974. g = s[e++] << 8 | s[e++];
  5975. c = s[e++];
  5976. for (h = 0; h <= c; h++)
  5977. o.push(a ? g++ : i.get(g++));
  5978. }
  5979. break;
  5980. case 2:
  5981. for (; o.length <= t;) {
  5982. g = s[e++] << 8 | s[e++];
  5983. c = s[e++] << 8 | s[e++];
  5984. for (h = 0; h <= c; h++)
  5985. o.push(a ? g++ : i.get(g++));
  5986. }
  5987. break;
  5988. default: throw new FormatError("Unknown charset format");
  5989. } var l = e, C = s.subarray(r, l); return new CFFCharset(!1, n, o, C); };
  5990. CFFParser.prototype.parseEncoding = function (e, t, i, a) { var s = Object.create(null), r = this.bytes; var n, o, g, c = !1, h = null; if (0 === e || 1 === e) {
  5991. c = !0;
  5992. n = e;
  5993. var t_99 = e ? Ei : fi;
  5994. for (o = 0, g = a.length; o < g; o++) {
  5995. var e_119 = t_99.indexOf(a[o]);
  5996. -1 !== e_119 && (s[e_119] = o);
  5997. }
  5998. }
  5999. else {
  6000. var t_100 = e;
  6001. n = r[e++];
  6002. switch (127 & n) {
  6003. case 0:
  6004. var t_101 = r[e++];
  6005. for (o = 1; o <= t_101; o++)
  6006. s[r[e++]] = o;
  6007. break;
  6008. case 1:
  6009. var i_89 = r[e++];
  6010. var a_86 = 1;
  6011. for (o = 0; o < i_89; o++) {
  6012. var t_102 = r[e++], i_90 = r[e++];
  6013. for (var e_120 = t_102; e_120 <= t_102 + i_90; e_120++)
  6014. s[e_120] = a_86++;
  6015. }
  6016. break;
  6017. default: throw new FormatError("Unknown encoding format: ".concat(n, " in CFF"));
  6018. }
  6019. var g_12 = e;
  6020. if (128 & n) {
  6021. r[t_100] &= 127;
  6022. !function readSupplement() { var t = r[e++]; for (o = 0; o < t; o++) {
  6023. var t_103 = r[e++], n_29 = (r[e++] << 8) + (255 & r[e++]);
  6024. s[t_103] = a.indexOf(i.get(n_29));
  6025. } }();
  6026. }
  6027. h = r.subarray(t_100, g_12);
  6028. } n &= 127; return new CFFEncoding(c, n, s, h); };
  6029. CFFParser.prototype.parseFDSelect = function (e, t) { var i = this.bytes, a = i[e++], s = []; var r; switch (a) {
  6030. case 0:
  6031. for (r = 0; r < t; ++r) {
  6032. var t_104 = i[e++];
  6033. s.push(t_104);
  6034. }
  6035. break;
  6036. case 3:
  6037. var n_30 = i[e++] << 8 | i[e++];
  6038. for (r = 0; r < n_30; ++r) {
  6039. var t_105 = i[e++] << 8 | i[e++];
  6040. if (0 === r && 0 !== t_105) {
  6041. warn("parseFDSelect: The first range must have a first GID of 0 -- trying to recover.");
  6042. t_105 = 0;
  6043. }
  6044. var a_87 = i[e++], n_31 = i[e] << 8 | i[e + 1];
  6045. for (var e_121 = t_105; e_121 < n_31; ++e_121)
  6046. s.push(a_87);
  6047. }
  6048. e += 2;
  6049. break;
  6050. default: throw new FormatError("parseFDSelect: Unknown format \"".concat(a, "\"."));
  6051. } if (s.length !== t)
  6052. throw new FormatError("parseFDSelect: Invalid font data."); return new CFFFDSelect(a, s); };
  6053. return CFFParser;
  6054. }());
  6055. var CFF = /** @class */ (function () {
  6056. function CFF() {
  6057. this.header = null;
  6058. this.names = [];
  6059. this.topDict = null;
  6060. this.strings = new CFFStrings;
  6061. this.globalSubrIndex = null;
  6062. this.encoding = null;
  6063. this.charset = null;
  6064. this.charStrings = null;
  6065. this.fdArray = [];
  6066. this.fdSelect = null;
  6067. this.isCIDFont = !1;
  6068. }
  6069. CFF.prototype.duplicateFirstGlyph = function () { if (this.charStrings.count >= 65535) {
  6070. warn("Not enough space in charstrings to duplicate first glyph.");
  6071. return;
  6072. } var e = this.charStrings.get(0); this.charStrings.add(e); this.isCIDFont && this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0]); };
  6073. CFF.prototype.hasGlyphId = function (e) { if (e < 0 || e >= this.charStrings.count)
  6074. return !1; return this.charStrings.get(e).length > 0; };
  6075. return CFF;
  6076. }());
  6077. var CFFHeader = /** @class */ (function () {
  6078. function CFFHeader(e, t, i, a) {
  6079. this.major = e;
  6080. this.minor = t;
  6081. this.hdrSize = i;
  6082. this.offSize = a;
  6083. }
  6084. return CFFHeader;
  6085. }());
  6086. var CFFStrings = /** @class */ (function () {
  6087. function CFFStrings() {
  6088. this.strings = [];
  6089. }
  6090. CFFStrings.prototype.get = function (e) { return e >= 0 && e <= 390 ? wi[e] : e - bi <= this.strings.length ? this.strings[e - bi] : wi[0]; };
  6091. CFFStrings.prototype.getSID = function (e) { var t = wi.indexOf(e); if (-1 !== t)
  6092. return t; t = this.strings.indexOf(e); return -1 !== t ? t + bi : -1; };
  6093. CFFStrings.prototype.add = function (e) { this.strings.push(e); };
  6094. Object.defineProperty(CFFStrings.prototype, "count", {
  6095. get: function () { return this.strings.length; },
  6096. enumerable: false,
  6097. configurable: true
  6098. });
  6099. return CFFStrings;
  6100. }());
  6101. var CFFIndex = /** @class */ (function () {
  6102. function CFFIndex() {
  6103. this.objects = [];
  6104. this.length = 0;
  6105. }
  6106. CFFIndex.prototype.add = function (e) { this.length += e.length; this.objects.push(e); };
  6107. CFFIndex.prototype.set = function (e, t) { this.length += t.length - this.objects[e].length; this.objects[e] = t; };
  6108. CFFIndex.prototype.get = function (e) { return this.objects[e]; };
  6109. Object.defineProperty(CFFIndex.prototype, "count", {
  6110. get: function () { return this.objects.length; },
  6111. enumerable: false,
  6112. configurable: true
  6113. });
  6114. return CFFIndex;
  6115. }());
  6116. var CFFDict = /** @class */ (function () {
  6117. function CFFDict(e, t) {
  6118. this.keyToNameMap = e.keyToNameMap;
  6119. this.nameToKeyMap = e.nameToKeyMap;
  6120. this.defaults = e.defaults;
  6121. this.types = e.types;
  6122. this.opcodes = e.opcodes;
  6123. this.order = e.order;
  6124. this.strings = t;
  6125. this.values = Object.create(null);
  6126. }
  6127. CFFDict.prototype.setByKey = function (e, t) { if (!(e in this.keyToNameMap))
  6128. return !1; if (0 === t.length)
  6129. return !0; for (var _b = 0, t_106 = t; _b < t_106.length; _b++) {
  6130. var i_91 = t_106[_b];
  6131. if (isNaN(i_91)) {
  6132. warn("Invalid CFFDict value: \"".concat(t, "\" for key \"").concat(e, "\"."));
  6133. return !0;
  6134. }
  6135. } var i = this.types[e]; "num" !== i && "sid" !== i && "offset" !== i || (t = t[0]); this.values[e] = t; return !0; };
  6136. CFFDict.prototype.setByName = function (e, t) { if (!(e in this.nameToKeyMap))
  6137. throw new FormatError("Invalid dictionary name \"".concat(e, "\"")); this.values[this.nameToKeyMap[e]] = t; };
  6138. CFFDict.prototype.hasName = function (e) { return this.nameToKeyMap[e] in this.values; };
  6139. CFFDict.prototype.getByName = function (e) { if (!(e in this.nameToKeyMap))
  6140. throw new FormatError("Invalid dictionary name ".concat(e, "\"")); var t = this.nameToKeyMap[e]; return t in this.values ? this.values[t] : this.defaults[t]; };
  6141. CFFDict.prototype.removeByName = function (e) { delete this.values[this.nameToKeyMap[e]]; };
  6142. CFFDict.createTables = function (e) { var t = { keyToNameMap: {}, nameToKeyMap: {}, defaults: {}, types: {}, opcodes: {}, order: [] }; for (var _b = 0, e_122 = e; _b < e_122.length; _b++) {
  6143. var i_92 = e_122[_b];
  6144. var e_123 = Array.isArray(i_92[0]) ? (i_92[0][0] << 8) + i_92[0][1] : i_92[0];
  6145. t.keyToNameMap[e_123] = i_92[1];
  6146. t.nameToKeyMap[i_92[1]] = e_123;
  6147. t.types[e_123] = i_92[2];
  6148. t.defaults[e_123] = i_92[3];
  6149. t.opcodes[e_123] = Array.isArray(i_92[0]) ? i_92[0] : [i_92[0]];
  6150. t.order.push(e_123);
  6151. } return t; };
  6152. return CFFDict;
  6153. }());
  6154. var Si = [[[12, 30], "ROS", ["sid", "sid", "num"], null], [[12, 20], "SyntheticBase", "num", null], [0, "version", "sid", null], [1, "Notice", "sid", null], [[12, 0], "Copyright", "sid", null], [2, "FullName", "sid", null], [3, "FamilyName", "sid", null], [4, "Weight", "sid", null], [[12, 1], "isFixedPitch", "num", 0], [[12, 2], "ItalicAngle", "num", 0], [[12, 3], "UnderlinePosition", "num", -100], [[12, 4], "UnderlineThickness", "num", 50], [[12, 5], "PaintType", "num", 0], [[12, 6], "CharstringType", "num", 2], [[12, 7], "FontMatrix", ["num", "num", "num", "num", "num", "num"], [.001, 0, 0, .001, 0, 0]], [13, "UniqueID", "num", null], [5, "FontBBox", ["num", "num", "num", "num"], [0, 0, 0, 0]], [[12, 8], "StrokeWidth", "num", 0], [14, "XUID", "array", null], [15, "charset", "offset", 0], [16, "Encoding", "offset", 0], [17, "CharStrings", "offset", 0], [18, "Private", ["offset", "offset"], null], [[12, 21], "PostScript", "sid", null], [[12, 22], "BaseFontName", "sid", null], [[12, 23], "BaseFontBlend", "delta", null], [[12, 31], "CIDFontVersion", "num", 0], [[12, 32], "CIDFontRevision", "num", 0], [[12, 33], "CIDFontType", "num", 0], [[12, 34], "CIDCount", "num", 8720], [[12, 35], "UIDBase", "num", null], [[12, 37], "FDSelect", "offset", null], [[12, 36], "FDArray", "offset", null], [[12, 38], "FontName", "sid", null]];
  6155. var CFFTopDict = /** @class */ (function (_super) {
  6156. tslib_1.__extends(CFFTopDict, _super);
  6157. function CFFTopDict(e) {
  6158. var _this = _super.call(this, CFFTopDict.tables, e) || this;
  6159. _this.privateDict = null;
  6160. return _this;
  6161. }
  6162. Object.defineProperty(CFFTopDict, "tables", {
  6163. get: function () { return shadow(this, "tables", this.createTables(Si)); },
  6164. enumerable: false,
  6165. configurable: true
  6166. });
  6167. return CFFTopDict;
  6168. }(CFFDict));
  6169. var ki = [[6, "BlueValues", "delta", null], [7, "OtherBlues", "delta", null], [8, "FamilyBlues", "delta", null], [9, "FamilyOtherBlues", "delta", null], [[12, 9], "BlueScale", "num", .039625], [[12, 10], "BlueShift", "num", 7], [[12, 11], "BlueFuzz", "num", 1], [10, "StdHW", "num", null], [11, "StdVW", "num", null], [[12, 12], "StemSnapH", "delta", null], [[12, 13], "StemSnapV", "delta", null], [[12, 14], "ForceBold", "num", 0], [[12, 17], "LanguageGroup", "num", 0], [[12, 18], "ExpansionFactor", "num", .06], [[12, 19], "initialRandomSeed", "num", 0], [20, "defaultWidthX", "num", 0], [21, "nominalWidthX", "num", 0], [19, "Subrs", "offset", null]];
  6170. var CFFPrivateDict = /** @class */ (function (_super) {
  6171. tslib_1.__extends(CFFPrivateDict, _super);
  6172. function CFFPrivateDict(e) {
  6173. var _this = _super.call(this, CFFPrivateDict.tables, e) || this;
  6174. _this.subrsIndex = null;
  6175. return _this;
  6176. }
  6177. Object.defineProperty(CFFPrivateDict, "tables", {
  6178. get: function () { return shadow(this, "tables", this.createTables(ki)); },
  6179. enumerable: false,
  6180. configurable: true
  6181. });
  6182. return CFFPrivateDict;
  6183. }(CFFDict));
  6184. var Ri = { ISO_ADOBE: 0, EXPERT: 1, EXPERT_SUBSET: 2 };
  6185. var CFFCharset = /** @class */ (function () {
  6186. function CFFCharset(e, t, i, a) {
  6187. this.predefined = e;
  6188. this.format = t;
  6189. this.charset = i;
  6190. this.raw = a;
  6191. }
  6192. return CFFCharset;
  6193. }());
  6194. var CFFEncoding = /** @class */ (function () {
  6195. function CFFEncoding(e, t, i, a) {
  6196. this.predefined = e;
  6197. this.format = t;
  6198. this.encoding = i;
  6199. this.raw = a;
  6200. }
  6201. return CFFEncoding;
  6202. }());
  6203. var CFFFDSelect = /** @class */ (function () {
  6204. function CFFFDSelect(e, t) {
  6205. this.format = e;
  6206. this.fdSelect = t;
  6207. }
  6208. CFFFDSelect.prototype.getFDIndex = function (e) { return e < 0 || e >= this.fdSelect.length ? -1 : this.fdSelect[e]; };
  6209. return CFFFDSelect;
  6210. }());
  6211. var CFFOffsetTracker = /** @class */ (function () {
  6212. function CFFOffsetTracker() {
  6213. this.offsets = Object.create(null);
  6214. }
  6215. CFFOffsetTracker.prototype.isTracking = function (e) { return e in this.offsets; };
  6216. CFFOffsetTracker.prototype.track = function (e, t) { if (e in this.offsets)
  6217. throw new FormatError("Already tracking location of ".concat(e)); this.offsets[e] = t; };
  6218. CFFOffsetTracker.prototype.offset = function (e) { for (var t_107 in this.offsets)
  6219. this.offsets[t_107] += e; };
  6220. CFFOffsetTracker.prototype.setEntryLocation = function (e, t, i) { if (!(e in this.offsets))
  6221. throw new FormatError("Not tracking location of ".concat(e)); var a = i.data, s = this.offsets[e]; for (var e_124 = 0, i_93 = t.length; e_124 < i_93; ++e_124) {
  6222. var i_94 = 5 * e_124 + s, r_45 = i_94 + 1, n_32 = i_94 + 2, o_18 = i_94 + 3, g_13 = i_94 + 4;
  6223. if (29 !== a[i_94] || 0 !== a[r_45] || 0 !== a[n_32] || 0 !== a[o_18] || 0 !== a[g_13])
  6224. throw new FormatError("writing to an offset that is not empty");
  6225. var c_7 = t[e_124];
  6226. a[i_94] = 29;
  6227. a[r_45] = c_7 >> 24 & 255;
  6228. a[n_32] = c_7 >> 16 & 255;
  6229. a[o_18] = c_7 >> 8 & 255;
  6230. a[g_13] = 255 & c_7;
  6231. } };
  6232. return CFFOffsetTracker;
  6233. }());
  6234. var CFFCompiler = /** @class */ (function () {
  6235. function CFFCompiler(e) {
  6236. this.cff = e;
  6237. }
  6238. CFFCompiler.prototype.compile = function () { var e = this.cff, t = { data: [], length: 0, add: function (e) {
  6239. var _b;
  6240. try {
  6241. (_b = this.data).push.apply(_b, e);
  6242. }
  6243. catch (_h) {
  6244. this.data = this.data.concat(e);
  6245. }
  6246. this.length = this.data.length;
  6247. } }, i = this.compileHeader(e.header); t.add(i); var a = this.compileNameIndex(e.names); t.add(a); if (e.isCIDFont && e.topDict.hasName("FontMatrix")) {
  6248. var t_108 = e.topDict.getByName("FontMatrix");
  6249. e.topDict.removeByName("FontMatrix");
  6250. for (var _b = 0, _h = e.fdArray; _b < _h.length; _b++) {
  6251. var i_95 = _h[_b];
  6252. var e_125 = t_108.slice(0);
  6253. i_95.hasName("FontMatrix") && (e_125 = Util.transform(e_125, i_95.getByName("FontMatrix")));
  6254. i_95.setByName("FontMatrix", e_125);
  6255. }
  6256. } var s = e.topDict.getByName("XUID"); (s === null || s === void 0 ? void 0 : s.length) > 16 && e.topDict.removeByName("XUID"); e.topDict.setByName("charset", 0); var r = this.compileTopDicts([e.topDict], t.length, e.isCIDFont); t.add(r.output); var n = r.trackers[0], o = this.compileStringIndex(e.strings.strings); t.add(o); var g = this.compileIndex(e.globalSubrIndex); t.add(g); if (e.encoding && e.topDict.hasName("Encoding"))
  6257. if (e.encoding.predefined)
  6258. n.setEntryLocation("Encoding", [e.encoding.format], t);
  6259. else {
  6260. var i_96 = this.compileEncoding(e.encoding);
  6261. n.setEntryLocation("Encoding", [t.length], t);
  6262. t.add(i_96);
  6263. } var c = this.compileCharset(e.charset, e.charStrings.count, e.strings, e.isCIDFont); n.setEntryLocation("charset", [t.length], t); t.add(c); var h = this.compileCharStrings(e.charStrings); n.setEntryLocation("CharStrings", [t.length], t); t.add(h); if (e.isCIDFont) {
  6264. n.setEntryLocation("FDSelect", [t.length], t);
  6265. var i_97 = this.compileFDSelect(e.fdSelect);
  6266. t.add(i_97);
  6267. r = this.compileTopDicts(e.fdArray, t.length, !0);
  6268. n.setEntryLocation("FDArray", [t.length], t);
  6269. t.add(r.output);
  6270. var a_88 = r.trackers;
  6271. this.compilePrivateDicts(e.fdArray, a_88, t);
  6272. } this.compilePrivateDicts([e.topDict], [n], t); t.add([0]); return t.data; };
  6273. CFFCompiler.prototype.encodeNumber = function (e) { return Number.isInteger(e) ? this.encodeInteger(e) : this.encodeFloat(e); };
  6274. Object.defineProperty(CFFCompiler, "EncodeFloatRegExp", {
  6275. get: function () { return shadow(this, "EncodeFloatRegExp", /\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/); },
  6276. enumerable: false,
  6277. configurable: true
  6278. });
  6279. CFFCompiler.prototype.encodeFloat = function (e) { var t = e.toString(); var i = CFFCompiler.EncodeFloatRegExp.exec(t); if (i) {
  6280. var a_89 = parseFloat("1e" + ((i[2] ? +i[2] : 0) + i[1].length));
  6281. t = (Math.round(e * a_89) / a_89).toString();
  6282. } var a, s, r = ""; for (a = 0, s = t.length; a < s; ++a) {
  6283. var e_126 = t[a];
  6284. r += "e" === e_126 ? "-" === t[++a] ? "c" : "b" : "." === e_126 ? "a" : "-" === e_126 ? "e" : e_126;
  6285. } r += 1 & r.length ? "f" : "ff"; var n = [30]; for (a = 0, s = r.length; a < s; a += 2)
  6286. n.push(parseInt(r.substring(a, a + 2), 16)); return n; };
  6287. CFFCompiler.prototype.encodeInteger = function (e) { var t; t = e >= -107 && e <= 107 ? [e + 139] : e >= 108 && e <= 1131 ? [247 + ((e -= 108) >> 8), 255 & e] : e >= -1131 && e <= -108 ? [251 + ((e = -e - 108) >> 8), 255 & e] : e >= -32768 && e <= 32767 ? [28, e >> 8 & 255, 255 & e] : [29, e >> 24 & 255, e >> 16 & 255, e >> 8 & 255, 255 & e]; return t; };
  6288. CFFCompiler.prototype.compileHeader = function (e) { return [e.major, e.minor, 4, e.offSize]; };
  6289. CFFCompiler.prototype.compileNameIndex = function (e) { var t = new CFFIndex; for (var _b = 0, e_127 = e; _b < e_127.length; _b++) {
  6290. var i_98 = e_127[_b];
  6291. var e_128 = Math.min(i_98.length, 127);
  6292. var a_90 = new Array(e_128);
  6293. for (var t_109 = 0; t_109 < e_128; t_109++) {
  6294. var e_129 = i_98[t_109];
  6295. (e_129 < "!" || e_129 > "~" || "[" === e_129 || "]" === e_129 || "(" === e_129 || ")" === e_129 || "{" === e_129 || "}" === e_129 || "<" === e_129 || ">" === e_129 || "/" === e_129 || "%" === e_129) && (e_129 = "_");
  6296. a_90[t_109] = e_129;
  6297. }
  6298. a_90 = a_90.join("");
  6299. "" === a_90 && (a_90 = "Bad_Font_Name");
  6300. t.add(stringToBytes(a_90));
  6301. } return this.compileIndex(t); };
  6302. CFFCompiler.prototype.compileTopDicts = function (e, t, i) { var a = []; var s = new CFFIndex; for (var _b = 0, e_130 = e; _b < e_130.length; _b++) {
  6303. var r_46 = e_130[_b];
  6304. if (i) {
  6305. r_46.removeByName("CIDFontVersion");
  6306. r_46.removeByName("CIDFontRevision");
  6307. r_46.removeByName("CIDFontType");
  6308. r_46.removeByName("CIDCount");
  6309. r_46.removeByName("UIDBase");
  6310. }
  6311. var e_131 = new CFFOffsetTracker, n_33 = this.compileDict(r_46, e_131);
  6312. a.push(e_131);
  6313. s.add(n_33);
  6314. e_131.offset(t);
  6315. } s = this.compileIndex(s, a); return { trackers: a, output: s }; };
  6316. CFFCompiler.prototype.compilePrivateDicts = function (e, t, i) { for (var a_91 = 0, s_64 = e.length; a_91 < s_64; ++a_91) {
  6317. var s_65 = e[a_91], r_47 = s_65.privateDict;
  6318. if (!r_47 || !s_65.hasName("Private"))
  6319. throw new FormatError("There must be a private dictionary.");
  6320. var n_34 = new CFFOffsetTracker, o_19 = this.compileDict(r_47, n_34);
  6321. var g_14 = i.length;
  6322. n_34.offset(g_14);
  6323. o_19.length || (g_14 = 0);
  6324. t[a_91].setEntryLocation("Private", [o_19.length, g_14], i);
  6325. i.add(o_19);
  6326. if (r_47.subrsIndex && r_47.hasName("Subrs")) {
  6327. var e_132 = this.compileIndex(r_47.subrsIndex);
  6328. n_34.setEntryLocation("Subrs", [o_19.length], i);
  6329. i.add(e_132);
  6330. }
  6331. } };
  6332. CFFCompiler.prototype.compileDict = function (e, t) { var i = []; for (var _b = 0, _h = e.order; _b < _h.length; _b++) {
  6333. var a_92 = _h[_b];
  6334. if (!(a_92 in e.values))
  6335. continue;
  6336. var s_66 = e.values[a_92], r_48 = e.types[a_92];
  6337. Array.isArray(r_48) || (r_48 = [r_48]);
  6338. Array.isArray(s_66) || (s_66 = [s_66]);
  6339. if (0 !== s_66.length) {
  6340. for (var n_35 = 0, o_20 = r_48.length; n_35 < o_20; ++n_35) {
  6341. var o_21 = r_48[n_35], g_15 = s_66[n_35];
  6342. switch (o_21) {
  6343. case "num":
  6344. case "sid":
  6345. i.push.apply(i, this.encodeNumber(g_15));
  6346. break;
  6347. case "offset":
  6348. var r_49 = e.keyToNameMap[a_92];
  6349. t.isTracking(r_49) || t.track(r_49, i.length);
  6350. i.push(29, 0, 0, 0, 0);
  6351. break;
  6352. case "array":
  6353. case "delta":
  6354. i.push.apply(i, this.encodeNumber(g_15));
  6355. for (var e_133 = 1, t_110 = s_66.length; e_133 < t_110; ++e_133)
  6356. i.push.apply(i, this.encodeNumber(s_66[e_133]));
  6357. break;
  6358. default: throw new FormatError("Unknown data type of ".concat(o_21));
  6359. }
  6360. }
  6361. i.push.apply(i, e.opcodes[a_92]);
  6362. }
  6363. } return i; };
  6364. CFFCompiler.prototype.compileStringIndex = function (e) { var t = new CFFIndex; for (var _b = 0, e_134 = e; _b < e_134.length; _b++) {
  6365. var i_99 = e_134[_b];
  6366. t.add(stringToBytes(i_99));
  6367. } return this.compileIndex(t); };
  6368. CFFCompiler.prototype.compileCharStrings = function (e) { var t = new CFFIndex; for (var i_100 = 0; i_100 < e.count; i_100++) {
  6369. var a_93 = e.get(i_100);
  6370. 0 !== a_93.length ? t.add(a_93) : t.add(new Uint8Array([139, 14]));
  6371. } return this.compileIndex(t); };
  6372. CFFCompiler.prototype.compileCharset = function (e, t, i, a) { var s; var r = t - 1; if (a)
  6373. s = new Uint8Array([2, 0, 0, r >> 8 & 255, 255 & r]);
  6374. else {
  6375. s = new Uint8Array(1 + 2 * r);
  6376. s[0] = 0;
  6377. var t_111 = 0;
  6378. var a_94 = e.charset.length;
  6379. var n_36 = !1;
  6380. for (var r_50 = 1; r_50 < s.length; r_50 += 2) {
  6381. var o_22 = 0;
  6382. if (t_111 < a_94) {
  6383. var a_95 = e.charset[t_111++];
  6384. o_22 = i.getSID(a_95);
  6385. if (-1 === o_22) {
  6386. o_22 = 0;
  6387. if (!n_36) {
  6388. n_36 = !0;
  6389. warn("Couldn't find ".concat(a_95, " in CFF strings"));
  6390. }
  6391. }
  6392. }
  6393. s[r_50] = o_22 >> 8 & 255;
  6394. s[r_50 + 1] = 255 & o_22;
  6395. }
  6396. } return this.compileTypedArray(s); };
  6397. CFFCompiler.prototype.compileEncoding = function (e) { return this.compileTypedArray(e.raw); };
  6398. CFFCompiler.prototype.compileFDSelect = function (e) { var t = e.format; var i, a; switch (t) {
  6399. case 0:
  6400. i = new Uint8Array(1 + e.fdSelect.length);
  6401. i[0] = t;
  6402. for (a = 0; a < e.fdSelect.length; a++)
  6403. i[a + 1] = e.fdSelect[a];
  6404. break;
  6405. case 3:
  6406. var s_67 = 0;
  6407. var r_51 = e.fdSelect[0];
  6408. var n_37 = [t, 0, 0, s_67 >> 8 & 255, 255 & s_67, r_51];
  6409. for (a = 1; a < e.fdSelect.length; a++) {
  6410. var t_112 = e.fdSelect[a];
  6411. if (t_112 !== r_51) {
  6412. n_37.push(a >> 8 & 255, 255 & a, t_112);
  6413. r_51 = t_112;
  6414. }
  6415. }
  6416. var o_23 = (n_37.length - 3) / 3;
  6417. n_37[1] = o_23 >> 8 & 255;
  6418. n_37[2] = 255 & o_23;
  6419. n_37.push(a >> 8 & 255, 255 & a);
  6420. i = new Uint8Array(n_37);
  6421. } return this.compileTypedArray(i); };
  6422. CFFCompiler.prototype.compileTypedArray = function (e) { return Array.from(e); };
  6423. CFFCompiler.prototype.compileIndex = function (e, t) {
  6424. if (t === void 0) { t = []; }
  6425. var i = e.objects, a = i.length;
  6426. if (0 === a)
  6427. return [0, 0];
  6428. var s = [a >> 8 & 255, 255 & a];
  6429. var r, n, o = 1;
  6430. for (r = 0; r < a; ++r)
  6431. o += i[r].length;
  6432. n = o < 256 ? 1 : o < 65536 ? 2 : o < 16777216 ? 3 : 4;
  6433. s.push(n);
  6434. var g = 1;
  6435. for (r = 0; r < a + 1; r++) {
  6436. 1 === n ? s.push(255 & g) : 2 === n ? s.push(g >> 8 & 255, 255 & g) : 3 === n ? s.push(g >> 16 & 255, g >> 8 & 255, 255 & g) : s.push(g >>> 24 & 255, g >> 16 & 255, g >> 8 & 255, 255 & g);
  6437. i[r] && (g += i[r].length);
  6438. }
  6439. for (r = 0; r < a; r++) {
  6440. t[r] && t[r].offset(s.length);
  6441. s.push.apply(s, i[r]);
  6442. }
  6443. return s;
  6444. };
  6445. return CFFCompiler;
  6446. }());
  6447. var Ni = getLookupTableFactory((function (e) { e.A = 65; e.AE = 198; e.AEacute = 508; e.AEmacron = 482; e.AEsmall = 63462; e.Aacute = 193; e.Aacutesmall = 63457; e.Abreve = 258; e.Abreveacute = 7854; e.Abrevecyrillic = 1232; e.Abrevedotbelow = 7862; e.Abrevegrave = 7856; e.Abrevehookabove = 7858; e.Abrevetilde = 7860; e.Acaron = 461; e.Acircle = 9398; e.Acircumflex = 194; e.Acircumflexacute = 7844; e.Acircumflexdotbelow = 7852; e.Acircumflexgrave = 7846; e.Acircumflexhookabove = 7848; e.Acircumflexsmall = 63458; e.Acircumflextilde = 7850; e.Acute = 63177; e.Acutesmall = 63412; e.Acyrillic = 1040; e.Adblgrave = 512; e.Adieresis = 196; e.Adieresiscyrillic = 1234; e.Adieresismacron = 478; e.Adieresissmall = 63460; e.Adotbelow = 7840; e.Adotmacron = 480; e.Agrave = 192; e.Agravesmall = 63456; e.Ahookabove = 7842; e.Aiecyrillic = 1236; e.Ainvertedbreve = 514; e.Alpha = 913; e.Alphatonos = 902; e.Amacron = 256; e.Amonospace = 65313; e.Aogonek = 260; e.Aring = 197; e.Aringacute = 506; e.Aringbelow = 7680; e.Aringsmall = 63461; e.Asmall = 63329; e.Atilde = 195; e.Atildesmall = 63459; e.Aybarmenian = 1329; e.B = 66; e.Bcircle = 9399; e.Bdotaccent = 7682; e.Bdotbelow = 7684; e.Becyrillic = 1041; e.Benarmenian = 1330; e.Beta = 914; e.Bhook = 385; e.Blinebelow = 7686; e.Bmonospace = 65314; e.Brevesmall = 63220; e.Bsmall = 63330; e.Btopbar = 386; e.C = 67; e.Caarmenian = 1342; e.Cacute = 262; e.Caron = 63178; e.Caronsmall = 63221; e.Ccaron = 268; e.Ccedilla = 199; e.Ccedillaacute = 7688; e.Ccedillasmall = 63463; e.Ccircle = 9400; e.Ccircumflex = 264; e.Cdot = 266; e.Cdotaccent = 266; e.Cedillasmall = 63416; e.Chaarmenian = 1353; e.Cheabkhasiancyrillic = 1212; e.Checyrillic = 1063; e.Chedescenderabkhasiancyrillic = 1214; e.Chedescendercyrillic = 1206; e.Chedieresiscyrillic = 1268; e.Cheharmenian = 1347; e.Chekhakassiancyrillic = 1227; e.Cheverticalstrokecyrillic = 1208; e.Chi = 935; e.Chook = 391; e.Circumflexsmall = 63222; e.Cmonospace = 65315; e.Coarmenian = 1361; e.Csmall = 63331; e.D = 68; e.DZ = 497; e.DZcaron = 452; e.Daarmenian = 1332; e.Dafrican = 393; e.Dcaron = 270; e.Dcedilla = 7696; e.Dcircle = 9401; e.Dcircumflexbelow = 7698; e.Dcroat = 272; e.Ddotaccent = 7690; e.Ddotbelow = 7692; e.Decyrillic = 1044; e.Deicoptic = 1006; e.Delta = 8710; e.Deltagreek = 916; e.Dhook = 394; e.Dieresis = 63179; e.DieresisAcute = 63180; e.DieresisGrave = 63181; e.Dieresissmall = 63400; e.Digammagreek = 988; e.Djecyrillic = 1026; e.Dlinebelow = 7694; e.Dmonospace = 65316; e.Dotaccentsmall = 63223; e.Dslash = 272; e.Dsmall = 63332; e.Dtopbar = 395; e.Dz = 498; e.Dzcaron = 453; e.Dzeabkhasiancyrillic = 1248; e.Dzecyrillic = 1029; e.Dzhecyrillic = 1039; e.E = 69; e.Eacute = 201; e.Eacutesmall = 63465; e.Ebreve = 276; e.Ecaron = 282; e.Ecedillabreve = 7708; e.Echarmenian = 1333; e.Ecircle = 9402; e.Ecircumflex = 202; e.Ecircumflexacute = 7870; e.Ecircumflexbelow = 7704; e.Ecircumflexdotbelow = 7878; e.Ecircumflexgrave = 7872; e.Ecircumflexhookabove = 7874; e.Ecircumflexsmall = 63466; e.Ecircumflextilde = 7876; e.Ecyrillic = 1028; e.Edblgrave = 516; e.Edieresis = 203; e.Edieresissmall = 63467; e.Edot = 278; e.Edotaccent = 278; e.Edotbelow = 7864; e.Efcyrillic = 1060; e.Egrave = 200; e.Egravesmall = 63464; e.Eharmenian = 1335; e.Ehookabove = 7866; e.Eightroman = 8551; e.Einvertedbreve = 518; e.Eiotifiedcyrillic = 1124; e.Elcyrillic = 1051; e.Elevenroman = 8554; e.Emacron = 274; e.Emacronacute = 7702; e.Emacrongrave = 7700; e.Emcyrillic = 1052; e.Emonospace = 65317; e.Encyrillic = 1053; e.Endescendercyrillic = 1186; e.Eng = 330; e.Enghecyrillic = 1188; e.Enhookcyrillic = 1223; e.Eogonek = 280; e.Eopen = 400; e.Epsilon = 917; e.Epsilontonos = 904; e.Ercyrillic = 1056; e.Ereversed = 398; e.Ereversedcyrillic = 1069; e.Escyrillic = 1057; e.Esdescendercyrillic = 1194; e.Esh = 425; e.Esmall = 63333; e.Eta = 919; e.Etarmenian = 1336; e.Etatonos = 905; e.Eth = 208; e.Ethsmall = 63472; e.Etilde = 7868; e.Etildebelow = 7706; e.Euro = 8364; e.Ezh = 439; e.Ezhcaron = 494; e.Ezhreversed = 440; e.F = 70; e.Fcircle = 9403; e.Fdotaccent = 7710; e.Feharmenian = 1366; e.Feicoptic = 996; e.Fhook = 401; e.Fitacyrillic = 1138; e.Fiveroman = 8548; e.Fmonospace = 65318; e.Fourroman = 8547; e.Fsmall = 63334; e.G = 71; e.GBsquare = 13191; e.Gacute = 500; e.Gamma = 915; e.Gammaafrican = 404; e.Gangiacoptic = 1002; e.Gbreve = 286; e.Gcaron = 486; e.Gcedilla = 290; e.Gcircle = 9404; e.Gcircumflex = 284; e.Gcommaaccent = 290; e.Gdot = 288; e.Gdotaccent = 288; e.Gecyrillic = 1043; e.Ghadarmenian = 1346; e.Ghemiddlehookcyrillic = 1172; e.Ghestrokecyrillic = 1170; e.Gheupturncyrillic = 1168; e.Ghook = 403; e.Gimarmenian = 1331; e.Gjecyrillic = 1027; e.Gmacron = 7712; e.Gmonospace = 65319; e.Grave = 63182; e.Gravesmall = 63328; e.Gsmall = 63335; e.Gsmallhook = 667; e.Gstroke = 484; e.H = 72; e.H18533 = 9679; e.H18543 = 9642; e.H18551 = 9643; e.H22073 = 9633; e.HPsquare = 13259; e.Haabkhasiancyrillic = 1192; e.Hadescendercyrillic = 1202; e.Hardsigncyrillic = 1066; e.Hbar = 294; e.Hbrevebelow = 7722; e.Hcedilla = 7720; e.Hcircle = 9405; e.Hcircumflex = 292; e.Hdieresis = 7718; e.Hdotaccent = 7714; e.Hdotbelow = 7716; e.Hmonospace = 65320; e.Hoarmenian = 1344; e.Horicoptic = 1e3; e.Hsmall = 63336; e.Hungarumlaut = 63183; e.Hungarumlautsmall = 63224; e.Hzsquare = 13200; e.I = 73; e.IAcyrillic = 1071; e.IJ = 306; e.IUcyrillic = 1070; e.Iacute = 205; e.Iacutesmall = 63469; e.Ibreve = 300; e.Icaron = 463; e.Icircle = 9406; e.Icircumflex = 206; e.Icircumflexsmall = 63470; e.Icyrillic = 1030; e.Idblgrave = 520; e.Idieresis = 207; e.Idieresisacute = 7726; e.Idieresiscyrillic = 1252; e.Idieresissmall = 63471; e.Idot = 304; e.Idotaccent = 304; e.Idotbelow = 7882; e.Iebrevecyrillic = 1238; e.Iecyrillic = 1045; e.Ifraktur = 8465; e.Igrave = 204; e.Igravesmall = 63468; e.Ihookabove = 7880; e.Iicyrillic = 1048; e.Iinvertedbreve = 522; e.Iishortcyrillic = 1049; e.Imacron = 298; e.Imacroncyrillic = 1250; e.Imonospace = 65321; e.Iniarmenian = 1339; e.Iocyrillic = 1025; e.Iogonek = 302; e.Iota = 921; e.Iotaafrican = 406; e.Iotadieresis = 938; e.Iotatonos = 906; e.Ismall = 63337; e.Istroke = 407; e.Itilde = 296; e.Itildebelow = 7724; e.Izhitsacyrillic = 1140; e.Izhitsadblgravecyrillic = 1142; e.J = 74; e.Jaarmenian = 1345; e.Jcircle = 9407; e.Jcircumflex = 308; e.Jecyrillic = 1032; e.Jheharmenian = 1355; e.Jmonospace = 65322; e.Jsmall = 63338; e.K = 75; e.KBsquare = 13189; e.KKsquare = 13261; e.Kabashkircyrillic = 1184; e.Kacute = 7728; e.Kacyrillic = 1050; e.Kadescendercyrillic = 1178; e.Kahookcyrillic = 1219; e.Kappa = 922; e.Kastrokecyrillic = 1182; e.Kaverticalstrokecyrillic = 1180; e.Kcaron = 488; e.Kcedilla = 310; e.Kcircle = 9408; e.Kcommaaccent = 310; e.Kdotbelow = 7730; e.Keharmenian = 1364; e.Kenarmenian = 1343; e.Khacyrillic = 1061; e.Kheicoptic = 998; e.Khook = 408; e.Kjecyrillic = 1036; e.Klinebelow = 7732; e.Kmonospace = 65323; e.Koppacyrillic = 1152; e.Koppagreek = 990; e.Ksicyrillic = 1134; e.Ksmall = 63339; e.L = 76; e.LJ = 455; e.LL = 63167; e.Lacute = 313; e.Lambda = 923; e.Lcaron = 317; e.Lcedilla = 315; e.Lcircle = 9409; e.Lcircumflexbelow = 7740; e.Lcommaaccent = 315; e.Ldot = 319; e.Ldotaccent = 319; e.Ldotbelow = 7734; e.Ldotbelowmacron = 7736; e.Liwnarmenian = 1340; e.Lj = 456; e.Ljecyrillic = 1033; e.Llinebelow = 7738; e.Lmonospace = 65324; e.Lslash = 321; e.Lslashsmall = 63225; e.Lsmall = 63340; e.M = 77; e.MBsquare = 13190; e.Macron = 63184; e.Macronsmall = 63407; e.Macute = 7742; e.Mcircle = 9410; e.Mdotaccent = 7744; e.Mdotbelow = 7746; e.Menarmenian = 1348; e.Mmonospace = 65325; e.Msmall = 63341; e.Mturned = 412; e.Mu = 924; e.N = 78; e.NJ = 458; e.Nacute = 323; e.Ncaron = 327; e.Ncedilla = 325; e.Ncircle = 9411; e.Ncircumflexbelow = 7754; e.Ncommaaccent = 325; e.Ndotaccent = 7748; e.Ndotbelow = 7750; e.Nhookleft = 413; e.Nineroman = 8552; e.Nj = 459; e.Njecyrillic = 1034; e.Nlinebelow = 7752; e.Nmonospace = 65326; e.Nowarmenian = 1350; e.Nsmall = 63342; e.Ntilde = 209; e.Ntildesmall = 63473; e.Nu = 925; e.O = 79; e.OE = 338; e.OEsmall = 63226; e.Oacute = 211; e.Oacutesmall = 63475; e.Obarredcyrillic = 1256; e.Obarreddieresiscyrillic = 1258; e.Obreve = 334; e.Ocaron = 465; e.Ocenteredtilde = 415; e.Ocircle = 9412; e.Ocircumflex = 212; e.Ocircumflexacute = 7888; e.Ocircumflexdotbelow = 7896; e.Ocircumflexgrave = 7890; e.Ocircumflexhookabove = 7892; e.Ocircumflexsmall = 63476; e.Ocircumflextilde = 7894; e.Ocyrillic = 1054; e.Odblacute = 336; e.Odblgrave = 524; e.Odieresis = 214; e.Odieresiscyrillic = 1254; e.Odieresissmall = 63478; e.Odotbelow = 7884; e.Ogoneksmall = 63227; e.Ograve = 210; e.Ogravesmall = 63474; e.Oharmenian = 1365; e.Ohm = 8486; e.Ohookabove = 7886; e.Ohorn = 416; e.Ohornacute = 7898; e.Ohorndotbelow = 7906; e.Ohorngrave = 7900; e.Ohornhookabove = 7902; e.Ohorntilde = 7904; e.Ohungarumlaut = 336; e.Oi = 418; e.Oinvertedbreve = 526; e.Omacron = 332; e.Omacronacute = 7762; e.Omacrongrave = 7760; e.Omega = 8486; e.Omegacyrillic = 1120; e.Omegagreek = 937; e.Omegaroundcyrillic = 1146; e.Omegatitlocyrillic = 1148; e.Omegatonos = 911; e.Omicron = 927; e.Omicrontonos = 908; e.Omonospace = 65327; e.Oneroman = 8544; e.Oogonek = 490; e.Oogonekmacron = 492; e.Oopen = 390; e.Oslash = 216; e.Oslashacute = 510; e.Oslashsmall = 63480; e.Osmall = 63343; e.Ostrokeacute = 510; e.Otcyrillic = 1150; e.Otilde = 213; e.Otildeacute = 7756; e.Otildedieresis = 7758; e.Otildesmall = 63477; e.P = 80; e.Pacute = 7764; e.Pcircle = 9413; e.Pdotaccent = 7766; e.Pecyrillic = 1055; e.Peharmenian = 1354; e.Pemiddlehookcyrillic = 1190; e.Phi = 934; e.Phook = 420; e.Pi = 928; e.Piwrarmenian = 1363; e.Pmonospace = 65328; e.Psi = 936; e.Psicyrillic = 1136; e.Psmall = 63344; e.Q = 81; e.Qcircle = 9414; e.Qmonospace = 65329; e.Qsmall = 63345; e.R = 82; e.Raarmenian = 1356; e.Racute = 340; e.Rcaron = 344; e.Rcedilla = 342; e.Rcircle = 9415; e.Rcommaaccent = 342; e.Rdblgrave = 528; e.Rdotaccent = 7768; e.Rdotbelow = 7770; e.Rdotbelowmacron = 7772; e.Reharmenian = 1360; e.Rfraktur = 8476; e.Rho = 929; e.Ringsmall = 63228; e.Rinvertedbreve = 530; e.Rlinebelow = 7774; e.Rmonospace = 65330; e.Rsmall = 63346; e.Rsmallinverted = 641; e.Rsmallinvertedsuperior = 694; e.S = 83; e.SF010000 = 9484; e.SF020000 = 9492; e.SF030000 = 9488; e.SF040000 = 9496; e.SF050000 = 9532; e.SF060000 = 9516; e.SF070000 = 9524; e.SF080000 = 9500; e.SF090000 = 9508; e.SF100000 = 9472; e.SF110000 = 9474; e.SF190000 = 9569; e.SF200000 = 9570; e.SF210000 = 9558; e.SF220000 = 9557; e.SF230000 = 9571; e.SF240000 = 9553; e.SF250000 = 9559; e.SF260000 = 9565; e.SF270000 = 9564; e.SF280000 = 9563; e.SF360000 = 9566; e.SF370000 = 9567; e.SF380000 = 9562; e.SF390000 = 9556; e.SF400000 = 9577; e.SF410000 = 9574; e.SF420000 = 9568; e.SF430000 = 9552; e.SF440000 = 9580; e.SF450000 = 9575; e.SF460000 = 9576; e.SF470000 = 9572; e.SF480000 = 9573; e.SF490000 = 9561; e.SF500000 = 9560; e.SF510000 = 9554; e.SF520000 = 9555; e.SF530000 = 9579; e.SF540000 = 9578; e.Sacute = 346; e.Sacutedotaccent = 7780; e.Sampigreek = 992; e.Scaron = 352; e.Scarondotaccent = 7782; e.Scaronsmall = 63229; e.Scedilla = 350; e.Schwa = 399; e.Schwacyrillic = 1240; e.Schwadieresiscyrillic = 1242; e.Scircle = 9416; e.Scircumflex = 348; e.Scommaaccent = 536; e.Sdotaccent = 7776; e.Sdotbelow = 7778; e.Sdotbelowdotaccent = 7784; e.Seharmenian = 1357; e.Sevenroman = 8550; e.Shaarmenian = 1351; e.Shacyrillic = 1064; e.Shchacyrillic = 1065; e.Sheicoptic = 994; e.Shhacyrillic = 1210; e.Shimacoptic = 1004; e.Sigma = 931; e.Sixroman = 8549; e.Smonospace = 65331; e.Softsigncyrillic = 1068; e.Ssmall = 63347; e.Stigmagreek = 986; e.T = 84; e.Tau = 932; e.Tbar = 358; e.Tcaron = 356; e.Tcedilla = 354; e.Tcircle = 9417; e.Tcircumflexbelow = 7792; e.Tcommaaccent = 354; e.Tdotaccent = 7786; e.Tdotbelow = 7788; e.Tecyrillic = 1058; e.Tedescendercyrillic = 1196; e.Tenroman = 8553; e.Tetsecyrillic = 1204; e.Theta = 920; e.Thook = 428; e.Thorn = 222; e.Thornsmall = 63486; e.Threeroman = 8546; e.Tildesmall = 63230; e.Tiwnarmenian = 1359; e.Tlinebelow = 7790; e.Tmonospace = 65332; e.Toarmenian = 1337; e.Tonefive = 444; e.Tonesix = 388; e.Tonetwo = 423; e.Tretroflexhook = 430; e.Tsecyrillic = 1062; e.Tshecyrillic = 1035; e.Tsmall = 63348; e.Twelveroman = 8555; e.Tworoman = 8545; e.U = 85; e.Uacute = 218; e.Uacutesmall = 63482; e.Ubreve = 364; e.Ucaron = 467; e.Ucircle = 9418; e.Ucircumflex = 219; e.Ucircumflexbelow = 7798; e.Ucircumflexsmall = 63483; e.Ucyrillic = 1059; e.Udblacute = 368; e.Udblgrave = 532; e.Udieresis = 220; e.Udieresisacute = 471; e.Udieresisbelow = 7794; e.Udieresiscaron = 473; e.Udieresiscyrillic = 1264; e.Udieresisgrave = 475; e.Udieresismacron = 469; e.Udieresissmall = 63484; e.Udotbelow = 7908; e.Ugrave = 217; e.Ugravesmall = 63481; e.Uhookabove = 7910; e.Uhorn = 431; e.Uhornacute = 7912; e.Uhorndotbelow = 7920; e.Uhorngrave = 7914; e.Uhornhookabove = 7916; e.Uhorntilde = 7918; e.Uhungarumlaut = 368; e.Uhungarumlautcyrillic = 1266; e.Uinvertedbreve = 534; e.Ukcyrillic = 1144; e.Umacron = 362; e.Umacroncyrillic = 1262; e.Umacrondieresis = 7802; e.Umonospace = 65333; e.Uogonek = 370; e.Upsilon = 933; e.Upsilon1 = 978; e.Upsilonacutehooksymbolgreek = 979; e.Upsilonafrican = 433; e.Upsilondieresis = 939; e.Upsilondieresishooksymbolgreek = 980; e.Upsilonhooksymbol = 978; e.Upsilontonos = 910; e.Uring = 366; e.Ushortcyrillic = 1038; e.Usmall = 63349; e.Ustraightcyrillic = 1198; e.Ustraightstrokecyrillic = 1200; e.Utilde = 360; e.Utildeacute = 7800; e.Utildebelow = 7796; e.V = 86; e.Vcircle = 9419; e.Vdotbelow = 7806; e.Vecyrillic = 1042; e.Vewarmenian = 1358; e.Vhook = 434; e.Vmonospace = 65334; e.Voarmenian = 1352; e.Vsmall = 63350; e.Vtilde = 7804; e.W = 87; e.Wacute = 7810; e.Wcircle = 9420; e.Wcircumflex = 372; e.Wdieresis = 7812; e.Wdotaccent = 7814; e.Wdotbelow = 7816; e.Wgrave = 7808; e.Wmonospace = 65335; e.Wsmall = 63351; e.X = 88; e.Xcircle = 9421; e.Xdieresis = 7820; e.Xdotaccent = 7818; e.Xeharmenian = 1341; e.Xi = 926; e.Xmonospace = 65336; e.Xsmall = 63352; e.Y = 89; e.Yacute = 221; e.Yacutesmall = 63485; e.Yatcyrillic = 1122; e.Ycircle = 9422; e.Ycircumflex = 374; e.Ydieresis = 376; e.Ydieresissmall = 63487; e.Ydotaccent = 7822; e.Ydotbelow = 7924; e.Yericyrillic = 1067; e.Yerudieresiscyrillic = 1272; e.Ygrave = 7922; e.Yhook = 435; e.Yhookabove = 7926; e.Yiarmenian = 1349; e.Yicyrillic = 1031; e.Yiwnarmenian = 1362; e.Ymonospace = 65337; e.Ysmall = 63353; e.Ytilde = 7928; e.Yusbigcyrillic = 1130; e.Yusbigiotifiedcyrillic = 1132; e.Yuslittlecyrillic = 1126; e.Yuslittleiotifiedcyrillic = 1128; e.Z = 90; e.Zaarmenian = 1334; e.Zacute = 377; e.Zcaron = 381; e.Zcaronsmall = 63231; e.Zcircle = 9423; e.Zcircumflex = 7824; e.Zdot = 379; e.Zdotaccent = 379; e.Zdotbelow = 7826; e.Zecyrillic = 1047; e.Zedescendercyrillic = 1176; e.Zedieresiscyrillic = 1246; e.Zeta = 918; e.Zhearmenian = 1338; e.Zhebrevecyrillic = 1217; e.Zhecyrillic = 1046; e.Zhedescendercyrillic = 1174; e.Zhedieresiscyrillic = 1244; e.Zlinebelow = 7828; e.Zmonospace = 65338; e.Zsmall = 63354; e.Zstroke = 437; e.a = 97; e.aabengali = 2438; e.aacute = 225; e.aadeva = 2310; e.aagujarati = 2694; e.aagurmukhi = 2566; e.aamatragurmukhi = 2622; e.aarusquare = 13059; e.aavowelsignbengali = 2494; e.aavowelsigndeva = 2366; e.aavowelsigngujarati = 2750; e.abbreviationmarkarmenian = 1375; e.abbreviationsigndeva = 2416; e.abengali = 2437; e.abopomofo = 12570; e.abreve = 259; e.abreveacute = 7855; e.abrevecyrillic = 1233; e.abrevedotbelow = 7863; e.abrevegrave = 7857; e.abrevehookabove = 7859; e.abrevetilde = 7861; e.acaron = 462; e.acircle = 9424; e.acircumflex = 226; e.acircumflexacute = 7845; e.acircumflexdotbelow = 7853; e.acircumflexgrave = 7847; e.acircumflexhookabove = 7849; e.acircumflextilde = 7851; e.acute = 180; e.acutebelowcmb = 791; e.acutecmb = 769; e.acutecomb = 769; e.acutedeva = 2388; e.acutelowmod = 719; e.acutetonecmb = 833; e.acyrillic = 1072; e.adblgrave = 513; e.addakgurmukhi = 2673; e.adeva = 2309; e.adieresis = 228; e.adieresiscyrillic = 1235; e.adieresismacron = 479; e.adotbelow = 7841; e.adotmacron = 481; e.ae = 230; e.aeacute = 509; e.aekorean = 12624; e.aemacron = 483; e.afii00208 = 8213; e.afii08941 = 8356; e.afii10017 = 1040; e.afii10018 = 1041; e.afii10019 = 1042; e.afii10020 = 1043; e.afii10021 = 1044; e.afii10022 = 1045; e.afii10023 = 1025; e.afii10024 = 1046; e.afii10025 = 1047; e.afii10026 = 1048; e.afii10027 = 1049; e.afii10028 = 1050; e.afii10029 = 1051; e.afii10030 = 1052; e.afii10031 = 1053; e.afii10032 = 1054; e.afii10033 = 1055; e.afii10034 = 1056; e.afii10035 = 1057; e.afii10036 = 1058; e.afii10037 = 1059; e.afii10038 = 1060; e.afii10039 = 1061; e.afii10040 = 1062; e.afii10041 = 1063; e.afii10042 = 1064; e.afii10043 = 1065; e.afii10044 = 1066; e.afii10045 = 1067; e.afii10046 = 1068; e.afii10047 = 1069; e.afii10048 = 1070; e.afii10049 = 1071; e.afii10050 = 1168; e.afii10051 = 1026; e.afii10052 = 1027; e.afii10053 = 1028; e.afii10054 = 1029; e.afii10055 = 1030; e.afii10056 = 1031; e.afii10057 = 1032; e.afii10058 = 1033; e.afii10059 = 1034; e.afii10060 = 1035; e.afii10061 = 1036; e.afii10062 = 1038; e.afii10063 = 63172; e.afii10064 = 63173; e.afii10065 = 1072; e.afii10066 = 1073; e.afii10067 = 1074; e.afii10068 = 1075; e.afii10069 = 1076; e.afii10070 = 1077; e.afii10071 = 1105; e.afii10072 = 1078; e.afii10073 = 1079; e.afii10074 = 1080; e.afii10075 = 1081; e.afii10076 = 1082; e.afii10077 = 1083; e.afii10078 = 1084; e.afii10079 = 1085; e.afii10080 = 1086; e.afii10081 = 1087; e.afii10082 = 1088; e.afii10083 = 1089; e.afii10084 = 1090; e.afii10085 = 1091; e.afii10086 = 1092; e.afii10087 = 1093; e.afii10088 = 1094; e.afii10089 = 1095; e.afii10090 = 1096; e.afii10091 = 1097; e.afii10092 = 1098; e.afii10093 = 1099; e.afii10094 = 1100; e.afii10095 = 1101; e.afii10096 = 1102; e.afii10097 = 1103; e.afii10098 = 1169; e.afii10099 = 1106; e.afii10100 = 1107; e.afii10101 = 1108; e.afii10102 = 1109; e.afii10103 = 1110; e.afii10104 = 1111; e.afii10105 = 1112; e.afii10106 = 1113; e.afii10107 = 1114; e.afii10108 = 1115; e.afii10109 = 1116; e.afii10110 = 1118; e.afii10145 = 1039; e.afii10146 = 1122; e.afii10147 = 1138; e.afii10148 = 1140; e.afii10192 = 63174; e.afii10193 = 1119; e.afii10194 = 1123; e.afii10195 = 1139; e.afii10196 = 1141; e.afii10831 = 63175; e.afii10832 = 63176; e.afii10846 = 1241; e.afii299 = 8206; e.afii300 = 8207; e.afii301 = 8205; e.afii57381 = 1642; e.afii57388 = 1548; e.afii57392 = 1632; e.afii57393 = 1633; e.afii57394 = 1634; e.afii57395 = 1635; e.afii57396 = 1636; e.afii57397 = 1637; e.afii57398 = 1638; e.afii57399 = 1639; e.afii57400 = 1640; e.afii57401 = 1641; e.afii57403 = 1563; e.afii57407 = 1567; e.afii57409 = 1569; e.afii57410 = 1570; e.afii57411 = 1571; e.afii57412 = 1572; e.afii57413 = 1573; e.afii57414 = 1574; e.afii57415 = 1575; e.afii57416 = 1576; e.afii57417 = 1577; e.afii57418 = 1578; e.afii57419 = 1579; e.afii57420 = 1580; e.afii57421 = 1581; e.afii57422 = 1582; e.afii57423 = 1583; e.afii57424 = 1584; e.afii57425 = 1585; e.afii57426 = 1586; e.afii57427 = 1587; e.afii57428 = 1588; e.afii57429 = 1589; e.afii57430 = 1590; e.afii57431 = 1591; e.afii57432 = 1592; e.afii57433 = 1593; e.afii57434 = 1594; e.afii57440 = 1600; e.afii57441 = 1601; e.afii57442 = 1602; e.afii57443 = 1603; e.afii57444 = 1604; e.afii57445 = 1605; e.afii57446 = 1606; e.afii57448 = 1608; e.afii57449 = 1609; e.afii57450 = 1610; e.afii57451 = 1611; e.afii57452 = 1612; e.afii57453 = 1613; e.afii57454 = 1614; e.afii57455 = 1615; e.afii57456 = 1616; e.afii57457 = 1617; e.afii57458 = 1618; e.afii57470 = 1607; e.afii57505 = 1700; e.afii57506 = 1662; e.afii57507 = 1670; e.afii57508 = 1688; e.afii57509 = 1711; e.afii57511 = 1657; e.afii57512 = 1672; e.afii57513 = 1681; e.afii57514 = 1722; e.afii57519 = 1746; e.afii57534 = 1749; e.afii57636 = 8362; e.afii57645 = 1470; e.afii57658 = 1475; e.afii57664 = 1488; e.afii57665 = 1489; e.afii57666 = 1490; e.afii57667 = 1491; e.afii57668 = 1492; e.afii57669 = 1493; e.afii57670 = 1494; e.afii57671 = 1495; e.afii57672 = 1496; e.afii57673 = 1497; e.afii57674 = 1498; e.afii57675 = 1499; e.afii57676 = 1500; e.afii57677 = 1501; e.afii57678 = 1502; e.afii57679 = 1503; e.afii57680 = 1504; e.afii57681 = 1505; e.afii57682 = 1506; e.afii57683 = 1507; e.afii57684 = 1508; e.afii57685 = 1509; e.afii57686 = 1510; e.afii57687 = 1511; e.afii57688 = 1512; e.afii57689 = 1513; e.afii57690 = 1514; e.afii57694 = 64298; e.afii57695 = 64299; e.afii57700 = 64331; e.afii57705 = 64287; e.afii57716 = 1520; e.afii57717 = 1521; e.afii57718 = 1522; e.afii57723 = 64309; e.afii57793 = 1460; e.afii57794 = 1461; e.afii57795 = 1462; e.afii57796 = 1467; e.afii57797 = 1464; e.afii57798 = 1463; e.afii57799 = 1456; e.afii57800 = 1458; e.afii57801 = 1457; e.afii57802 = 1459; e.afii57803 = 1474; e.afii57804 = 1473; e.afii57806 = 1465; e.afii57807 = 1468; e.afii57839 = 1469; e.afii57841 = 1471; e.afii57842 = 1472; e.afii57929 = 700; e.afii61248 = 8453; e.afii61289 = 8467; e.afii61352 = 8470; e.afii61573 = 8236; e.afii61574 = 8237; e.afii61575 = 8238; e.afii61664 = 8204; e.afii63167 = 1645; e.afii64937 = 701; e.agrave = 224; e.agujarati = 2693; e.agurmukhi = 2565; e.ahiragana = 12354; e.ahookabove = 7843; e.aibengali = 2448; e.aibopomofo = 12574; e.aideva = 2320; e.aiecyrillic = 1237; e.aigujarati = 2704; e.aigurmukhi = 2576; e.aimatragurmukhi = 2632; e.ainarabic = 1593; e.ainfinalarabic = 65226; e.aininitialarabic = 65227; e.ainmedialarabic = 65228; e.ainvertedbreve = 515; e.aivowelsignbengali = 2504; e.aivowelsigndeva = 2376; e.aivowelsigngujarati = 2760; e.akatakana = 12450; e.akatakanahalfwidth = 65393; e.akorean = 12623; e.alef = 1488; e.alefarabic = 1575; e.alefdageshhebrew = 64304; e.aleffinalarabic = 65166; e.alefhamzaabovearabic = 1571; e.alefhamzaabovefinalarabic = 65156; e.alefhamzabelowarabic = 1573; e.alefhamzabelowfinalarabic = 65160; e.alefhebrew = 1488; e.aleflamedhebrew = 64335; e.alefmaddaabovearabic = 1570; e.alefmaddaabovefinalarabic = 65154; e.alefmaksuraarabic = 1609; e.alefmaksurafinalarabic = 65264; e.alefmaksurainitialarabic = 65267; e.alefmaksuramedialarabic = 65268; e.alefpatahhebrew = 64302; e.alefqamatshebrew = 64303; e.aleph = 8501; e.allequal = 8780; e.alpha = 945; e.alphatonos = 940; e.amacron = 257; e.amonospace = 65345; e.ampersand = 38; e.ampersandmonospace = 65286; e.ampersandsmall = 63270; e.amsquare = 13250; e.anbopomofo = 12578; e.angbopomofo = 12580; e.angbracketleft = 12296; e.angbracketright = 12297; e.angkhankhuthai = 3674; e.angle = 8736; e.anglebracketleft = 12296; e.anglebracketleftvertical = 65087; e.anglebracketright = 12297; e.anglebracketrightvertical = 65088; e.angleleft = 9001; e.angleright = 9002; e.angstrom = 8491; e.anoteleia = 903; e.anudattadeva = 2386; e.anusvarabengali = 2434; e.anusvaradeva = 2306; e.anusvaragujarati = 2690; e.aogonek = 261; e.apaatosquare = 13056; e.aparen = 9372; e.apostrophearmenian = 1370; e.apostrophemod = 700; e.apple = 63743; e.approaches = 8784; e.approxequal = 8776; e.approxequalorimage = 8786; e.approximatelyequal = 8773; e.araeaekorean = 12686; e.araeakorean = 12685; e.arc = 8978; e.arighthalfring = 7834; e.aring = 229; e.aringacute = 507; e.aringbelow = 7681; e.arrowboth = 8596; e.arrowdashdown = 8675; e.arrowdashleft = 8672; e.arrowdashright = 8674; e.arrowdashup = 8673; e.arrowdblboth = 8660; e.arrowdbldown = 8659; e.arrowdblleft = 8656; e.arrowdblright = 8658; e.arrowdblup = 8657; e.arrowdown = 8595; e.arrowdownleft = 8601; e.arrowdownright = 8600; e.arrowdownwhite = 8681; e.arrowheaddownmod = 709; e.arrowheadleftmod = 706; e.arrowheadrightmod = 707; e.arrowheadupmod = 708; e.arrowhorizex = 63719; e.arrowleft = 8592; e.arrowleftdbl = 8656; e.arrowleftdblstroke = 8653; e.arrowleftoverright = 8646; e.arrowleftwhite = 8678; e.arrowright = 8594; e.arrowrightdblstroke = 8655; e.arrowrightheavy = 10142; e.arrowrightoverleft = 8644; e.arrowrightwhite = 8680; e.arrowtableft = 8676; e.arrowtabright = 8677; e.arrowup = 8593; e.arrowupdn = 8597; e.arrowupdnbse = 8616; e.arrowupdownbase = 8616; e.arrowupleft = 8598; e.arrowupleftofdown = 8645; e.arrowupright = 8599; e.arrowupwhite = 8679; e.arrowvertex = 63718; e.asciicircum = 94; e.asciicircummonospace = 65342; e.asciitilde = 126; e.asciitildemonospace = 65374; e.ascript = 593; e.ascriptturned = 594; e.asmallhiragana = 12353; e.asmallkatakana = 12449; e.asmallkatakanahalfwidth = 65383; e.asterisk = 42; e.asteriskaltonearabic = 1645; e.asteriskarabic = 1645; e.asteriskmath = 8727; e.asteriskmonospace = 65290; e.asterisksmall = 65121; e.asterism = 8258; e.asuperior = 63209; e.asymptoticallyequal = 8771; e.at = 64; e.atilde = 227; e.atmonospace = 65312; e.atsmall = 65131; e.aturned = 592; e.aubengali = 2452; e.aubopomofo = 12576; e.audeva = 2324; e.augujarati = 2708; e.augurmukhi = 2580; e.aulengthmarkbengali = 2519; e.aumatragurmukhi = 2636; e.auvowelsignbengali = 2508; e.auvowelsigndeva = 2380; e.auvowelsigngujarati = 2764; e.avagrahadeva = 2365; e.aybarmenian = 1377; e.ayin = 1506; e.ayinaltonehebrew = 64288; e.ayinhebrew = 1506; e.b = 98; e.babengali = 2476; e.backslash = 92; e.backslashmonospace = 65340; e.badeva = 2348; e.bagujarati = 2732; e.bagurmukhi = 2604; e.bahiragana = 12400; e.bahtthai = 3647; e.bakatakana = 12496; e.bar = 124; e.barmonospace = 65372; e.bbopomofo = 12549; e.bcircle = 9425; e.bdotaccent = 7683; e.bdotbelow = 7685; e.beamedsixteenthnotes = 9836; e.because = 8757; e.becyrillic = 1073; e.beharabic = 1576; e.behfinalarabic = 65168; e.behinitialarabic = 65169; e.behiragana = 12409; e.behmedialarabic = 65170; e.behmeeminitialarabic = 64671; e.behmeemisolatedarabic = 64520; e.behnoonfinalarabic = 64621; e.bekatakana = 12505; e.benarmenian = 1378; e.bet = 1489; e.beta = 946; e.betasymbolgreek = 976; e.betdagesh = 64305; e.betdageshhebrew = 64305; e.bethebrew = 1489; e.betrafehebrew = 64332; e.bhabengali = 2477; e.bhadeva = 2349; e.bhagujarati = 2733; e.bhagurmukhi = 2605; e.bhook = 595; e.bihiragana = 12403; e.bikatakana = 12499; e.bilabialclick = 664; e.bindigurmukhi = 2562; e.birusquare = 13105; e.blackcircle = 9679; e.blackdiamond = 9670; e.blackdownpointingtriangle = 9660; e.blackleftpointingpointer = 9668; e.blackleftpointingtriangle = 9664; e.blacklenticularbracketleft = 12304; e.blacklenticularbracketleftvertical = 65083; e.blacklenticularbracketright = 12305; e.blacklenticularbracketrightvertical = 65084; e.blacklowerlefttriangle = 9699; e.blacklowerrighttriangle = 9698; e.blackrectangle = 9644; e.blackrightpointingpointer = 9658; e.blackrightpointingtriangle = 9654; e.blacksmallsquare = 9642; e.blacksmilingface = 9787; e.blacksquare = 9632; e.blackstar = 9733; e.blackupperlefttriangle = 9700; e.blackupperrighttriangle = 9701; e.blackuppointingsmalltriangle = 9652; e.blackuppointingtriangle = 9650; e.blank = 9251; e.blinebelow = 7687; e.block = 9608; e.bmonospace = 65346; e.bobaimaithai = 3610; e.bohiragana = 12412; e.bokatakana = 12508; e.bparen = 9373; e.bqsquare = 13251; e.braceex = 63732; e.braceleft = 123; e.braceleftbt = 63731; e.braceleftmid = 63730; e.braceleftmonospace = 65371; e.braceleftsmall = 65115; e.bracelefttp = 63729; e.braceleftvertical = 65079; e.braceright = 125; e.bracerightbt = 63742; e.bracerightmid = 63741; e.bracerightmonospace = 65373; e.bracerightsmall = 65116; e.bracerighttp = 63740; e.bracerightvertical = 65080; e.bracketleft = 91; e.bracketleftbt = 63728; e.bracketleftex = 63727; e.bracketleftmonospace = 65339; e.bracketlefttp = 63726; e.bracketright = 93; e.bracketrightbt = 63739; e.bracketrightex = 63738; e.bracketrightmonospace = 65341; e.bracketrighttp = 63737; e.breve = 728; e.brevebelowcmb = 814; e.brevecmb = 774; e.breveinvertedbelowcmb = 815; e.breveinvertedcmb = 785; e.breveinverteddoublecmb = 865; e.bridgebelowcmb = 810; e.bridgeinvertedbelowcmb = 826; e.brokenbar = 166; e.bstroke = 384; e.bsuperior = 63210; e.btopbar = 387; e.buhiragana = 12406; e.bukatakana = 12502; e.bullet = 8226; e.bulletinverse = 9688; e.bulletoperator = 8729; e.bullseye = 9678; e.c = 99; e.caarmenian = 1390; e.cabengali = 2458; e.cacute = 263; e.cadeva = 2330; e.cagujarati = 2714; e.cagurmukhi = 2586; e.calsquare = 13192; e.candrabindubengali = 2433; e.candrabinducmb = 784; e.candrabindudeva = 2305; e.candrabindugujarati = 2689; e.capslock = 8682; e.careof = 8453; e.caron = 711; e.caronbelowcmb = 812; e.caroncmb = 780; e.carriagereturn = 8629; e.cbopomofo = 12568; e.ccaron = 269; e.ccedilla = 231; e.ccedillaacute = 7689; e.ccircle = 9426; e.ccircumflex = 265; e.ccurl = 597; e.cdot = 267; e.cdotaccent = 267; e.cdsquare = 13253; e.cedilla = 184; e.cedillacmb = 807; e.cent = 162; e.centigrade = 8451; e.centinferior = 63199; e.centmonospace = 65504; e.centoldstyle = 63394; e.centsuperior = 63200; e.chaarmenian = 1401; e.chabengali = 2459; e.chadeva = 2331; e.chagujarati = 2715; e.chagurmukhi = 2587; e.chbopomofo = 12564; e.cheabkhasiancyrillic = 1213; e.checkmark = 10003; e.checyrillic = 1095; e.chedescenderabkhasiancyrillic = 1215; e.chedescendercyrillic = 1207; e.chedieresiscyrillic = 1269; e.cheharmenian = 1395; e.chekhakassiancyrillic = 1228; e.cheverticalstrokecyrillic = 1209; e.chi = 967; e.chieuchacirclekorean = 12919; e.chieuchaparenkorean = 12823; e.chieuchcirclekorean = 12905; e.chieuchkorean = 12618; e.chieuchparenkorean = 12809; e.chochangthai = 3594; e.chochanthai = 3592; e.chochingthai = 3593; e.chochoethai = 3596; e.chook = 392; e.cieucacirclekorean = 12918; e.cieucaparenkorean = 12822; e.cieuccirclekorean = 12904; e.cieuckorean = 12616; e.cieucparenkorean = 12808; e.cieucuparenkorean = 12828; e.circle = 9675; e.circlecopyrt = 169; e.circlemultiply = 8855; e.circleot = 8857; e.circleplus = 8853; e.circlepostalmark = 12342; e.circlewithlefthalfblack = 9680; e.circlewithrighthalfblack = 9681; e.circumflex = 710; e.circumflexbelowcmb = 813; e.circumflexcmb = 770; e.clear = 8999; e.clickalveolar = 450; e.clickdental = 448; e.clicklateral = 449; e.clickretroflex = 451; e.club = 9827; e.clubsuitblack = 9827; e.clubsuitwhite = 9831; e.cmcubedsquare = 13220; e.cmonospace = 65347; e.cmsquaredsquare = 13216; e.coarmenian = 1409; e.colon = 58; e.colonmonetary = 8353; e.colonmonospace = 65306; e.colonsign = 8353; e.colonsmall = 65109; e.colontriangularhalfmod = 721; e.colontriangularmod = 720; e.comma = 44; e.commaabovecmb = 787; e.commaaboverightcmb = 789; e.commaaccent = 63171; e.commaarabic = 1548; e.commaarmenian = 1373; e.commainferior = 63201; e.commamonospace = 65292; e.commareversedabovecmb = 788; e.commareversedmod = 701; e.commasmall = 65104; e.commasuperior = 63202; e.commaturnedabovecmb = 786; e.commaturnedmod = 699; e.compass = 9788; e.congruent = 8773; e.contourintegral = 8750; e.control = 8963; e.controlACK = 6; e.controlBEL = 7; e.controlBS = 8; e.controlCAN = 24; e.controlCR = 13; e.controlDC1 = 17; e.controlDC2 = 18; e.controlDC3 = 19; e.controlDC4 = 20; e.controlDEL = 127; e.controlDLE = 16; e.controlEM = 25; e.controlENQ = 5; e.controlEOT = 4; e.controlESC = 27; e.controlETB = 23; e.controlETX = 3; e.controlFF = 12; e.controlFS = 28; e.controlGS = 29; e.controlHT = 9; e.controlLF = 10; e.controlNAK = 21; e.controlNULL = 0; e.controlRS = 30; e.controlSI = 15; e.controlSO = 14; e.controlSOT = 2; e.controlSTX = 1; e.controlSUB = 26; e.controlSYN = 22; e.controlUS = 31; e.controlVT = 11; e.copyright = 169; e.copyrightsans = 63721; e.copyrightserif = 63193; e.cornerbracketleft = 12300; e.cornerbracketlefthalfwidth = 65378; e.cornerbracketleftvertical = 65089; e.cornerbracketright = 12301; e.cornerbracketrighthalfwidth = 65379; e.cornerbracketrightvertical = 65090; e.corporationsquare = 13183; e.cosquare = 13255; e.coverkgsquare = 13254; e.cparen = 9374; e.cruzeiro = 8354; e.cstretched = 663; e.curlyand = 8911; e.curlyor = 8910; e.currency = 164; e.cyrBreve = 63185; e.cyrFlex = 63186; e.cyrbreve = 63188; e.cyrflex = 63189; e.d = 100; e.daarmenian = 1380; e.dabengali = 2470; e.dadarabic = 1590; e.dadeva = 2342; e.dadfinalarabic = 65214; e.dadinitialarabic = 65215; e.dadmedialarabic = 65216; e.dagesh = 1468; e.dageshhebrew = 1468; e.dagger = 8224; e.daggerdbl = 8225; e.dagujarati = 2726; e.dagurmukhi = 2598; e.dahiragana = 12384; e.dakatakana = 12480; e.dalarabic = 1583; e.dalet = 1491; e.daletdagesh = 64307; e.daletdageshhebrew = 64307; e.dalethebrew = 1491; e.dalfinalarabic = 65194; e.dammaarabic = 1615; e.dammalowarabic = 1615; e.dammatanaltonearabic = 1612; e.dammatanarabic = 1612; e.danda = 2404; e.dargahebrew = 1447; e.dargalefthebrew = 1447; e.dasiapneumatacyrilliccmb = 1157; e.dblGrave = 63187; e.dblanglebracketleft = 12298; e.dblanglebracketleftvertical = 65085; e.dblanglebracketright = 12299; e.dblanglebracketrightvertical = 65086; e.dblarchinvertedbelowcmb = 811; e.dblarrowleft = 8660; e.dblarrowright = 8658; e.dbldanda = 2405; e.dblgrave = 63190; e.dblgravecmb = 783; e.dblintegral = 8748; e.dbllowline = 8215; e.dbllowlinecmb = 819; e.dbloverlinecmb = 831; e.dblprimemod = 698; e.dblverticalbar = 8214; e.dblverticallineabovecmb = 782; e.dbopomofo = 12553; e.dbsquare = 13256; e.dcaron = 271; e.dcedilla = 7697; e.dcircle = 9427; e.dcircumflexbelow = 7699; e.dcroat = 273; e.ddabengali = 2465; e.ddadeva = 2337; e.ddagujarati = 2721; e.ddagurmukhi = 2593; e.ddalarabic = 1672; e.ddalfinalarabic = 64393; e.dddhadeva = 2396; e.ddhabengali = 2466; e.ddhadeva = 2338; e.ddhagujarati = 2722; e.ddhagurmukhi = 2594; e.ddotaccent = 7691; e.ddotbelow = 7693; e.decimalseparatorarabic = 1643; e.decimalseparatorpersian = 1643; e.decyrillic = 1076; e.degree = 176; e.dehihebrew = 1453; e.dehiragana = 12391; e.deicoptic = 1007; e.dekatakana = 12487; e.deleteleft = 9003; e.deleteright = 8998; e.delta = 948; e.deltaturned = 397; e.denominatorminusonenumeratorbengali = 2552; e.dezh = 676; e.dhabengali = 2471; e.dhadeva = 2343; e.dhagujarati = 2727; e.dhagurmukhi = 2599; e.dhook = 599; e.dialytikatonos = 901; e.dialytikatonoscmb = 836; e.diamond = 9830; e.diamondsuitwhite = 9826; e.dieresis = 168; e.dieresisacute = 63191; e.dieresisbelowcmb = 804; e.dieresiscmb = 776; e.dieresisgrave = 63192; e.dieresistonos = 901; e.dihiragana = 12386; e.dikatakana = 12482; e.dittomark = 12291; e.divide = 247; e.divides = 8739; e.divisionslash = 8725; e.djecyrillic = 1106; e.dkshade = 9619; e.dlinebelow = 7695; e.dlsquare = 13207; e.dmacron = 273; e.dmonospace = 65348; e.dnblock = 9604; e.dochadathai = 3598; e.dodekthai = 3604; e.dohiragana = 12393; e.dokatakana = 12489; e.dollar = 36; e.dollarinferior = 63203; e.dollarmonospace = 65284; e.dollaroldstyle = 63268; e.dollarsmall = 65129; e.dollarsuperior = 63204; e.dong = 8363; e.dorusquare = 13094; e.dotaccent = 729; e.dotaccentcmb = 775; e.dotbelowcmb = 803; e.dotbelowcomb = 803; e.dotkatakana = 12539; e.dotlessi = 305; e.dotlessj = 63166; e.dotlessjstrokehook = 644; e.dotmath = 8901; e.dottedcircle = 9676; e.doubleyodpatah = 64287; e.doubleyodpatahhebrew = 64287; e.downtackbelowcmb = 798; e.downtackmod = 725; e.dparen = 9375; e.dsuperior = 63211; e.dtail = 598; e.dtopbar = 396; e.duhiragana = 12389; e.dukatakana = 12485; e.dz = 499; e.dzaltone = 675; e.dzcaron = 454; e.dzcurl = 677; e.dzeabkhasiancyrillic = 1249; e.dzecyrillic = 1109; e.dzhecyrillic = 1119; e.e = 101; e.eacute = 233; e.earth = 9793; e.ebengali = 2447; e.ebopomofo = 12572; e.ebreve = 277; e.ecandradeva = 2317; e.ecandragujarati = 2701; e.ecandravowelsigndeva = 2373; e.ecandravowelsigngujarati = 2757; e.ecaron = 283; e.ecedillabreve = 7709; e.echarmenian = 1381; e.echyiwnarmenian = 1415; e.ecircle = 9428; e.ecircumflex = 234; e.ecircumflexacute = 7871; e.ecircumflexbelow = 7705; e.ecircumflexdotbelow = 7879; e.ecircumflexgrave = 7873; e.ecircumflexhookabove = 7875; e.ecircumflextilde = 7877; e.ecyrillic = 1108; e.edblgrave = 517; e.edeva = 2319; e.edieresis = 235; e.edot = 279; e.edotaccent = 279; e.edotbelow = 7865; e.eegurmukhi = 2575; e.eematragurmukhi = 2631; e.efcyrillic = 1092; e.egrave = 232; e.egujarati = 2703; e.eharmenian = 1383; e.ehbopomofo = 12573; e.ehiragana = 12360; e.ehookabove = 7867; e.eibopomofo = 12575; e.eight = 56; e.eightarabic = 1640; e.eightbengali = 2542; e.eightcircle = 9319; e.eightcircleinversesansserif = 10129; e.eightdeva = 2414; e.eighteencircle = 9329; e.eighteenparen = 9349; e.eighteenperiod = 9369; e.eightgujarati = 2798; e.eightgurmukhi = 2670; e.eighthackarabic = 1640; e.eighthangzhou = 12328; e.eighthnotebeamed = 9835; e.eightideographicparen = 12839; e.eightinferior = 8328; e.eightmonospace = 65304; e.eightoldstyle = 63288; e.eightparen = 9339; e.eightperiod = 9359; e.eightpersian = 1784; e.eightroman = 8567; e.eightsuperior = 8312; e.eightthai = 3672; e.einvertedbreve = 519; e.eiotifiedcyrillic = 1125; e.ekatakana = 12456; e.ekatakanahalfwidth = 65396; e.ekonkargurmukhi = 2676; e.ekorean = 12628; e.elcyrillic = 1083; e.element = 8712; e.elevencircle = 9322; e.elevenparen = 9342; e.elevenperiod = 9362; e.elevenroman = 8570; e.ellipsis = 8230; e.ellipsisvertical = 8942; e.emacron = 275; e.emacronacute = 7703; e.emacrongrave = 7701; e.emcyrillic = 1084; e.emdash = 8212; e.emdashvertical = 65073; e.emonospace = 65349; e.emphasismarkarmenian = 1371; e.emptyset = 8709; e.enbopomofo = 12579; e.encyrillic = 1085; e.endash = 8211; e.endashvertical = 65074; e.endescendercyrillic = 1187; e.eng = 331; e.engbopomofo = 12581; e.enghecyrillic = 1189; e.enhookcyrillic = 1224; e.enspace = 8194; e.eogonek = 281; e.eokorean = 12627; e.eopen = 603; e.eopenclosed = 666; e.eopenreversed = 604; e.eopenreversedclosed = 606; e.eopenreversedhook = 605; e.eparen = 9376; e.epsilon = 949; e.epsilontonos = 941; e.equal = 61; e.equalmonospace = 65309; e.equalsmall = 65126; e.equalsuperior = 8316; e.equivalence = 8801; e.erbopomofo = 12582; e.ercyrillic = 1088; e.ereversed = 600; e.ereversedcyrillic = 1101; e.escyrillic = 1089; e.esdescendercyrillic = 1195; e.esh = 643; e.eshcurl = 646; e.eshortdeva = 2318; e.eshortvowelsigndeva = 2374; e.eshreversedloop = 426; e.eshsquatreversed = 645; e.esmallhiragana = 12359; e.esmallkatakana = 12455; e.esmallkatakanahalfwidth = 65386; e.estimated = 8494; e.esuperior = 63212; e.eta = 951; e.etarmenian = 1384; e.etatonos = 942; e.eth = 240; e.etilde = 7869; e.etildebelow = 7707; e.etnahtafoukhhebrew = 1425; e.etnahtafoukhlefthebrew = 1425; e.etnahtahebrew = 1425; e.etnahtalefthebrew = 1425; e.eturned = 477; e.eukorean = 12641; e.euro = 8364; e.evowelsignbengali = 2503; e.evowelsigndeva = 2375; e.evowelsigngujarati = 2759; e.exclam = 33; e.exclamarmenian = 1372; e.exclamdbl = 8252; e.exclamdown = 161; e.exclamdownsmall = 63393; e.exclammonospace = 65281; e.exclamsmall = 63265; e.existential = 8707; e.ezh = 658; e.ezhcaron = 495; e.ezhcurl = 659; e.ezhreversed = 441; e.ezhtail = 442; e.f = 102; e.fadeva = 2398; e.fagurmukhi = 2654; e.fahrenheit = 8457; e.fathaarabic = 1614; e.fathalowarabic = 1614; e.fathatanarabic = 1611; e.fbopomofo = 12552; e.fcircle = 9429; e.fdotaccent = 7711; e.feharabic = 1601; e.feharmenian = 1414; e.fehfinalarabic = 65234; e.fehinitialarabic = 65235; e.fehmedialarabic = 65236; e.feicoptic = 997; e.female = 9792; e.ff = 64256; e.f_f = 64256; e.ffi = 64259; e.f_f_i = 64259; e.ffl = 64260; e.f_f_l = 64260; e.fi = 64257; e.f_i = 64257; e.fifteencircle = 9326; e.fifteenparen = 9346; e.fifteenperiod = 9366; e.figuredash = 8210; e.filledbox = 9632; e.filledrect = 9644; e.finalkaf = 1498; e.finalkafdagesh = 64314; e.finalkafdageshhebrew = 64314; e.finalkafhebrew = 1498; e.finalmem = 1501; e.finalmemhebrew = 1501; e.finalnun = 1503; e.finalnunhebrew = 1503; e.finalpe = 1507; e.finalpehebrew = 1507; e.finaltsadi = 1509; e.finaltsadihebrew = 1509; e.firsttonechinese = 713; e.fisheye = 9673; e.fitacyrillic = 1139; e.five = 53; e.fivearabic = 1637; e.fivebengali = 2539; e.fivecircle = 9316; e.fivecircleinversesansserif = 10126; e.fivedeva = 2411; e.fiveeighths = 8541; e.fivegujarati = 2795; e.fivegurmukhi = 2667; e.fivehackarabic = 1637; e.fivehangzhou = 12325; e.fiveideographicparen = 12836; e.fiveinferior = 8325; e.fivemonospace = 65301; e.fiveoldstyle = 63285; e.fiveparen = 9336; e.fiveperiod = 9356; e.fivepersian = 1781; e.fiveroman = 8564; e.fivesuperior = 8309; e.fivethai = 3669; e.fl = 64258; e.f_l = 64258; e.florin = 402; e.fmonospace = 65350; e.fmsquare = 13209; e.fofanthai = 3615; e.fofathai = 3613; e.fongmanthai = 3663; e.forall = 8704; e.four = 52; e.fourarabic = 1636; e.fourbengali = 2538; e.fourcircle = 9315; e.fourcircleinversesansserif = 10125; e.fourdeva = 2410; e.fourgujarati = 2794; e.fourgurmukhi = 2666; e.fourhackarabic = 1636; e.fourhangzhou = 12324; e.fourideographicparen = 12835; e.fourinferior = 8324; e.fourmonospace = 65300; e.fournumeratorbengali = 2551; e.fouroldstyle = 63284; e.fourparen = 9335; e.fourperiod = 9355; e.fourpersian = 1780; e.fourroman = 8563; e.foursuperior = 8308; e.fourteencircle = 9325; e.fourteenparen = 9345; e.fourteenperiod = 9365; e.fourthai = 3668; e.fourthtonechinese = 715; e.fparen = 9377; e.fraction = 8260; e.franc = 8355; e.g = 103; e.gabengali = 2455; e.gacute = 501; e.gadeva = 2327; e.gafarabic = 1711; e.gaffinalarabic = 64403; e.gafinitialarabic = 64404; e.gafmedialarabic = 64405; e.gagujarati = 2711; e.gagurmukhi = 2583; e.gahiragana = 12364; e.gakatakana = 12460; e.gamma = 947; e.gammalatinsmall = 611; e.gammasuperior = 736; e.gangiacoptic = 1003; e.gbopomofo = 12557; e.gbreve = 287; e.gcaron = 487; e.gcedilla = 291; e.gcircle = 9430; e.gcircumflex = 285; e.gcommaaccent = 291; e.gdot = 289; e.gdotaccent = 289; e.gecyrillic = 1075; e.gehiragana = 12370; e.gekatakana = 12466; e.geometricallyequal = 8785; e.gereshaccenthebrew = 1436; e.gereshhebrew = 1523; e.gereshmuqdamhebrew = 1437; e.germandbls = 223; e.gershayimaccenthebrew = 1438; e.gershayimhebrew = 1524; e.getamark = 12307; e.ghabengali = 2456; e.ghadarmenian = 1394; e.ghadeva = 2328; e.ghagujarati = 2712; e.ghagurmukhi = 2584; e.ghainarabic = 1594; e.ghainfinalarabic = 65230; e.ghaininitialarabic = 65231; e.ghainmedialarabic = 65232; e.ghemiddlehookcyrillic = 1173; e.ghestrokecyrillic = 1171; e.gheupturncyrillic = 1169; e.ghhadeva = 2394; e.ghhagurmukhi = 2650; e.ghook = 608; e.ghzsquare = 13203; e.gihiragana = 12366; e.gikatakana = 12462; e.gimarmenian = 1379; e.gimel = 1490; e.gimeldagesh = 64306; e.gimeldageshhebrew = 64306; e.gimelhebrew = 1490; e.gjecyrillic = 1107; e.glottalinvertedstroke = 446; e.glottalstop = 660; e.glottalstopinverted = 662; e.glottalstopmod = 704; e.glottalstopreversed = 661; e.glottalstopreversedmod = 705; e.glottalstopreversedsuperior = 740; e.glottalstopstroke = 673; e.glottalstopstrokereversed = 674; e.gmacron = 7713; e.gmonospace = 65351; e.gohiragana = 12372; e.gokatakana = 12468; e.gparen = 9378; e.gpasquare = 13228; e.gradient = 8711; e.grave = 96; e.gravebelowcmb = 790; e.gravecmb = 768; e.gravecomb = 768; e.gravedeva = 2387; e.gravelowmod = 718; e.gravemonospace = 65344; e.gravetonecmb = 832; e.greater = 62; e.greaterequal = 8805; e.greaterequalorless = 8923; e.greatermonospace = 65310; e.greaterorequivalent = 8819; e.greaterorless = 8823; e.greateroverequal = 8807; e.greatersmall = 65125; e.gscript = 609; e.gstroke = 485; e.guhiragana = 12368; e.guillemotleft = 171; e.guillemotright = 187; e.guilsinglleft = 8249; e.guilsinglright = 8250; e.gukatakana = 12464; e.guramusquare = 13080; e.gysquare = 13257; e.h = 104; e.haabkhasiancyrillic = 1193; e.haaltonearabic = 1729; e.habengali = 2489; e.hadescendercyrillic = 1203; e.hadeva = 2361; e.hagujarati = 2745; e.hagurmukhi = 2617; e.haharabic = 1581; e.hahfinalarabic = 65186; e.hahinitialarabic = 65187; e.hahiragana = 12399; e.hahmedialarabic = 65188; e.haitusquare = 13098; e.hakatakana = 12495; e.hakatakanahalfwidth = 65418; e.halantgurmukhi = 2637; e.hamzaarabic = 1569; e.hamzalowarabic = 1569; e.hangulfiller = 12644; e.hardsigncyrillic = 1098; e.harpoonleftbarbup = 8636; e.harpoonrightbarbup = 8640; e.hasquare = 13258; e.hatafpatah = 1458; e.hatafpatah16 = 1458; e.hatafpatah23 = 1458; e.hatafpatah2f = 1458; e.hatafpatahhebrew = 1458; e.hatafpatahnarrowhebrew = 1458; e.hatafpatahquarterhebrew = 1458; e.hatafpatahwidehebrew = 1458; e.hatafqamats = 1459; e.hatafqamats1b = 1459; e.hatafqamats28 = 1459; e.hatafqamats34 = 1459; e.hatafqamatshebrew = 1459; e.hatafqamatsnarrowhebrew = 1459; e.hatafqamatsquarterhebrew = 1459; e.hatafqamatswidehebrew = 1459; e.hatafsegol = 1457; e.hatafsegol17 = 1457; e.hatafsegol24 = 1457; e.hatafsegol30 = 1457; e.hatafsegolhebrew = 1457; e.hatafsegolnarrowhebrew = 1457; e.hatafsegolquarterhebrew = 1457; e.hatafsegolwidehebrew = 1457; e.hbar = 295; e.hbopomofo = 12559; e.hbrevebelow = 7723; e.hcedilla = 7721; e.hcircle = 9431; e.hcircumflex = 293; e.hdieresis = 7719; e.hdotaccent = 7715; e.hdotbelow = 7717; e.he = 1492; e.heart = 9829; e.heartsuitblack = 9829; e.heartsuitwhite = 9825; e.hedagesh = 64308; e.hedageshhebrew = 64308; e.hehaltonearabic = 1729; e.heharabic = 1607; e.hehebrew = 1492; e.hehfinalaltonearabic = 64423; e.hehfinalalttwoarabic = 65258; e.hehfinalarabic = 65258; e.hehhamzaabovefinalarabic = 64421; e.hehhamzaaboveisolatedarabic = 64420; e.hehinitialaltonearabic = 64424; e.hehinitialarabic = 65259; e.hehiragana = 12408; e.hehmedialaltonearabic = 64425; e.hehmedialarabic = 65260; e.heiseierasquare = 13179; e.hekatakana = 12504; e.hekatakanahalfwidth = 65421; e.hekutaarusquare = 13110; e.henghook = 615; e.herutusquare = 13113; e.het = 1495; e.hethebrew = 1495; e.hhook = 614; e.hhooksuperior = 689; e.hieuhacirclekorean = 12923; e.hieuhaparenkorean = 12827; e.hieuhcirclekorean = 12909; e.hieuhkorean = 12622; e.hieuhparenkorean = 12813; e.hihiragana = 12402; e.hikatakana = 12498; e.hikatakanahalfwidth = 65419; e.hiriq = 1460; e.hiriq14 = 1460; e.hiriq21 = 1460; e.hiriq2d = 1460; e.hiriqhebrew = 1460; e.hiriqnarrowhebrew = 1460; e.hiriqquarterhebrew = 1460; e.hiriqwidehebrew = 1460; e.hlinebelow = 7830; e.hmonospace = 65352; e.hoarmenian = 1392; e.hohipthai = 3627; e.hohiragana = 12411; e.hokatakana = 12507; e.hokatakanahalfwidth = 65422; e.holam = 1465; e.holam19 = 1465; e.holam26 = 1465; e.holam32 = 1465; e.holamhebrew = 1465; e.holamnarrowhebrew = 1465; e.holamquarterhebrew = 1465; e.holamwidehebrew = 1465; e.honokhukthai = 3630; e.hookabovecomb = 777; e.hookcmb = 777; e.hookpalatalizedbelowcmb = 801; e.hookretroflexbelowcmb = 802; e.hoonsquare = 13122; e.horicoptic = 1001; e.horizontalbar = 8213; e.horncmb = 795; e.hotsprings = 9832; e.house = 8962; e.hparen = 9379; e.hsuperior = 688; e.hturned = 613; e.huhiragana = 12405; e.huiitosquare = 13107; e.hukatakana = 12501; e.hukatakanahalfwidth = 65420; e.hungarumlaut = 733; e.hungarumlautcmb = 779; e.hv = 405; e.hyphen = 45; e.hypheninferior = 63205; e.hyphenmonospace = 65293; e.hyphensmall = 65123; e.hyphensuperior = 63206; e.hyphentwo = 8208; e.i = 105; e.iacute = 237; e.iacyrillic = 1103; e.ibengali = 2439; e.ibopomofo = 12583; e.ibreve = 301; e.icaron = 464; e.icircle = 9432; e.icircumflex = 238; e.icyrillic = 1110; e.idblgrave = 521; e.ideographearthcircle = 12943; e.ideographfirecircle = 12939; e.ideographicallianceparen = 12863; e.ideographiccallparen = 12858; e.ideographiccentrecircle = 12965; e.ideographicclose = 12294; e.ideographiccomma = 12289; e.ideographiccommaleft = 65380; e.ideographiccongratulationparen = 12855; e.ideographiccorrectcircle = 12963; e.ideographicearthparen = 12847; e.ideographicenterpriseparen = 12861; e.ideographicexcellentcircle = 12957; e.ideographicfestivalparen = 12864; e.ideographicfinancialcircle = 12950; e.ideographicfinancialparen = 12854; e.ideographicfireparen = 12843; e.ideographichaveparen = 12850; e.ideographichighcircle = 12964; e.ideographiciterationmark = 12293; e.ideographiclaborcircle = 12952; e.ideographiclaborparen = 12856; e.ideographicleftcircle = 12967; e.ideographiclowcircle = 12966; e.ideographicmedicinecircle = 12969; e.ideographicmetalparen = 12846; e.ideographicmoonparen = 12842; e.ideographicnameparen = 12852; e.ideographicperiod = 12290; e.ideographicprintcircle = 12958; e.ideographicreachparen = 12867; e.ideographicrepresentparen = 12857; e.ideographicresourceparen = 12862; e.ideographicrightcircle = 12968; e.ideographicsecretcircle = 12953; e.ideographicselfparen = 12866; e.ideographicsocietyparen = 12851; e.ideographicspace = 12288; e.ideographicspecialparen = 12853; e.ideographicstockparen = 12849; e.ideographicstudyparen = 12859; e.ideographicsunparen = 12848; e.ideographicsuperviseparen = 12860; e.ideographicwaterparen = 12844; e.ideographicwoodparen = 12845; e.ideographiczero = 12295; e.ideographmetalcircle = 12942; e.ideographmooncircle = 12938; e.ideographnamecircle = 12948; e.ideographsuncircle = 12944; e.ideographwatercircle = 12940; e.ideographwoodcircle = 12941; e.ideva = 2311; e.idieresis = 239; e.idieresisacute = 7727; e.idieresiscyrillic = 1253; e.idotbelow = 7883; e.iebrevecyrillic = 1239; e.iecyrillic = 1077; e.ieungacirclekorean = 12917; e.ieungaparenkorean = 12821; e.ieungcirclekorean = 12903; e.ieungkorean = 12615; e.ieungparenkorean = 12807; e.igrave = 236; e.igujarati = 2695; e.igurmukhi = 2567; e.ihiragana = 12356; e.ihookabove = 7881; e.iibengali = 2440; e.iicyrillic = 1080; e.iideva = 2312; e.iigujarati = 2696; e.iigurmukhi = 2568; e.iimatragurmukhi = 2624; e.iinvertedbreve = 523; e.iishortcyrillic = 1081; e.iivowelsignbengali = 2496; e.iivowelsigndeva = 2368; e.iivowelsigngujarati = 2752; e.ij = 307; e.ikatakana = 12452; e.ikatakanahalfwidth = 65394; e.ikorean = 12643; e.ilde = 732; e.iluyhebrew = 1452; e.imacron = 299; e.imacroncyrillic = 1251; e.imageorapproximatelyequal = 8787; e.imatragurmukhi = 2623; e.imonospace = 65353; e.increment = 8710; e.infinity = 8734; e.iniarmenian = 1387; e.integral = 8747; e.integralbottom = 8993; e.integralbt = 8993; e.integralex = 63733; e.integraltop = 8992; e.integraltp = 8992; e.intersection = 8745; e.intisquare = 13061; e.invbullet = 9688; e.invcircle = 9689; e.invsmileface = 9787; e.iocyrillic = 1105; e.iogonek = 303; e.iota = 953; e.iotadieresis = 970; e.iotadieresistonos = 912; e.iotalatin = 617; e.iotatonos = 943; e.iparen = 9380; e.irigurmukhi = 2674; e.ismallhiragana = 12355; e.ismallkatakana = 12451; e.ismallkatakanahalfwidth = 65384; e.issharbengali = 2554; e.istroke = 616; e.isuperior = 63213; e.iterationhiragana = 12445; e.iterationkatakana = 12541; e.itilde = 297; e.itildebelow = 7725; e.iubopomofo = 12585; e.iucyrillic = 1102; e.ivowelsignbengali = 2495; e.ivowelsigndeva = 2367; e.ivowelsigngujarati = 2751; e.izhitsacyrillic = 1141; e.izhitsadblgravecyrillic = 1143; e.j = 106; e.jaarmenian = 1393; e.jabengali = 2460; e.jadeva = 2332; e.jagujarati = 2716; e.jagurmukhi = 2588; e.jbopomofo = 12560; e.jcaron = 496; e.jcircle = 9433; e.jcircumflex = 309; e.jcrossedtail = 669; e.jdotlessstroke = 607; e.jecyrillic = 1112; e.jeemarabic = 1580; e.jeemfinalarabic = 65182; e.jeeminitialarabic = 65183; e.jeemmedialarabic = 65184; e.jeharabic = 1688; e.jehfinalarabic = 64395; e.jhabengali = 2461; e.jhadeva = 2333; e.jhagujarati = 2717; e.jhagurmukhi = 2589; e.jheharmenian = 1403; e.jis = 12292; e.jmonospace = 65354; e.jparen = 9381; e.jsuperior = 690; e.k = 107; e.kabashkircyrillic = 1185; e.kabengali = 2453; e.kacute = 7729; e.kacyrillic = 1082; e.kadescendercyrillic = 1179; e.kadeva = 2325; e.kaf = 1499; e.kafarabic = 1603; e.kafdagesh = 64315; e.kafdageshhebrew = 64315; e.kaffinalarabic = 65242; e.kafhebrew = 1499; e.kafinitialarabic = 65243; e.kafmedialarabic = 65244; e.kafrafehebrew = 64333; e.kagujarati = 2709; e.kagurmukhi = 2581; e.kahiragana = 12363; e.kahookcyrillic = 1220; e.kakatakana = 12459; e.kakatakanahalfwidth = 65398; e.kappa = 954; e.kappasymbolgreek = 1008; e.kapyeounmieumkorean = 12657; e.kapyeounphieuphkorean = 12676; e.kapyeounpieupkorean = 12664; e.kapyeounssangpieupkorean = 12665; e.karoriisquare = 13069; e.kashidaautoarabic = 1600; e.kashidaautonosidebearingarabic = 1600; e.kasmallkatakana = 12533; e.kasquare = 13188; e.kasraarabic = 1616; e.kasratanarabic = 1613; e.kastrokecyrillic = 1183; e.katahiraprolongmarkhalfwidth = 65392; e.kaverticalstrokecyrillic = 1181; e.kbopomofo = 12558; e.kcalsquare = 13193; e.kcaron = 489; e.kcedilla = 311; e.kcircle = 9434; e.kcommaaccent = 311; e.kdotbelow = 7731; e.keharmenian = 1412; e.kehiragana = 12369; e.kekatakana = 12465; e.kekatakanahalfwidth = 65401; e.kenarmenian = 1391; e.kesmallkatakana = 12534; e.kgreenlandic = 312; e.khabengali = 2454; e.khacyrillic = 1093; e.khadeva = 2326; e.khagujarati = 2710; e.khagurmukhi = 2582; e.khaharabic = 1582; e.khahfinalarabic = 65190; e.khahinitialarabic = 65191; e.khahmedialarabic = 65192; e.kheicoptic = 999; e.khhadeva = 2393; e.khhagurmukhi = 2649; e.khieukhacirclekorean = 12920; e.khieukhaparenkorean = 12824; e.khieukhcirclekorean = 12906; e.khieukhkorean = 12619; e.khieukhparenkorean = 12810; e.khokhaithai = 3586; e.khokhonthai = 3589; e.khokhuatthai = 3587; e.khokhwaithai = 3588; e.khomutthai = 3675; e.khook = 409; e.khorakhangthai = 3590; e.khzsquare = 13201; e.kihiragana = 12365; e.kikatakana = 12461; e.kikatakanahalfwidth = 65399; e.kiroguramusquare = 13077; e.kiromeetorusquare = 13078; e.kirosquare = 13076; e.kiyeokacirclekorean = 12910; e.kiyeokaparenkorean = 12814; e.kiyeokcirclekorean = 12896; e.kiyeokkorean = 12593; e.kiyeokparenkorean = 12800; e.kiyeoksioskorean = 12595; e.kjecyrillic = 1116; e.klinebelow = 7733; e.klsquare = 13208; e.kmcubedsquare = 13222; e.kmonospace = 65355; e.kmsquaredsquare = 13218; e.kohiragana = 12371; e.kohmsquare = 13248; e.kokaithai = 3585; e.kokatakana = 12467; e.kokatakanahalfwidth = 65402; e.kooposquare = 13086; e.koppacyrillic = 1153; e.koreanstandardsymbol = 12927; e.koroniscmb = 835; e.kparen = 9382; e.kpasquare = 13226; e.ksicyrillic = 1135; e.ktsquare = 13263; e.kturned = 670; e.kuhiragana = 12367; e.kukatakana = 12463; e.kukatakanahalfwidth = 65400; e.kvsquare = 13240; e.kwsquare = 13246; e.l = 108; e.labengali = 2482; e.lacute = 314; e.ladeva = 2354; e.lagujarati = 2738; e.lagurmukhi = 2610; e.lakkhangyaothai = 3653; e.lamaleffinalarabic = 65276; e.lamalefhamzaabovefinalarabic = 65272; e.lamalefhamzaaboveisolatedarabic = 65271; e.lamalefhamzabelowfinalarabic = 65274; e.lamalefhamzabelowisolatedarabic = 65273; e.lamalefisolatedarabic = 65275; e.lamalefmaddaabovefinalarabic = 65270; e.lamalefmaddaaboveisolatedarabic = 65269; e.lamarabic = 1604; e.lambda = 955; e.lambdastroke = 411; e.lamed = 1500; e.lameddagesh = 64316; e.lameddageshhebrew = 64316; e.lamedhebrew = 1500; e.lamfinalarabic = 65246; e.lamhahinitialarabic = 64714; e.laminitialarabic = 65247; e.lamjeeminitialarabic = 64713; e.lamkhahinitialarabic = 64715; e.lamlamhehisolatedarabic = 65010; e.lammedialarabic = 65248; e.lammeemhahinitialarabic = 64904; e.lammeeminitialarabic = 64716; e.largecircle = 9711; e.lbar = 410; e.lbelt = 620; e.lbopomofo = 12556; e.lcaron = 318; e.lcedilla = 316; e.lcircle = 9435; e.lcircumflexbelow = 7741; e.lcommaaccent = 316; e.ldot = 320; e.ldotaccent = 320; e.ldotbelow = 7735; e.ldotbelowmacron = 7737; e.leftangleabovecmb = 794; e.lefttackbelowcmb = 792; e.less = 60; e.lessequal = 8804; e.lessequalorgreater = 8922; e.lessmonospace = 65308; e.lessorequivalent = 8818; e.lessorgreater = 8822; e.lessoverequal = 8806; e.lesssmall = 65124; e.lezh = 622; e.lfblock = 9612; e.lhookretroflex = 621; e.lira = 8356; e.liwnarmenian = 1388; e.lj = 457; e.ljecyrillic = 1113; e.ll = 63168; e.lladeva = 2355; e.llagujarati = 2739; e.llinebelow = 7739; e.llladeva = 2356; e.llvocalicbengali = 2529; e.llvocalicdeva = 2401; e.llvocalicvowelsignbengali = 2531; e.llvocalicvowelsigndeva = 2403; e.lmiddletilde = 619; e.lmonospace = 65356; e.lmsquare = 13264; e.lochulathai = 3628; e.logicaland = 8743; e.logicalnot = 172; e.logicalnotreversed = 8976; e.logicalor = 8744; e.lolingthai = 3621; e.longs = 383; e.lowlinecenterline = 65102; e.lowlinecmb = 818; e.lowlinedashed = 65101; e.lozenge = 9674; e.lparen = 9383; e.lslash = 322; e.lsquare = 8467; e.lsuperior = 63214; e.ltshade = 9617; e.luthai = 3622; e.lvocalicbengali = 2444; e.lvocalicdeva = 2316; e.lvocalicvowelsignbengali = 2530; e.lvocalicvowelsigndeva = 2402; e.lxsquare = 13267; e.m = 109; e.mabengali = 2478; e.macron = 175; e.macronbelowcmb = 817; e.macroncmb = 772; e.macronlowmod = 717; e.macronmonospace = 65507; e.macute = 7743; e.madeva = 2350; e.magujarati = 2734; e.magurmukhi = 2606; e.mahapakhhebrew = 1444; e.mahapakhlefthebrew = 1444; e.mahiragana = 12414; e.maichattawalowleftthai = 63637; e.maichattawalowrightthai = 63636; e.maichattawathai = 3659; e.maichattawaupperleftthai = 63635; e.maieklowleftthai = 63628; e.maieklowrightthai = 63627; e.maiekthai = 3656; e.maiekupperleftthai = 63626; e.maihanakatleftthai = 63620; e.maihanakatthai = 3633; e.maitaikhuleftthai = 63625; e.maitaikhuthai = 3655; e.maitholowleftthai = 63631; e.maitholowrightthai = 63630; e.maithothai = 3657; e.maithoupperleftthai = 63629; e.maitrilowleftthai = 63634; e.maitrilowrightthai = 63633; e.maitrithai = 3658; e.maitriupperleftthai = 63632; e.maiyamokthai = 3654; e.makatakana = 12510; e.makatakanahalfwidth = 65423; e.male = 9794; e.mansyonsquare = 13127; e.maqafhebrew = 1470; e.mars = 9794; e.masoracirclehebrew = 1455; e.masquare = 13187; e.mbopomofo = 12551; e.mbsquare = 13268; e.mcircle = 9436; e.mcubedsquare = 13221; e.mdotaccent = 7745; e.mdotbelow = 7747; e.meemarabic = 1605; e.meemfinalarabic = 65250; e.meeminitialarabic = 65251; e.meemmedialarabic = 65252; e.meemmeeminitialarabic = 64721; e.meemmeemisolatedarabic = 64584; e.meetorusquare = 13133; e.mehiragana = 12417; e.meizierasquare = 13182; e.mekatakana = 12513; e.mekatakanahalfwidth = 65426; e.mem = 1502; e.memdagesh = 64318; e.memdageshhebrew = 64318; e.memhebrew = 1502; e.menarmenian = 1396; e.merkhahebrew = 1445; e.merkhakefulahebrew = 1446; e.merkhakefulalefthebrew = 1446; e.merkhalefthebrew = 1445; e.mhook = 625; e.mhzsquare = 13202; e.middledotkatakanahalfwidth = 65381; e.middot = 183; e.mieumacirclekorean = 12914; e.mieumaparenkorean = 12818; e.mieumcirclekorean = 12900; e.mieumkorean = 12609; e.mieumpansioskorean = 12656; e.mieumparenkorean = 12804; e.mieumpieupkorean = 12654; e.mieumsioskorean = 12655; e.mihiragana = 12415; e.mikatakana = 12511; e.mikatakanahalfwidth = 65424; e.minus = 8722; e.minusbelowcmb = 800; e.minuscircle = 8854; e.minusmod = 727; e.minusplus = 8723; e.minute = 8242; e.miribaarusquare = 13130; e.mirisquare = 13129; e.mlonglegturned = 624; e.mlsquare = 13206; e.mmcubedsquare = 13219; e.mmonospace = 65357; e.mmsquaredsquare = 13215; e.mohiragana = 12418; e.mohmsquare = 13249; e.mokatakana = 12514; e.mokatakanahalfwidth = 65427; e.molsquare = 13270; e.momathai = 3617; e.moverssquare = 13223; e.moverssquaredsquare = 13224; e.mparen = 9384; e.mpasquare = 13227; e.mssquare = 13235; e.msuperior = 63215; e.mturned = 623; e.mu = 181; e.mu1 = 181; e.muasquare = 13186; e.muchgreater = 8811; e.muchless = 8810; e.mufsquare = 13196; e.mugreek = 956; e.mugsquare = 13197; e.muhiragana = 12416; e.mukatakana = 12512; e.mukatakanahalfwidth = 65425; e.mulsquare = 13205; e.multiply = 215; e.mumsquare = 13211; e.munahhebrew = 1443; e.munahlefthebrew = 1443; e.musicalnote = 9834; e.musicalnotedbl = 9835; e.musicflatsign = 9837; e.musicsharpsign = 9839; e.mussquare = 13234; e.muvsquare = 13238; e.muwsquare = 13244; e.mvmegasquare = 13241; e.mvsquare = 13239; e.mwmegasquare = 13247; e.mwsquare = 13245; e.n = 110; e.nabengali = 2472; e.nabla = 8711; e.nacute = 324; e.nadeva = 2344; e.nagujarati = 2728; e.nagurmukhi = 2600; e.nahiragana = 12394; e.nakatakana = 12490; e.nakatakanahalfwidth = 65413; e.napostrophe = 329; e.nasquare = 13185; e.nbopomofo = 12555; e.nbspace = 160; e.ncaron = 328; e.ncedilla = 326; e.ncircle = 9437; e.ncircumflexbelow = 7755; e.ncommaaccent = 326; e.ndotaccent = 7749; e.ndotbelow = 7751; e.nehiragana = 12397; e.nekatakana = 12493; e.nekatakanahalfwidth = 65416; e.newsheqelsign = 8362; e.nfsquare = 13195; e.ngabengali = 2457; e.ngadeva = 2329; e.ngagujarati = 2713; e.ngagurmukhi = 2585; e.ngonguthai = 3591; e.nhiragana = 12435; e.nhookleft = 626; e.nhookretroflex = 627; e.nieunacirclekorean = 12911; e.nieunaparenkorean = 12815; e.nieuncieuckorean = 12597; e.nieuncirclekorean = 12897; e.nieunhieuhkorean = 12598; e.nieunkorean = 12596; e.nieunpansioskorean = 12648; e.nieunparenkorean = 12801; e.nieunsioskorean = 12647; e.nieuntikeutkorean = 12646; e.nihiragana = 12395; e.nikatakana = 12491; e.nikatakanahalfwidth = 65414; e.nikhahitleftthai = 63641; e.nikhahitthai = 3661; e.nine = 57; e.ninearabic = 1641; e.ninebengali = 2543; e.ninecircle = 9320; e.ninecircleinversesansserif = 10130; e.ninedeva = 2415; e.ninegujarati = 2799; e.ninegurmukhi = 2671; e.ninehackarabic = 1641; e.ninehangzhou = 12329; e.nineideographicparen = 12840; e.nineinferior = 8329; e.ninemonospace = 65305; e.nineoldstyle = 63289; e.nineparen = 9340; e.nineperiod = 9360; e.ninepersian = 1785; e.nineroman = 8568; e.ninesuperior = 8313; e.nineteencircle = 9330; e.nineteenparen = 9350; e.nineteenperiod = 9370; e.ninethai = 3673; e.nj = 460; e.njecyrillic = 1114; e.nkatakana = 12531; e.nkatakanahalfwidth = 65437; e.nlegrightlong = 414; e.nlinebelow = 7753; e.nmonospace = 65358; e.nmsquare = 13210; e.nnabengali = 2467; e.nnadeva = 2339; e.nnagujarati = 2723; e.nnagurmukhi = 2595; e.nnnadeva = 2345; e.nohiragana = 12398; e.nokatakana = 12494; e.nokatakanahalfwidth = 65417; e.nonbreakingspace = 160; e.nonenthai = 3603; e.nonuthai = 3609; e.noonarabic = 1606; e.noonfinalarabic = 65254; e.noonghunnaarabic = 1722; e.noonghunnafinalarabic = 64415; e.nooninitialarabic = 65255; e.noonjeeminitialarabic = 64722; e.noonjeemisolatedarabic = 64587; e.noonmedialarabic = 65256; e.noonmeeminitialarabic = 64725; e.noonmeemisolatedarabic = 64590; e.noonnoonfinalarabic = 64653; e.notcontains = 8716; e.notelement = 8713; e.notelementof = 8713; e.notequal = 8800; e.notgreater = 8815; e.notgreaternorequal = 8817; e.notgreaternorless = 8825; e.notidentical = 8802; e.notless = 8814; e.notlessnorequal = 8816; e.notparallel = 8742; e.notprecedes = 8832; e.notsubset = 8836; e.notsucceeds = 8833; e.notsuperset = 8837; e.nowarmenian = 1398; e.nparen = 9385; e.nssquare = 13233; e.nsuperior = 8319; e.ntilde = 241; e.nu = 957; e.nuhiragana = 12396; e.nukatakana = 12492; e.nukatakanahalfwidth = 65415; e.nuktabengali = 2492; e.nuktadeva = 2364; e.nuktagujarati = 2748; e.nuktagurmukhi = 2620; e.numbersign = 35; e.numbersignmonospace = 65283; e.numbersignsmall = 65119; e.numeralsigngreek = 884; e.numeralsignlowergreek = 885; e.numero = 8470; e.nun = 1504; e.nundagesh = 64320; e.nundageshhebrew = 64320; e.nunhebrew = 1504; e.nvsquare = 13237; e.nwsquare = 13243; e.nyabengali = 2462; e.nyadeva = 2334; e.nyagujarati = 2718; e.nyagurmukhi = 2590; e.o = 111; e.oacute = 243; e.oangthai = 3629; e.obarred = 629; e.obarredcyrillic = 1257; e.obarreddieresiscyrillic = 1259; e.obengali = 2451; e.obopomofo = 12571; e.obreve = 335; e.ocandradeva = 2321; e.ocandragujarati = 2705; e.ocandravowelsigndeva = 2377; e.ocandravowelsigngujarati = 2761; e.ocaron = 466; e.ocircle = 9438; e.ocircumflex = 244; e.ocircumflexacute = 7889; e.ocircumflexdotbelow = 7897; e.ocircumflexgrave = 7891; e.ocircumflexhookabove = 7893; e.ocircumflextilde = 7895; e.ocyrillic = 1086; e.odblacute = 337; e.odblgrave = 525; e.odeva = 2323; e.odieresis = 246; e.odieresiscyrillic = 1255; e.odotbelow = 7885; e.oe = 339; e.oekorean = 12634; e.ogonek = 731; e.ogonekcmb = 808; e.ograve = 242; e.ogujarati = 2707; e.oharmenian = 1413; e.ohiragana = 12362; e.ohookabove = 7887; e.ohorn = 417; e.ohornacute = 7899; e.ohorndotbelow = 7907; e.ohorngrave = 7901; e.ohornhookabove = 7903; e.ohorntilde = 7905; e.ohungarumlaut = 337; e.oi = 419; e.oinvertedbreve = 527; e.okatakana = 12458; e.okatakanahalfwidth = 65397; e.okorean = 12631; e.olehebrew = 1451; e.omacron = 333; e.omacronacute = 7763; e.omacrongrave = 7761; e.omdeva = 2384; e.omega = 969; e.omega1 = 982; e.omegacyrillic = 1121; e.omegalatinclosed = 631; e.omegaroundcyrillic = 1147; e.omegatitlocyrillic = 1149; e.omegatonos = 974; e.omgujarati = 2768; e.omicron = 959; e.omicrontonos = 972; e.omonospace = 65359; e.one = 49; e.onearabic = 1633; e.onebengali = 2535; e.onecircle = 9312; e.onecircleinversesansserif = 10122; e.onedeva = 2407; e.onedotenleader = 8228; e.oneeighth = 8539; e.onefitted = 63196; e.onegujarati = 2791; e.onegurmukhi = 2663; e.onehackarabic = 1633; e.onehalf = 189; e.onehangzhou = 12321; e.oneideographicparen = 12832; e.oneinferior = 8321; e.onemonospace = 65297; e.onenumeratorbengali = 2548; e.oneoldstyle = 63281; e.oneparen = 9332; e.oneperiod = 9352; e.onepersian = 1777; e.onequarter = 188; e.oneroman = 8560; e.onesuperior = 185; e.onethai = 3665; e.onethird = 8531; e.oogonek = 491; e.oogonekmacron = 493; e.oogurmukhi = 2579; e.oomatragurmukhi = 2635; e.oopen = 596; e.oparen = 9386; e.openbullet = 9702; e.option = 8997; e.ordfeminine = 170; e.ordmasculine = 186; e.orthogonal = 8735; e.oshortdeva = 2322; e.oshortvowelsigndeva = 2378; e.oslash = 248; e.oslashacute = 511; e.osmallhiragana = 12361; e.osmallkatakana = 12457; e.osmallkatakanahalfwidth = 65387; e.ostrokeacute = 511; e.osuperior = 63216; e.otcyrillic = 1151; e.otilde = 245; e.otildeacute = 7757; e.otildedieresis = 7759; e.oubopomofo = 12577; e.overline = 8254; e.overlinecenterline = 65098; e.overlinecmb = 773; e.overlinedashed = 65097; e.overlinedblwavy = 65100; e.overlinewavy = 65099; e.overscore = 175; e.ovowelsignbengali = 2507; e.ovowelsigndeva = 2379; e.ovowelsigngujarati = 2763; e.p = 112; e.paampssquare = 13184; e.paasentosquare = 13099; e.pabengali = 2474; e.pacute = 7765; e.padeva = 2346; e.pagedown = 8671; e.pageup = 8670; e.pagujarati = 2730; e.pagurmukhi = 2602; e.pahiragana = 12401; e.paiyannoithai = 3631; e.pakatakana = 12497; e.palatalizationcyrilliccmb = 1156; e.palochkacyrillic = 1216; e.pansioskorean = 12671; e.paragraph = 182; e.parallel = 8741; e.parenleft = 40; e.parenleftaltonearabic = 64830; e.parenleftbt = 63725; e.parenleftex = 63724; e.parenleftinferior = 8333; e.parenleftmonospace = 65288; e.parenleftsmall = 65113; e.parenleftsuperior = 8317; e.parenlefttp = 63723; e.parenleftvertical = 65077; e.parenright = 41; e.parenrightaltonearabic = 64831; e.parenrightbt = 63736; e.parenrightex = 63735; e.parenrightinferior = 8334; e.parenrightmonospace = 65289; e.parenrightsmall = 65114; e.parenrightsuperior = 8318; e.parenrighttp = 63734; e.parenrightvertical = 65078; e.partialdiff = 8706; e.paseqhebrew = 1472; e.pashtahebrew = 1433; e.pasquare = 13225; e.patah = 1463; e.patah11 = 1463; e.patah1d = 1463; e.patah2a = 1463; e.patahhebrew = 1463; e.patahnarrowhebrew = 1463; e.patahquarterhebrew = 1463; e.patahwidehebrew = 1463; e.pazerhebrew = 1441; e.pbopomofo = 12550; e.pcircle = 9439; e.pdotaccent = 7767; e.pe = 1508; e.pecyrillic = 1087; e.pedagesh = 64324; e.pedageshhebrew = 64324; e.peezisquare = 13115; e.pefinaldageshhebrew = 64323; e.peharabic = 1662; e.peharmenian = 1402; e.pehebrew = 1508; e.pehfinalarabic = 64343; e.pehinitialarabic = 64344; e.pehiragana = 12410; e.pehmedialarabic = 64345; e.pekatakana = 12506; e.pemiddlehookcyrillic = 1191; e.perafehebrew = 64334; e.percent = 37; e.percentarabic = 1642; e.percentmonospace = 65285; e.percentsmall = 65130; e.period = 46; e.periodarmenian = 1417; e.periodcentered = 183; e.periodhalfwidth = 65377; e.periodinferior = 63207; e.periodmonospace = 65294; e.periodsmall = 65106; e.periodsuperior = 63208; e.perispomenigreekcmb = 834; e.perpendicular = 8869; e.perthousand = 8240; e.peseta = 8359; e.pfsquare = 13194; e.phabengali = 2475; e.phadeva = 2347; e.phagujarati = 2731; e.phagurmukhi = 2603; e.phi = 966; e.phi1 = 981; e.phieuphacirclekorean = 12922; e.phieuphaparenkorean = 12826; e.phieuphcirclekorean = 12908; e.phieuphkorean = 12621; e.phieuphparenkorean = 12812; e.philatin = 632; e.phinthuthai = 3642; e.phisymbolgreek = 981; e.phook = 421; e.phophanthai = 3614; e.phophungthai = 3612; e.phosamphaothai = 3616; e.pi = 960; e.pieupacirclekorean = 12915; e.pieupaparenkorean = 12819; e.pieupcieuckorean = 12662; e.pieupcirclekorean = 12901; e.pieupkiyeokkorean = 12658; e.pieupkorean = 12610; e.pieupparenkorean = 12805; e.pieupsioskiyeokkorean = 12660; e.pieupsioskorean = 12612; e.pieupsiostikeutkorean = 12661; e.pieupthieuthkorean = 12663; e.pieuptikeutkorean = 12659; e.pihiragana = 12404; e.pikatakana = 12500; e.pisymbolgreek = 982; e.piwrarmenian = 1411; e.planckover2pi = 8463; e.planckover2pi1 = 8463; e.plus = 43; e.plusbelowcmb = 799; e.pluscircle = 8853; e.plusminus = 177; e.plusmod = 726; e.plusmonospace = 65291; e.plussmall = 65122; e.plussuperior = 8314; e.pmonospace = 65360; e.pmsquare = 13272; e.pohiragana = 12413; e.pointingindexdownwhite = 9759; e.pointingindexleftwhite = 9756; e.pointingindexrightwhite = 9758; e.pointingindexupwhite = 9757; e.pokatakana = 12509; e.poplathai = 3611; e.postalmark = 12306; e.postalmarkface = 12320; e.pparen = 9387; e.precedes = 8826; e.prescription = 8478; e.primemod = 697; e.primereversed = 8245; e.product = 8719; e.projective = 8965; e.prolongedkana = 12540; e.propellor = 8984; e.propersubset = 8834; e.propersuperset = 8835; e.proportion = 8759; e.proportional = 8733; e.psi = 968; e.psicyrillic = 1137; e.psilipneumatacyrilliccmb = 1158; e.pssquare = 13232; e.puhiragana = 12407; e.pukatakana = 12503; e.pvsquare = 13236; e.pwsquare = 13242; e.q = 113; e.qadeva = 2392; e.qadmahebrew = 1448; e.qafarabic = 1602; e.qaffinalarabic = 65238; e.qafinitialarabic = 65239; e.qafmedialarabic = 65240; e.qamats = 1464; e.qamats10 = 1464; e.qamats1a = 1464; e.qamats1c = 1464; e.qamats27 = 1464; e.qamats29 = 1464; e.qamats33 = 1464; e.qamatsde = 1464; e.qamatshebrew = 1464; e.qamatsnarrowhebrew = 1464; e.qamatsqatanhebrew = 1464; e.qamatsqatannarrowhebrew = 1464; e.qamatsqatanquarterhebrew = 1464; e.qamatsqatanwidehebrew = 1464; e.qamatsquarterhebrew = 1464; e.qamatswidehebrew = 1464; e.qarneyparahebrew = 1439; e.qbopomofo = 12561; e.qcircle = 9440; e.qhook = 672; e.qmonospace = 65361; e.qof = 1511; e.qofdagesh = 64327; e.qofdageshhebrew = 64327; e.qofhebrew = 1511; e.qparen = 9388; e.quarternote = 9833; e.qubuts = 1467; e.qubuts18 = 1467; e.qubuts25 = 1467; e.qubuts31 = 1467; e.qubutshebrew = 1467; e.qubutsnarrowhebrew = 1467; e.qubutsquarterhebrew = 1467; e.qubutswidehebrew = 1467; e.question = 63; e.questionarabic = 1567; e.questionarmenian = 1374; e.questiondown = 191; e.questiondownsmall = 63423; e.questiongreek = 894; e.questionmonospace = 65311; e.questionsmall = 63295; e.quotedbl = 34; e.quotedblbase = 8222; e.quotedblleft = 8220; e.quotedblmonospace = 65282; e.quotedblprime = 12318; e.quotedblprimereversed = 12317; e.quotedblright = 8221; e.quoteleft = 8216; e.quoteleftreversed = 8219; e.quotereversed = 8219; e.quoteright = 8217; e.quoterightn = 329; e.quotesinglbase = 8218; e.quotesingle = 39; e.quotesinglemonospace = 65287; e.r = 114; e.raarmenian = 1404; e.rabengali = 2480; e.racute = 341; e.radeva = 2352; e.radical = 8730; e.radicalex = 63717; e.radoverssquare = 13230; e.radoverssquaredsquare = 13231; e.radsquare = 13229; e.rafe = 1471; e.rafehebrew = 1471; e.ragujarati = 2736; e.ragurmukhi = 2608; e.rahiragana = 12425; e.rakatakana = 12521; e.rakatakanahalfwidth = 65431; e.ralowerdiagonalbengali = 2545; e.ramiddlediagonalbengali = 2544; e.ramshorn = 612; e.ratio = 8758; e.rbopomofo = 12566; e.rcaron = 345; e.rcedilla = 343; e.rcircle = 9441; e.rcommaaccent = 343; e.rdblgrave = 529; e.rdotaccent = 7769; e.rdotbelow = 7771; e.rdotbelowmacron = 7773; e.referencemark = 8251; e.reflexsubset = 8838; e.reflexsuperset = 8839; e.registered = 174; e.registersans = 63720; e.registerserif = 63194; e.reharabic = 1585; e.reharmenian = 1408; e.rehfinalarabic = 65198; e.rehiragana = 12428; e.rekatakana = 12524; e.rekatakanahalfwidth = 65434; e.resh = 1512; e.reshdageshhebrew = 64328; e.reshhebrew = 1512; e.reversedtilde = 8765; e.reviahebrew = 1431; e.reviamugrashhebrew = 1431; e.revlogicalnot = 8976; e.rfishhook = 638; e.rfishhookreversed = 639; e.rhabengali = 2525; e.rhadeva = 2397; e.rho = 961; e.rhook = 637; e.rhookturned = 635; e.rhookturnedsuperior = 693; e.rhosymbolgreek = 1009; e.rhotichookmod = 734; e.rieulacirclekorean = 12913; e.rieulaparenkorean = 12817; e.rieulcirclekorean = 12899; e.rieulhieuhkorean = 12608; e.rieulkiyeokkorean = 12602; e.rieulkiyeoksioskorean = 12649; e.rieulkorean = 12601; e.rieulmieumkorean = 12603; e.rieulpansioskorean = 12652; e.rieulparenkorean = 12803; e.rieulphieuphkorean = 12607; e.rieulpieupkorean = 12604; e.rieulpieupsioskorean = 12651; e.rieulsioskorean = 12605; e.rieulthieuthkorean = 12606; e.rieultikeutkorean = 12650; e.rieulyeorinhieuhkorean = 12653; e.rightangle = 8735; e.righttackbelowcmb = 793; e.righttriangle = 8895; e.rihiragana = 12426; e.rikatakana = 12522; e.rikatakanahalfwidth = 65432; e.ring = 730; e.ringbelowcmb = 805; e.ringcmb = 778; e.ringhalfleft = 703; e.ringhalfleftarmenian = 1369; e.ringhalfleftbelowcmb = 796; e.ringhalfleftcentered = 723; e.ringhalfright = 702; e.ringhalfrightbelowcmb = 825; e.ringhalfrightcentered = 722; e.rinvertedbreve = 531; e.rittorusquare = 13137; e.rlinebelow = 7775; e.rlongleg = 636; e.rlonglegturned = 634; e.rmonospace = 65362; e.rohiragana = 12429; e.rokatakana = 12525; e.rokatakanahalfwidth = 65435; e.roruathai = 3619; e.rparen = 9389; e.rrabengali = 2524; e.rradeva = 2353; e.rragurmukhi = 2652; e.rreharabic = 1681; e.rrehfinalarabic = 64397; e.rrvocalicbengali = 2528; e.rrvocalicdeva = 2400; e.rrvocalicgujarati = 2784; e.rrvocalicvowelsignbengali = 2500; e.rrvocalicvowelsigndeva = 2372; e.rrvocalicvowelsigngujarati = 2756; e.rsuperior = 63217; e.rtblock = 9616; e.rturned = 633; e.rturnedsuperior = 692; e.ruhiragana = 12427; e.rukatakana = 12523; e.rukatakanahalfwidth = 65433; e.rupeemarkbengali = 2546; e.rupeesignbengali = 2547; e.rupiah = 63197; e.ruthai = 3620; e.rvocalicbengali = 2443; e.rvocalicdeva = 2315; e.rvocalicgujarati = 2699; e.rvocalicvowelsignbengali = 2499; e.rvocalicvowelsigndeva = 2371; e.rvocalicvowelsigngujarati = 2755; e.s = 115; e.sabengali = 2488; e.sacute = 347; e.sacutedotaccent = 7781; e.sadarabic = 1589; e.sadeva = 2360; e.sadfinalarabic = 65210; e.sadinitialarabic = 65211; e.sadmedialarabic = 65212; e.sagujarati = 2744; e.sagurmukhi = 2616; e.sahiragana = 12373; e.sakatakana = 12469; e.sakatakanahalfwidth = 65403; e.sallallahoualayhewasallamarabic = 65018; e.samekh = 1505; e.samekhdagesh = 64321; e.samekhdageshhebrew = 64321; e.samekhhebrew = 1505; e.saraaathai = 3634; e.saraaethai = 3649; e.saraaimaimalaithai = 3652; e.saraaimaimuanthai = 3651; e.saraamthai = 3635; e.saraathai = 3632; e.saraethai = 3648; e.saraiileftthai = 63622; e.saraiithai = 3637; e.saraileftthai = 63621; e.saraithai = 3636; e.saraothai = 3650; e.saraueeleftthai = 63624; e.saraueethai = 3639; e.saraueleftthai = 63623; e.sarauethai = 3638; e.sarauthai = 3640; e.sarauuthai = 3641; e.sbopomofo = 12569; e.scaron = 353; e.scarondotaccent = 7783; e.scedilla = 351; e.schwa = 601; e.schwacyrillic = 1241; e.schwadieresiscyrillic = 1243; e.schwahook = 602; e.scircle = 9442; e.scircumflex = 349; e.scommaaccent = 537; e.sdotaccent = 7777; e.sdotbelow = 7779; e.sdotbelowdotaccent = 7785; e.seagullbelowcmb = 828; e.second = 8243; e.secondtonechinese = 714; e.section = 167; e.seenarabic = 1587; e.seenfinalarabic = 65202; e.seeninitialarabic = 65203; e.seenmedialarabic = 65204; e.segol = 1462; e.segol13 = 1462; e.segol1f = 1462; e.segol2c = 1462; e.segolhebrew = 1462; e.segolnarrowhebrew = 1462; e.segolquarterhebrew = 1462; e.segoltahebrew = 1426; e.segolwidehebrew = 1462; e.seharmenian = 1405; e.sehiragana = 12379; e.sekatakana = 12475; e.sekatakanahalfwidth = 65406; e.semicolon = 59; e.semicolonarabic = 1563; e.semicolonmonospace = 65307; e.semicolonsmall = 65108; e.semivoicedmarkkana = 12444; e.semivoicedmarkkanahalfwidth = 65439; e.sentisquare = 13090; e.sentosquare = 13091; e.seven = 55; e.sevenarabic = 1639; e.sevenbengali = 2541; e.sevencircle = 9318; e.sevencircleinversesansserif = 10128; e.sevendeva = 2413; e.seveneighths = 8542; e.sevengujarati = 2797; e.sevengurmukhi = 2669; e.sevenhackarabic = 1639; e.sevenhangzhou = 12327; e.sevenideographicparen = 12838; e.seveninferior = 8327; e.sevenmonospace = 65303; e.sevenoldstyle = 63287; e.sevenparen = 9338; e.sevenperiod = 9358; e.sevenpersian = 1783; e.sevenroman = 8566; e.sevensuperior = 8311; e.seventeencircle = 9328; e.seventeenparen = 9348; e.seventeenperiod = 9368; e.seventhai = 3671; e.sfthyphen = 173; e.shaarmenian = 1399; e.shabengali = 2486; e.shacyrillic = 1096; e.shaddaarabic = 1617; e.shaddadammaarabic = 64609; e.shaddadammatanarabic = 64606; e.shaddafathaarabic = 64608; e.shaddakasraarabic = 64610; e.shaddakasratanarabic = 64607; e.shade = 9618; e.shadedark = 9619; e.shadelight = 9617; e.shademedium = 9618; e.shadeva = 2358; e.shagujarati = 2742; e.shagurmukhi = 2614; e.shalshelethebrew = 1427; e.shbopomofo = 12565; e.shchacyrillic = 1097; e.sheenarabic = 1588; e.sheenfinalarabic = 65206; e.sheeninitialarabic = 65207; e.sheenmedialarabic = 65208; e.sheicoptic = 995; e.sheqel = 8362; e.sheqelhebrew = 8362; e.sheva = 1456; e.sheva115 = 1456; e.sheva15 = 1456; e.sheva22 = 1456; e.sheva2e = 1456; e.shevahebrew = 1456; e.shevanarrowhebrew = 1456; e.shevaquarterhebrew = 1456; e.shevawidehebrew = 1456; e.shhacyrillic = 1211; e.shimacoptic = 1005; e.shin = 1513; e.shindagesh = 64329; e.shindageshhebrew = 64329; e.shindageshshindot = 64300; e.shindageshshindothebrew = 64300; e.shindageshsindot = 64301; e.shindageshsindothebrew = 64301; e.shindothebrew = 1473; e.shinhebrew = 1513; e.shinshindot = 64298; e.shinshindothebrew = 64298; e.shinsindot = 64299; e.shinsindothebrew = 64299; e.shook = 642; e.sigma = 963; e.sigma1 = 962; e.sigmafinal = 962; e.sigmalunatesymbolgreek = 1010; e.sihiragana = 12375; e.sikatakana = 12471; e.sikatakanahalfwidth = 65404; e.siluqhebrew = 1469; e.siluqlefthebrew = 1469; e.similar = 8764; e.sindothebrew = 1474; e.siosacirclekorean = 12916; e.siosaparenkorean = 12820; e.sioscieuckorean = 12670; e.sioscirclekorean = 12902; e.sioskiyeokkorean = 12666; e.sioskorean = 12613; e.siosnieunkorean = 12667; e.siosparenkorean = 12806; e.siospieupkorean = 12669; e.siostikeutkorean = 12668; e.six = 54; e.sixarabic = 1638; e.sixbengali = 2540; e.sixcircle = 9317; e.sixcircleinversesansserif = 10127; e.sixdeva = 2412; e.sixgujarati = 2796; e.sixgurmukhi = 2668; e.sixhackarabic = 1638; e.sixhangzhou = 12326; e.sixideographicparen = 12837; e.sixinferior = 8326; e.sixmonospace = 65302; e.sixoldstyle = 63286; e.sixparen = 9337; e.sixperiod = 9357; e.sixpersian = 1782; e.sixroman = 8565; e.sixsuperior = 8310; e.sixteencircle = 9327; e.sixteencurrencydenominatorbengali = 2553; e.sixteenparen = 9347; e.sixteenperiod = 9367; e.sixthai = 3670; e.slash = 47; e.slashmonospace = 65295; e.slong = 383; e.slongdotaccent = 7835; e.smileface = 9786; e.smonospace = 65363; e.sofpasuqhebrew = 1475; e.softhyphen = 173; e.softsigncyrillic = 1100; e.sohiragana = 12381; e.sokatakana = 12477; e.sokatakanahalfwidth = 65407; e.soliduslongoverlaycmb = 824; e.solidusshortoverlaycmb = 823; e.sorusithai = 3625; e.sosalathai = 3624; e.sosothai = 3595; e.sosuathai = 3626; e.space = 32; e.spacehackarabic = 32; e.spade = 9824; e.spadesuitblack = 9824; e.spadesuitwhite = 9828; e.sparen = 9390; e.squarebelowcmb = 827; e.squarecc = 13252; e.squarecm = 13213; e.squarediagonalcrosshatchfill = 9641; e.squarehorizontalfill = 9636; e.squarekg = 13199; e.squarekm = 13214; e.squarekmcapital = 13262; e.squareln = 13265; e.squarelog = 13266; e.squaremg = 13198; e.squaremil = 13269; e.squaremm = 13212; e.squaremsquared = 13217; e.squareorthogonalcrosshatchfill = 9638; e.squareupperlefttolowerrightfill = 9639; e.squareupperrighttolowerleftfill = 9640; e.squareverticalfill = 9637; e.squarewhitewithsmallblack = 9635; e.srsquare = 13275; e.ssabengali = 2487; e.ssadeva = 2359; e.ssagujarati = 2743; e.ssangcieuckorean = 12617; e.ssanghieuhkorean = 12677; e.ssangieungkorean = 12672; e.ssangkiyeokkorean = 12594; e.ssangnieunkorean = 12645; e.ssangpieupkorean = 12611; e.ssangsioskorean = 12614; e.ssangtikeutkorean = 12600; e.ssuperior = 63218; e.sterling = 163; e.sterlingmonospace = 65505; e.strokelongoverlaycmb = 822; e.strokeshortoverlaycmb = 821; e.subset = 8834; e.subsetnotequal = 8842; e.subsetorequal = 8838; e.succeeds = 8827; e.suchthat = 8715; e.suhiragana = 12377; e.sukatakana = 12473; e.sukatakanahalfwidth = 65405; e.sukunarabic = 1618; e.summation = 8721; e.sun = 9788; e.superset = 8835; e.supersetnotequal = 8843; e.supersetorequal = 8839; e.svsquare = 13276; e.syouwaerasquare = 13180; e.t = 116; e.tabengali = 2468; e.tackdown = 8868; e.tackleft = 8867; e.tadeva = 2340; e.tagujarati = 2724; e.tagurmukhi = 2596; e.taharabic = 1591; e.tahfinalarabic = 65218; e.tahinitialarabic = 65219; e.tahiragana = 12383; e.tahmedialarabic = 65220; e.taisyouerasquare = 13181; e.takatakana = 12479; e.takatakanahalfwidth = 65408; e.tatweelarabic = 1600; e.tau = 964; e.tav = 1514; e.tavdages = 64330; e.tavdagesh = 64330; e.tavdageshhebrew = 64330; e.tavhebrew = 1514; e.tbar = 359; e.tbopomofo = 12554; e.tcaron = 357; e.tccurl = 680; e.tcedilla = 355; e.tcheharabic = 1670; e.tchehfinalarabic = 64379; e.tchehinitialarabic = 64380; e.tchehmedialarabic = 64381; e.tcircle = 9443; e.tcircumflexbelow = 7793; e.tcommaaccent = 355; e.tdieresis = 7831; e.tdotaccent = 7787; e.tdotbelow = 7789; e.tecyrillic = 1090; e.tedescendercyrillic = 1197; e.teharabic = 1578; e.tehfinalarabic = 65174; e.tehhahinitialarabic = 64674; e.tehhahisolatedarabic = 64524; e.tehinitialarabic = 65175; e.tehiragana = 12390; e.tehjeeminitialarabic = 64673; e.tehjeemisolatedarabic = 64523; e.tehmarbutaarabic = 1577; e.tehmarbutafinalarabic = 65172; e.tehmedialarabic = 65176; e.tehmeeminitialarabic = 64676; e.tehmeemisolatedarabic = 64526; e.tehnoonfinalarabic = 64627; e.tekatakana = 12486; e.tekatakanahalfwidth = 65411; e.telephone = 8481; e.telephoneblack = 9742; e.telishagedolahebrew = 1440; e.telishaqetanahebrew = 1449; e.tencircle = 9321; e.tenideographicparen = 12841; e.tenparen = 9341; e.tenperiod = 9361; e.tenroman = 8569; e.tesh = 679; e.tet = 1496; e.tetdagesh = 64312; e.tetdageshhebrew = 64312; e.tethebrew = 1496; e.tetsecyrillic = 1205; e.tevirhebrew = 1435; e.tevirlefthebrew = 1435; e.thabengali = 2469; e.thadeva = 2341; e.thagujarati = 2725; e.thagurmukhi = 2597; e.thalarabic = 1584; e.thalfinalarabic = 65196; e.thanthakhatlowleftthai = 63640; e.thanthakhatlowrightthai = 63639; e.thanthakhatthai = 3660; e.thanthakhatupperleftthai = 63638; e.theharabic = 1579; e.thehfinalarabic = 65178; e.thehinitialarabic = 65179; e.thehmedialarabic = 65180; e.thereexists = 8707; e.therefore = 8756; e.theta = 952; e.theta1 = 977; e.thetasymbolgreek = 977; e.thieuthacirclekorean = 12921; e.thieuthaparenkorean = 12825; e.thieuthcirclekorean = 12907; e.thieuthkorean = 12620; e.thieuthparenkorean = 12811; e.thirteencircle = 9324; e.thirteenparen = 9344; e.thirteenperiod = 9364; e.thonangmonthothai = 3601; e.thook = 429; e.thophuthaothai = 3602; e.thorn = 254; e.thothahanthai = 3607; e.thothanthai = 3600; e.thothongthai = 3608; e.thothungthai = 3606; e.thousandcyrillic = 1154; e.thousandsseparatorarabic = 1644; e.thousandsseparatorpersian = 1644; e.three = 51; e.threearabic = 1635; e.threebengali = 2537; e.threecircle = 9314; e.threecircleinversesansserif = 10124; e.threedeva = 2409; e.threeeighths = 8540; e.threegujarati = 2793; e.threegurmukhi = 2665; e.threehackarabic = 1635; e.threehangzhou = 12323; e.threeideographicparen = 12834; e.threeinferior = 8323; e.threemonospace = 65299; e.threenumeratorbengali = 2550; e.threeoldstyle = 63283; e.threeparen = 9334; e.threeperiod = 9354; e.threepersian = 1779; e.threequarters = 190; e.threequartersemdash = 63198; e.threeroman = 8562; e.threesuperior = 179; e.threethai = 3667; e.thzsquare = 13204; e.tihiragana = 12385; e.tikatakana = 12481; e.tikatakanahalfwidth = 65409; e.tikeutacirclekorean = 12912; e.tikeutaparenkorean = 12816; e.tikeutcirclekorean = 12898; e.tikeutkorean = 12599; e.tikeutparenkorean = 12802; e.tilde = 732; e.tildebelowcmb = 816; e.tildecmb = 771; e.tildecomb = 771; e.tildedoublecmb = 864; e.tildeoperator = 8764; e.tildeoverlaycmb = 820; e.tildeverticalcmb = 830; e.timescircle = 8855; e.tipehahebrew = 1430; e.tipehalefthebrew = 1430; e.tippigurmukhi = 2672; e.titlocyrilliccmb = 1155; e.tiwnarmenian = 1407; e.tlinebelow = 7791; e.tmonospace = 65364; e.toarmenian = 1385; e.tohiragana = 12392; e.tokatakana = 12488; e.tokatakanahalfwidth = 65412; e.tonebarextrahighmod = 741; e.tonebarextralowmod = 745; e.tonebarhighmod = 742; e.tonebarlowmod = 744; e.tonebarmidmod = 743; e.tonefive = 445; e.tonesix = 389; e.tonetwo = 424; e.tonos = 900; e.tonsquare = 13095; e.topatakthai = 3599; e.tortoiseshellbracketleft = 12308; e.tortoiseshellbracketleftsmall = 65117; e.tortoiseshellbracketleftvertical = 65081; e.tortoiseshellbracketright = 12309; e.tortoiseshellbracketrightsmall = 65118; e.tortoiseshellbracketrightvertical = 65082; e.totaothai = 3605; e.tpalatalhook = 427; e.tparen = 9391; e.trademark = 8482; e.trademarksans = 63722; e.trademarkserif = 63195; e.tretroflexhook = 648; e.triagdn = 9660; e.triaglf = 9668; e.triagrt = 9658; e.triagup = 9650; e.ts = 678; e.tsadi = 1510; e.tsadidagesh = 64326; e.tsadidageshhebrew = 64326; e.tsadihebrew = 1510; e.tsecyrillic = 1094; e.tsere = 1461; e.tsere12 = 1461; e.tsere1e = 1461; e.tsere2b = 1461; e.tserehebrew = 1461; e.tserenarrowhebrew = 1461; e.tserequarterhebrew = 1461; e.tserewidehebrew = 1461; e.tshecyrillic = 1115; e.tsuperior = 63219; e.ttabengali = 2463; e.ttadeva = 2335; e.ttagujarati = 2719; e.ttagurmukhi = 2591; e.tteharabic = 1657; e.ttehfinalarabic = 64359; e.ttehinitialarabic = 64360; e.ttehmedialarabic = 64361; e.tthabengali = 2464; e.tthadeva = 2336; e.tthagujarati = 2720; e.tthagurmukhi = 2592; e.tturned = 647; e.tuhiragana = 12388; e.tukatakana = 12484; e.tukatakanahalfwidth = 65410; e.tusmallhiragana = 12387; e.tusmallkatakana = 12483; e.tusmallkatakanahalfwidth = 65391; e.twelvecircle = 9323; e.twelveparen = 9343; e.twelveperiod = 9363; e.twelveroman = 8571; e.twentycircle = 9331; e.twentyhangzhou = 21316; e.twentyparen = 9351; e.twentyperiod = 9371; e.two = 50; e.twoarabic = 1634; e.twobengali = 2536; e.twocircle = 9313; e.twocircleinversesansserif = 10123; e.twodeva = 2408; e.twodotenleader = 8229; e.twodotleader = 8229; e.twodotleadervertical = 65072; e.twogujarati = 2792; e.twogurmukhi = 2664; e.twohackarabic = 1634; e.twohangzhou = 12322; e.twoideographicparen = 12833; e.twoinferior = 8322; e.twomonospace = 65298; e.twonumeratorbengali = 2549; e.twooldstyle = 63282; e.twoparen = 9333; e.twoperiod = 9353; e.twopersian = 1778; e.tworoman = 8561; e.twostroke = 443; e.twosuperior = 178; e.twothai = 3666; e.twothirds = 8532; e.u = 117; e.uacute = 250; e.ubar = 649; e.ubengali = 2441; e.ubopomofo = 12584; e.ubreve = 365; e.ucaron = 468; e.ucircle = 9444; e.ucircumflex = 251; e.ucircumflexbelow = 7799; e.ucyrillic = 1091; e.udattadeva = 2385; e.udblacute = 369; e.udblgrave = 533; e.udeva = 2313; e.udieresis = 252; e.udieresisacute = 472; e.udieresisbelow = 7795; e.udieresiscaron = 474; e.udieresiscyrillic = 1265; e.udieresisgrave = 476; e.udieresismacron = 470; e.udotbelow = 7909; e.ugrave = 249; e.ugujarati = 2697; e.ugurmukhi = 2569; e.uhiragana = 12358; e.uhookabove = 7911; e.uhorn = 432; e.uhornacute = 7913; e.uhorndotbelow = 7921; e.uhorngrave = 7915; e.uhornhookabove = 7917; e.uhorntilde = 7919; e.uhungarumlaut = 369; e.uhungarumlautcyrillic = 1267; e.uinvertedbreve = 535; e.ukatakana = 12454; e.ukatakanahalfwidth = 65395; e.ukcyrillic = 1145; e.ukorean = 12636; e.umacron = 363; e.umacroncyrillic = 1263; e.umacrondieresis = 7803; e.umatragurmukhi = 2625; e.umonospace = 65365; e.underscore = 95; e.underscoredbl = 8215; e.underscoremonospace = 65343; e.underscorevertical = 65075; e.underscorewavy = 65103; e.union = 8746; e.universal = 8704; e.uogonek = 371; e.uparen = 9392; e.upblock = 9600; e.upperdothebrew = 1476; e.upsilon = 965; e.upsilondieresis = 971; e.upsilondieresistonos = 944; e.upsilonlatin = 650; e.upsilontonos = 973; e.uptackbelowcmb = 797; e.uptackmod = 724; e.uragurmukhi = 2675; e.uring = 367; e.ushortcyrillic = 1118; e.usmallhiragana = 12357; e.usmallkatakana = 12453; e.usmallkatakanahalfwidth = 65385; e.ustraightcyrillic = 1199; e.ustraightstrokecyrillic = 1201; e.utilde = 361; e.utildeacute = 7801; e.utildebelow = 7797; e.uubengali = 2442; e.uudeva = 2314; e.uugujarati = 2698; e.uugurmukhi = 2570; e.uumatragurmukhi = 2626; e.uuvowelsignbengali = 2498; e.uuvowelsigndeva = 2370; e.uuvowelsigngujarati = 2754; e.uvowelsignbengali = 2497; e.uvowelsigndeva = 2369; e.uvowelsigngujarati = 2753; e.v = 118; e.vadeva = 2357; e.vagujarati = 2741; e.vagurmukhi = 2613; e.vakatakana = 12535; e.vav = 1493; e.vavdagesh = 64309; e.vavdagesh65 = 64309; e.vavdageshhebrew = 64309; e.vavhebrew = 1493; e.vavholam = 64331; e.vavholamhebrew = 64331; e.vavvavhebrew = 1520; e.vavyodhebrew = 1521; e.vcircle = 9445; e.vdotbelow = 7807; e.vecyrillic = 1074; e.veharabic = 1700; e.vehfinalarabic = 64363; e.vehinitialarabic = 64364; e.vehmedialarabic = 64365; e.vekatakana = 12537; e.venus = 9792; e.verticalbar = 124; e.verticallineabovecmb = 781; e.verticallinebelowcmb = 809; e.verticallinelowmod = 716; e.verticallinemod = 712; e.vewarmenian = 1406; e.vhook = 651; e.vikatakana = 12536; e.viramabengali = 2509; e.viramadeva = 2381; e.viramagujarati = 2765; e.visargabengali = 2435; e.visargadeva = 2307; e.visargagujarati = 2691; e.vmonospace = 65366; e.voarmenian = 1400; e.voicediterationhiragana = 12446; e.voicediterationkatakana = 12542; e.voicedmarkkana = 12443; e.voicedmarkkanahalfwidth = 65438; e.vokatakana = 12538; e.vparen = 9393; e.vtilde = 7805; e.vturned = 652; e.vuhiragana = 12436; e.vukatakana = 12532; e.w = 119; e.wacute = 7811; e.waekorean = 12633; e.wahiragana = 12431; e.wakatakana = 12527; e.wakatakanahalfwidth = 65436; e.wakorean = 12632; e.wasmallhiragana = 12430; e.wasmallkatakana = 12526; e.wattosquare = 13143; e.wavedash = 12316; e.wavyunderscorevertical = 65076; e.wawarabic = 1608; e.wawfinalarabic = 65262; e.wawhamzaabovearabic = 1572; e.wawhamzaabovefinalarabic = 65158; e.wbsquare = 13277; e.wcircle = 9446; e.wcircumflex = 373; e.wdieresis = 7813; e.wdotaccent = 7815; e.wdotbelow = 7817; e.wehiragana = 12433; e.weierstrass = 8472; e.wekatakana = 12529; e.wekorean = 12638; e.weokorean = 12637; e.wgrave = 7809; e.whitebullet = 9702; e.whitecircle = 9675; e.whitecircleinverse = 9689; e.whitecornerbracketleft = 12302; e.whitecornerbracketleftvertical = 65091; e.whitecornerbracketright = 12303; e.whitecornerbracketrightvertical = 65092; e.whitediamond = 9671; e.whitediamondcontainingblacksmalldiamond = 9672; e.whitedownpointingsmalltriangle = 9663; e.whitedownpointingtriangle = 9661; e.whiteleftpointingsmalltriangle = 9667; e.whiteleftpointingtriangle = 9665; e.whitelenticularbracketleft = 12310; e.whitelenticularbracketright = 12311; e.whiterightpointingsmalltriangle = 9657; e.whiterightpointingtriangle = 9655; e.whitesmallsquare = 9643; e.whitesmilingface = 9786; e.whitesquare = 9633; e.whitestar = 9734; e.whitetelephone = 9743; e.whitetortoiseshellbracketleft = 12312; e.whitetortoiseshellbracketright = 12313; e.whiteuppointingsmalltriangle = 9653; e.whiteuppointingtriangle = 9651; e.wihiragana = 12432; e.wikatakana = 12528; e.wikorean = 12639; e.wmonospace = 65367; e.wohiragana = 12434; e.wokatakana = 12530; e.wokatakanahalfwidth = 65382; e.won = 8361; e.wonmonospace = 65510; e.wowaenthai = 3623; e.wparen = 9394; e.wring = 7832; e.wsuperior = 695; e.wturned = 653; e.wynn = 447; e.x = 120; e.xabovecmb = 829; e.xbopomofo = 12562; e.xcircle = 9447; e.xdieresis = 7821; e.xdotaccent = 7819; e.xeharmenian = 1389; e.xi = 958; e.xmonospace = 65368; e.xparen = 9395; e.xsuperior = 739; e.y = 121; e.yaadosquare = 13134; e.yabengali = 2479; e.yacute = 253; e.yadeva = 2351; e.yaekorean = 12626; e.yagujarati = 2735; e.yagurmukhi = 2607; e.yahiragana = 12420; e.yakatakana = 12516; e.yakatakanahalfwidth = 65428; e.yakorean = 12625; e.yamakkanthai = 3662; e.yasmallhiragana = 12419; e.yasmallkatakana = 12515; e.yasmallkatakanahalfwidth = 65388; e.yatcyrillic = 1123; e.ycircle = 9448; e.ycircumflex = 375; e.ydieresis = 255; e.ydotaccent = 7823; e.ydotbelow = 7925; e.yeharabic = 1610; e.yehbarreearabic = 1746; e.yehbarreefinalarabic = 64431; e.yehfinalarabic = 65266; e.yehhamzaabovearabic = 1574; e.yehhamzaabovefinalarabic = 65162; e.yehhamzaaboveinitialarabic = 65163; e.yehhamzaabovemedialarabic = 65164; e.yehinitialarabic = 65267; e.yehmedialarabic = 65268; e.yehmeeminitialarabic = 64733; e.yehmeemisolatedarabic = 64600; e.yehnoonfinalarabic = 64660; e.yehthreedotsbelowarabic = 1745; e.yekorean = 12630; e.yen = 165; e.yenmonospace = 65509; e.yeokorean = 12629; e.yeorinhieuhkorean = 12678; e.yerahbenyomohebrew = 1450; e.yerahbenyomolefthebrew = 1450; e.yericyrillic = 1099; e.yerudieresiscyrillic = 1273; e.yesieungkorean = 12673; e.yesieungpansioskorean = 12675; e.yesieungsioskorean = 12674; e.yetivhebrew = 1434; e.ygrave = 7923; e.yhook = 436; e.yhookabove = 7927; e.yiarmenian = 1397; e.yicyrillic = 1111; e.yikorean = 12642; e.yinyang = 9775; e.yiwnarmenian = 1410; e.ymonospace = 65369; e.yod = 1497; e.yoddagesh = 64313; e.yoddageshhebrew = 64313; e.yodhebrew = 1497; e.yodyodhebrew = 1522; e.yodyodpatahhebrew = 64287; e.yohiragana = 12424; e.yoikorean = 12681; e.yokatakana = 12520; e.yokatakanahalfwidth = 65430; e.yokorean = 12635; e.yosmallhiragana = 12423; e.yosmallkatakana = 12519; e.yosmallkatakanahalfwidth = 65390; e.yotgreek = 1011; e.yoyaekorean = 12680; e.yoyakorean = 12679; e.yoyakthai = 3618; e.yoyingthai = 3597; e.yparen = 9396; e.ypogegrammeni = 890; e.ypogegrammenigreekcmb = 837; e.yr = 422; e.yring = 7833; e.ysuperior = 696; e.ytilde = 7929; e.yturned = 654; e.yuhiragana = 12422; e.yuikorean = 12684; e.yukatakana = 12518; e.yukatakanahalfwidth = 65429; e.yukorean = 12640; e.yusbigcyrillic = 1131; e.yusbigiotifiedcyrillic = 1133; e.yuslittlecyrillic = 1127; e.yuslittleiotifiedcyrillic = 1129; e.yusmallhiragana = 12421; e.yusmallkatakana = 12517; e.yusmallkatakanahalfwidth = 65389; e.yuyekorean = 12683; e.yuyeokorean = 12682; e.yyabengali = 2527; e.yyadeva = 2399; e.z = 122; e.zaarmenian = 1382; e.zacute = 378; e.zadeva = 2395; e.zagurmukhi = 2651; e.zaharabic = 1592; e.zahfinalarabic = 65222; e.zahinitialarabic = 65223; e.zahiragana = 12374; e.zahmedialarabic = 65224; e.zainarabic = 1586; e.zainfinalarabic = 65200; e.zakatakana = 12470; e.zaqefgadolhebrew = 1429; e.zaqefqatanhebrew = 1428; e.zarqahebrew = 1432; e.zayin = 1494; e.zayindagesh = 64310; e.zayindageshhebrew = 64310; e.zayinhebrew = 1494; e.zbopomofo = 12567; e.zcaron = 382; e.zcircle = 9449; e.zcircumflex = 7825; e.zcurl = 657; e.zdot = 380; e.zdotaccent = 380; e.zdotbelow = 7827; e.zecyrillic = 1079; e.zedescendercyrillic = 1177; e.zedieresiscyrillic = 1247; e.zehiragana = 12380; e.zekatakana = 12476; e.zero = 48; e.zeroarabic = 1632; e.zerobengali = 2534; e.zerodeva = 2406; e.zerogujarati = 2790; e.zerogurmukhi = 2662; e.zerohackarabic = 1632; e.zeroinferior = 8320; e.zeromonospace = 65296; e.zerooldstyle = 63280; e.zeropersian = 1776; e.zerosuperior = 8304; e.zerothai = 3664; e.zerowidthjoiner = 65279; e.zerowidthnonjoiner = 8204; e.zerowidthspace = 8203; e.zeta = 950; e.zhbopomofo = 12563; e.zhearmenian = 1386; e.zhebrevecyrillic = 1218; e.zhecyrillic = 1078; e.zhedescendercyrillic = 1175; e.zhedieresiscyrillic = 1245; e.zihiragana = 12376; e.zikatakana = 12472; e.zinorhebrew = 1454; e.zlinebelow = 7829; e.zmonospace = 65370; e.zohiragana = 12382; e.zokatakana = 12478; e.zparen = 9397; e.zretroflexhook = 656; e.zstroke = 438; e.zuhiragana = 12378; e.zukatakana = 12474; e[".notdef"] = 0; e.angbracketleftbig = 9001; e.angbracketleftBig = 9001; e.angbracketleftbigg = 9001; e.angbracketleftBigg = 9001; e.angbracketrightBig = 9002; e.angbracketrightbig = 9002; e.angbracketrightBigg = 9002; e.angbracketrightbigg = 9002; e.arrowhookleft = 8618; e.arrowhookright = 8617; e.arrowlefttophalf = 8636; e.arrowleftbothalf = 8637; e.arrownortheast = 8599; e.arrownorthwest = 8598; e.arrowrighttophalf = 8640; e.arrowrightbothalf = 8641; e.arrowsoutheast = 8600; e.arrowsouthwest = 8601; e.backslashbig = 8726; e.backslashBig = 8726; e.backslashBigg = 8726; e.backslashbigg = 8726; e.bardbl = 8214; e.bracehtipdownleft = 65079; e.bracehtipdownright = 65079; e.bracehtipupleft = 65080; e.bracehtipupright = 65080; e.braceleftBig = 123; e.braceleftbig = 123; e.braceleftbigg = 123; e.braceleftBigg = 123; e.bracerightBig = 125; e.bracerightbig = 125; e.bracerightbigg = 125; e.bracerightBigg = 125; e.bracketleftbig = 91; e.bracketleftBig = 91; e.bracketleftbigg = 91; e.bracketleftBigg = 91; e.bracketrightBig = 93; e.bracketrightbig = 93; e.bracketrightbigg = 93; e.bracketrightBigg = 93; e.ceilingleftbig = 8968; e.ceilingleftBig = 8968; e.ceilingleftBigg = 8968; e.ceilingleftbigg = 8968; e.ceilingrightbig = 8969; e.ceilingrightBig = 8969; e.ceilingrightbigg = 8969; e.ceilingrightBigg = 8969; e.circledotdisplay = 8857; e.circledottext = 8857; e.circlemultiplydisplay = 8855; e.circlemultiplytext = 8855; e.circleplusdisplay = 8853; e.circleplustext = 8853; e.contintegraldisplay = 8750; e.contintegraltext = 8750; e.coproductdisplay = 8720; e.coproducttext = 8720; e.floorleftBig = 8970; e.floorleftbig = 8970; e.floorleftbigg = 8970; e.floorleftBigg = 8970; e.floorrightbig = 8971; e.floorrightBig = 8971; e.floorrightBigg = 8971; e.floorrightbigg = 8971; e.hatwide = 770; e.hatwider = 770; e.hatwidest = 770; e.intercal = 7488; e.integraldisplay = 8747; e.integraltext = 8747; e.intersectiondisplay = 8898; e.intersectiontext = 8898; e.logicalanddisplay = 8743; e.logicalandtext = 8743; e.logicalordisplay = 8744; e.logicalortext = 8744; e.parenleftBig = 40; e.parenleftbig = 40; e.parenleftBigg = 40; e.parenleftbigg = 40; e.parenrightBig = 41; e.parenrightbig = 41; e.parenrightBigg = 41; e.parenrightbigg = 41; e.prime = 8242; e.productdisplay = 8719; e.producttext = 8719; e.radicalbig = 8730; e.radicalBig = 8730; e.radicalBigg = 8730; e.radicalbigg = 8730; e.radicalbt = 8730; e.radicaltp = 8730; e.radicalvertex = 8730; e.slashbig = 47; e.slashBig = 47; e.slashBigg = 47; e.slashbigg = 47; e.summationdisplay = 8721; e.summationtext = 8721; e.tildewide = 732; e.tildewider = 732; e.tildewidest = 732; e.uniondisplay = 8899; e.unionmultidisplay = 8846; e.unionmultitext = 8846; e.unionsqdisplay = 8852; e.unionsqtext = 8852; e.uniontext = 8899; e.vextenddouble = 8741; e.vextendsingle = 8739; })), Gi = getLookupTableFactory((function (e) { e.space = 32; e.a1 = 9985; e.a2 = 9986; e.a202 = 9987; e.a3 = 9988; e.a4 = 9742; e.a5 = 9990; e.a119 = 9991; e.a118 = 9992; e.a117 = 9993; e.a11 = 9755; e.a12 = 9758; e.a13 = 9996; e.a14 = 9997; e.a15 = 9998; e.a16 = 9999; e.a105 = 1e4; e.a17 = 10001; e.a18 = 10002; e.a19 = 10003; e.a20 = 10004; e.a21 = 10005; e.a22 = 10006; e.a23 = 10007; e.a24 = 10008; e.a25 = 10009; e.a26 = 10010; e.a27 = 10011; e.a28 = 10012; e.a6 = 10013; e.a7 = 10014; e.a8 = 10015; e.a9 = 10016; e.a10 = 10017; e.a29 = 10018; e.a30 = 10019; e.a31 = 10020; e.a32 = 10021; e.a33 = 10022; e.a34 = 10023; e.a35 = 9733; e.a36 = 10025; e.a37 = 10026; e.a38 = 10027; e.a39 = 10028; e.a40 = 10029; e.a41 = 10030; e.a42 = 10031; e.a43 = 10032; e.a44 = 10033; e.a45 = 10034; e.a46 = 10035; e.a47 = 10036; e.a48 = 10037; e.a49 = 10038; e.a50 = 10039; e.a51 = 10040; e.a52 = 10041; e.a53 = 10042; e.a54 = 10043; e.a55 = 10044; e.a56 = 10045; e.a57 = 10046; e.a58 = 10047; e.a59 = 10048; e.a60 = 10049; e.a61 = 10050; e.a62 = 10051; e.a63 = 10052; e.a64 = 10053; e.a65 = 10054; e.a66 = 10055; e.a67 = 10056; e.a68 = 10057; e.a69 = 10058; e.a70 = 10059; e.a71 = 9679; e.a72 = 10061; e.a73 = 9632; e.a74 = 10063; e.a203 = 10064; e.a75 = 10065; e.a204 = 10066; e.a76 = 9650; e.a77 = 9660; e.a78 = 9670; e.a79 = 10070; e.a81 = 9687; e.a82 = 10072; e.a83 = 10073; e.a84 = 10074; e.a97 = 10075; e.a98 = 10076; e.a99 = 10077; e.a100 = 10078; e.a101 = 10081; e.a102 = 10082; e.a103 = 10083; e.a104 = 10084; e.a106 = 10085; e.a107 = 10086; e.a108 = 10087; e.a112 = 9827; e.a111 = 9830; e.a110 = 9829; e.a109 = 9824; e.a120 = 9312; e.a121 = 9313; e.a122 = 9314; e.a123 = 9315; e.a124 = 9316; e.a125 = 9317; e.a126 = 9318; e.a127 = 9319; e.a128 = 9320; e.a129 = 9321; e.a130 = 10102; e.a131 = 10103; e.a132 = 10104; e.a133 = 10105; e.a134 = 10106; e.a135 = 10107; e.a136 = 10108; e.a137 = 10109; e.a138 = 10110; e.a139 = 10111; e.a140 = 10112; e.a141 = 10113; e.a142 = 10114; e.a143 = 10115; e.a144 = 10116; e.a145 = 10117; e.a146 = 10118; e.a147 = 10119; e.a148 = 10120; e.a149 = 10121; e.a150 = 10122; e.a151 = 10123; e.a152 = 10124; e.a153 = 10125; e.a154 = 10126; e.a155 = 10127; e.a156 = 10128; e.a157 = 10129; e.a158 = 10130; e.a159 = 10131; e.a160 = 10132; e.a161 = 8594; e.a163 = 8596; e.a164 = 8597; e.a196 = 10136; e.a165 = 10137; e.a192 = 10138; e.a166 = 10139; e.a167 = 10140; e.a168 = 10141; e.a169 = 10142; e.a170 = 10143; e.a171 = 10144; e.a172 = 10145; e.a173 = 10146; e.a162 = 10147; e.a174 = 10148; e.a175 = 10149; e.a176 = 10150; e.a177 = 10151; e.a178 = 10152; e.a179 = 10153; e.a193 = 10154; e.a180 = 10155; e.a199 = 10156; e.a181 = 10157; e.a200 = 10158; e.a182 = 10159; e.a201 = 10161; e.a183 = 10162; e.a184 = 10163; e.a197 = 10164; e.a185 = 10165; e.a194 = 10166; e.a198 = 10167; e.a186 = 10168; e.a195 = 10169; e.a187 = 10170; e.a188 = 10171; e.a189 = 10172; e.a190 = 10173; e.a191 = 10174; e.a89 = 10088; e.a90 = 10089; e.a93 = 10090; e.a94 = 10091; e.a91 = 10092; e.a92 = 10093; e.a205 = 10094; e.a85 = 10095; e.a206 = 10096; e.a86 = 10097; e.a87 = 10098; e.a88 = 10099; e.a95 = 10100; e.a96 = 10101; e[".notdef"] = 0; })), xi = getLookupTableFactory((function (e) { e[63721] = 169; e[63193] = 169; e[63720] = 174; e[63194] = 174; e[63722] = 8482; e[63195] = 8482; e[63729] = 9127; e[63730] = 9128; e[63731] = 9129; e[63740] = 9131; e[63741] = 9132; e[63742] = 9133; e[63726] = 9121; e[63727] = 9122; e[63728] = 9123; e[63737] = 9124; e[63738] = 9125; e[63739] = 9126; e[63723] = 9115; e[63724] = 9116; e[63725] = 9117; e[63734] = 9118; e[63735] = 9119; e[63736] = 9120; }));
  6448. function getUnicodeForGlyph(e, t) { var i = t[e]; if (void 0 !== i)
  6449. return i; if (!e)
  6450. return -1; if ("u" === e[0]) {
  6451. var t_113 = e.length;
  6452. var a_96;
  6453. if (7 === t_113 && "n" === e[1] && "i" === e[2])
  6454. a_96 = e.substring(3);
  6455. else {
  6456. if (!(t_113 >= 5 && t_113 <= 7))
  6457. return -1;
  6458. a_96 = e.substring(1);
  6459. }
  6460. if (a_96 === a_96.toUpperCase()) {
  6461. i = parseInt(a_96, 16);
  6462. if (i >= 0)
  6463. return i;
  6464. }
  6465. } return -1; }
  6466. var Mi = [[0, 127], [128, 255], [256, 383], [384, 591], [592, 687, 7424, 7551, 7552, 7615], [688, 767, 42752, 42783], [768, 879, 7616, 7679], [880, 1023], [11392, 11519], [1024, 1279, 1280, 1327, 11744, 11775, 42560, 42655], [1328, 1423], [1424, 1535], [42240, 42559], [1536, 1791, 1872, 1919], [1984, 2047], [2304, 2431], [2432, 2559], [2560, 2687], [2688, 2815], [2816, 2943], [2944, 3071], [3072, 3199], [3200, 3327], [3328, 3455], [3584, 3711], [3712, 3839], [4256, 4351, 11520, 11567], [6912, 7039], [4352, 4607], [7680, 7935, 11360, 11391, 42784, 43007], [7936, 8191], [8192, 8303, 11776, 11903], [8304, 8351], [8352, 8399], [8400, 8447], [8448, 8527], [8528, 8591], [8592, 8703, 10224, 10239, 10496, 10623, 11008, 11263], [8704, 8959, 10752, 11007, 10176, 10223, 10624, 10751], [8960, 9215], [9216, 9279], [9280, 9311], [9312, 9471], [9472, 9599], [9600, 9631], [9632, 9727], [9728, 9983], [9984, 10175], [12288, 12351], [12352, 12447], [12448, 12543, 12784, 12799], [12544, 12591, 12704, 12735], [12592, 12687], [43072, 43135], [12800, 13055], [13056, 13311], [44032, 55215], [55296, 57343], [67840, 67871], [19968, 40959, 11904, 12031, 12032, 12255, 12272, 12287, 13312, 19903, 131072, 173791, 12688, 12703], [57344, 63743], [12736, 12783, 63744, 64255, 194560, 195103], [64256, 64335], [64336, 65023], [65056, 65071], [65040, 65055], [65104, 65135], [65136, 65279], [65280, 65519], [65520, 65535], [3840, 4095], [1792, 1871], [1920, 1983], [3456, 3583], [4096, 4255], [4608, 4991, 4992, 5023, 11648, 11743], [5024, 5119], [5120, 5759], [5760, 5791], [5792, 5887], [6016, 6143], [6144, 6319], [10240, 10495], [40960, 42127], [5888, 5919, 5920, 5951, 5952, 5983, 5984, 6015], [66304, 66351], [66352, 66383], [66560, 66639], [118784, 119039, 119040, 119295, 119296, 119375], [119808, 120831], [1044480, 1048573], [65024, 65039, 917760, 917999], [917504, 917631], [6400, 6479], [6480, 6527], [6528, 6623], [6656, 6687], [11264, 11359], [11568, 11647], [19904, 19967], [43008, 43055], [65536, 65663, 65664, 65791, 65792, 65855], [65856, 65935], [66432, 66463], [66464, 66527], [66640, 66687], [66688, 66735], [67584, 67647], [68096, 68191], [119552, 119647], [73728, 74751, 74752, 74879], [119648, 119679], [7040, 7103], [7168, 7247], [7248, 7295], [43136, 43231], [43264, 43311], [43312, 43359], [43520, 43615], [65936, 65999], [66e3, 66047], [66208, 66271, 66176, 66207, 67872, 67903], [127024, 127135, 126976, 127023]];
  6467. function getUnicodeRangeFor(e, t) {
  6468. if (t === void 0) { t = -1; }
  6469. if (-1 !== t) {
  6470. var i_101 = Mi[t];
  6471. for (var a_97 = 0, s_68 = i_101.length; a_97 < s_68; a_97 += 2)
  6472. if (e >= i_101[a_97] && e <= i_101[a_97 + 1])
  6473. return t;
  6474. }
  6475. for (var t_114 = 0, i_102 = Mi.length; t_114 < i_102; t_114++) {
  6476. var i_103 = Mi[t_114];
  6477. for (var a_98 = 0, s_69 = i_103.length; a_98 < s_69; a_98 += 2)
  6478. if (e >= i_103[a_98] && e <= i_103[a_98 + 1])
  6479. return t_114;
  6480. }
  6481. return -1;
  6482. }
  6483. var Ji = new RegExp("^(\\s)|(\\p{Mn})|(\\p{Cf})$", "u"), Hi = new Map;
  6484. var Yi = !0, vi = 1, Ki = 2, Ti = 4, qi = 32, Oi = [".notdef", ".null", "nonmarkingreturn", "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", "ampersand", "quotesingle", "parenleft", "parenright", "asterisk", "plus", "comma", "hyphen", "period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "colon", "semicolon", "less", "equal", "greater", "question", "at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft", "backslash", "bracketright", "asciicircum", "underscore", "grave", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft", "bar", "braceright", "asciitilde", "Adieresis", "Aring", "Ccedilla", "Eacute", "Ntilde", "Odieresis", "Udieresis", "aacute", "agrave", "acircumflex", "adieresis", "atilde", "aring", "ccedilla", "eacute", "egrave", "ecircumflex", "edieresis", "iacute", "igrave", "icircumflex", "idieresis", "ntilde", "oacute", "ograve", "ocircumflex", "odieresis", "otilde", "uacute", "ugrave", "ucircumflex", "udieresis", "dagger", "degree", "cent", "sterling", "section", "bullet", "paragraph", "germandbls", "registered", "copyright", "trademark", "acute", "dieresis", "notequal", "AE", "Oslash", "infinity", "plusminus", "lessequal", "greaterequal", "yen", "mu", "partialdiff", "summation", "product", "pi", "integral", "ordfeminine", "ordmasculine", "Omega", "ae", "oslash", "questiondown", "exclamdown", "logicalnot", "radical", "florin", "approxequal", "Delta", "guillemotleft", "guillemotright", "ellipsis", "nonbreakingspace", "Agrave", "Atilde", "Otilde", "OE", "oe", "endash", "emdash", "quotedblleft", "quotedblright", "quoteleft", "quoteright", "divide", "lozenge", "ydieresis", "Ydieresis", "fraction", "currency", "guilsinglleft", "guilsinglright", "fi", "fl", "daggerdbl", "periodcentered", "quotesinglbase", "quotedblbase", "perthousand", "Acircumflex", "Ecircumflex", "Aacute", "Edieresis", "Egrave", "Iacute", "Icircumflex", "Idieresis", "Igrave", "Oacute", "Ocircumflex", "apple", "Ograve", "Uacute", "Ucircumflex", "Ugrave", "dotlessi", "circumflex", "tilde", "macron", "breve", "dotaccent", "ring", "cedilla", "hungarumlaut", "ogonek", "caron", "Lslash", "lslash", "Scaron", "scaron", "Zcaron", "zcaron", "brokenbar", "Eth", "eth", "Yacute", "yacute", "Thorn", "thorn", "minus", "multiply", "onesuperior", "twosuperior", "threesuperior", "onehalf", "onequarter", "threequarters", "franc", "Gbreve", "gbreve", "Idotaccent", "Scedilla", "scedilla", "Cacute", "cacute", "Ccaron", "ccaron", "dcroat"];
  6485. function recoverGlyphName(e, t) { if (void 0 !== t[e])
  6486. return e; var i = getUnicodeForGlyph(e, t); if (-1 !== i)
  6487. for (var e_135 in t)
  6488. if (t[e_135] === i)
  6489. return e_135; info("Unable to recover a standard glyph name for: " + e); return e; }
  6490. function type1FontGlyphMapping(e, t, i) { var a = Object.create(null); var s, r, n; var o = !!(e.flags & Ti); if (e.isInternalFont) {
  6491. n = t;
  6492. for (r = 0; r < n.length; r++) {
  6493. s = i.indexOf(n[r]);
  6494. a[r] = s >= 0 ? s : 0;
  6495. }
  6496. }
  6497. else if (e.baseEncodingName) {
  6498. n = getEncoding(e.baseEncodingName);
  6499. for (r = 0; r < n.length; r++) {
  6500. s = i.indexOf(n[r]);
  6501. a[r] = s >= 0 ? s : 0;
  6502. }
  6503. }
  6504. else if (o)
  6505. for (r in t)
  6506. a[r] = t[r];
  6507. else {
  6508. n = fi;
  6509. for (r = 0; r < n.length; r++) {
  6510. s = i.indexOf(n[r]);
  6511. a[r] = s >= 0 ? s : 0;
  6512. }
  6513. } var g = e.differences; var c; if (g)
  6514. for (r in g) {
  6515. var e_136 = g[r];
  6516. s = i.indexOf(e_136);
  6517. if (-1 === s) {
  6518. c || (c = Ni());
  6519. var t_115 = recoverGlyphName(e_136, c);
  6520. t_115 !== e_136 && (s = i.indexOf(t_115));
  6521. }
  6522. a[r] = s >= 0 ? s : 0;
  6523. } return a; }
  6524. function normalizeFontName(e) { return e.replaceAll(/[,_]/g, "-").replaceAll(/\s/g, ""); }
  6525. var Pi = getLookupTableFactory((function (e) { e["Times-Roman"] = "Times-Roman"; e.Helvetica = "Helvetica"; e.Courier = "Courier"; e.Symbol = "Symbol"; e["Times-Bold"] = "Times-Bold"; e["Helvetica-Bold"] = "Helvetica-Bold"; e["Courier-Bold"] = "Courier-Bold"; e.ZapfDingbats = "ZapfDingbats"; e["Times-Italic"] = "Times-Italic"; e["Helvetica-Oblique"] = "Helvetica-Oblique"; e["Courier-Oblique"] = "Courier-Oblique"; e["Times-BoldItalic"] = "Times-BoldItalic"; e["Helvetica-BoldOblique"] = "Helvetica-BoldOblique"; e["Courier-BoldOblique"] = "Courier-BoldOblique"; e.ArialNarrow = "Helvetica"; e["ArialNarrow-Bold"] = "Helvetica-Bold"; e["ArialNarrow-BoldItalic"] = "Helvetica-BoldOblique"; e["ArialNarrow-Italic"] = "Helvetica-Oblique"; e.ArialBlack = "Helvetica"; e["ArialBlack-Bold"] = "Helvetica-Bold"; e["ArialBlack-BoldItalic"] = "Helvetica-BoldOblique"; e["ArialBlack-Italic"] = "Helvetica-Oblique"; e["Arial-Black"] = "Helvetica"; e["Arial-Black-Bold"] = "Helvetica-Bold"; e["Arial-Black-BoldItalic"] = "Helvetica-BoldOblique"; e["Arial-Black-Italic"] = "Helvetica-Oblique"; e.Arial = "Helvetica"; e["Arial-Bold"] = "Helvetica-Bold"; e["Arial-BoldItalic"] = "Helvetica-BoldOblique"; e["Arial-Italic"] = "Helvetica-Oblique"; e.ArialMT = "Helvetica"; e["Arial-BoldItalicMT"] = "Helvetica-BoldOblique"; e["Arial-BoldMT"] = "Helvetica-Bold"; e["Arial-ItalicMT"] = "Helvetica-Oblique"; e["Arial-BoldItalicMT-BoldItalic"] = "Helvetica-BoldOblique"; e["Arial-BoldMT-Bold"] = "Helvetica-Bold"; e["Arial-ItalicMT-Italic"] = "Helvetica-Oblique"; e.ArialUnicodeMS = "Helvetica"; e["ArialUnicodeMS-Bold"] = "Helvetica-Bold"; e["ArialUnicodeMS-BoldItalic"] = "Helvetica-BoldOblique"; e["ArialUnicodeMS-Italic"] = "Helvetica-Oblique"; e["Courier-BoldItalic"] = "Courier-BoldOblique"; e["Courier-Italic"] = "Courier-Oblique"; e.CourierNew = "Courier"; e["CourierNew-Bold"] = "Courier-Bold"; e["CourierNew-BoldItalic"] = "Courier-BoldOblique"; e["CourierNew-Italic"] = "Courier-Oblique"; e["CourierNewPS-BoldItalicMT"] = "Courier-BoldOblique"; e["CourierNewPS-BoldMT"] = "Courier-Bold"; e["CourierNewPS-ItalicMT"] = "Courier-Oblique"; e.CourierNewPSMT = "Courier"; e["Helvetica-BoldItalic"] = "Helvetica-BoldOblique"; e["Helvetica-Italic"] = "Helvetica-Oblique"; e["Symbol-Bold"] = "Symbol"; e["Symbol-BoldItalic"] = "Symbol"; e["Symbol-Italic"] = "Symbol"; e.TimesNewRoman = "Times-Roman"; e["TimesNewRoman-Bold"] = "Times-Bold"; e["TimesNewRoman-BoldItalic"] = "Times-BoldItalic"; e["TimesNewRoman-Italic"] = "Times-Italic"; e.TimesNewRomanPS = "Times-Roman"; e["TimesNewRomanPS-Bold"] = "Times-Bold"; e["TimesNewRomanPS-BoldItalic"] = "Times-BoldItalic"; e["TimesNewRomanPS-BoldItalicMT"] = "Times-BoldItalic"; e["TimesNewRomanPS-BoldMT"] = "Times-Bold"; e["TimesNewRomanPS-Italic"] = "Times-Italic"; e["TimesNewRomanPS-ItalicMT"] = "Times-Italic"; e.TimesNewRomanPSMT = "Times-Roman"; e["TimesNewRomanPSMT-Bold"] = "Times-Bold"; e["TimesNewRomanPSMT-BoldItalic"] = "Times-BoldItalic"; e["TimesNewRomanPSMT-Italic"] = "Times-Italic"; })), Wi = getLookupTableFactory((function (e) { e.Courier = "FoxitFixed.pfb"; e["Courier-Bold"] = "FoxitFixedBold.pfb"; e["Courier-BoldOblique"] = "FoxitFixedBoldItalic.pfb"; e["Courier-Oblique"] = "FoxitFixedItalic.pfb"; e.Helvetica = "LiberationSans-Regular.ttf"; e["Helvetica-Bold"] = "LiberationSans-Bold.ttf"; e["Helvetica-BoldOblique"] = "LiberationSans-BoldItalic.ttf"; e["Helvetica-Oblique"] = "LiberationSans-Italic.ttf"; e["Times-Roman"] = "FoxitSerif.pfb"; e["Times-Bold"] = "FoxitSerifBold.pfb"; e["Times-BoldItalic"] = "FoxitSerifBoldItalic.pfb"; e["Times-Italic"] = "FoxitSerifItalic.pfb"; e.Symbol = "FoxitSymbol.pfb"; e.ZapfDingbats = "FoxitDingbats.pfb"; e["LiberationSans-Regular"] = "LiberationSans-Regular.ttf"; e["LiberationSans-Bold"] = "LiberationSans-Bold.ttf"; e["LiberationSans-Italic"] = "LiberationSans-Italic.ttf"; e["LiberationSans-BoldItalic"] = "LiberationSans-BoldItalic.ttf"; })), Xi = getLookupTableFactory((function (e) { e.Calibri = "Helvetica"; e["Calibri-Bold"] = "Helvetica-Bold"; e["Calibri-BoldItalic"] = "Helvetica-BoldOblique"; e["Calibri-Italic"] = "Helvetica-Oblique"; e.CenturyGothic = "Helvetica"; e["CenturyGothic-Bold"] = "Helvetica-Bold"; e["CenturyGothic-BoldItalic"] = "Helvetica-BoldOblique"; e["CenturyGothic-Italic"] = "Helvetica-Oblique"; e.ComicSansMS = "Comic Sans MS"; e["ComicSansMS-Bold"] = "Comic Sans MS-Bold"; e["ComicSansMS-BoldItalic"] = "Comic Sans MS-BoldItalic"; e["ComicSansMS-Italic"] = "Comic Sans MS-Italic"; e.Impact = "Helvetica"; e["ItcSymbol-Bold"] = "Helvetica-Bold"; e["ItcSymbol-BoldItalic"] = "Helvetica-BoldOblique"; e["ItcSymbol-Book"] = "Helvetica"; e["ItcSymbol-BookItalic"] = "Helvetica-Oblique"; e["ItcSymbol-Medium"] = "Helvetica"; e["ItcSymbol-MediumItalic"] = "Helvetica-Oblique"; e.LucidaConsole = "Courier"; e["LucidaConsole-Bold"] = "Courier-Bold"; e["LucidaConsole-BoldItalic"] = "Courier-BoldOblique"; e["LucidaConsole-Italic"] = "Courier-Oblique"; e["LucidaSans-Demi"] = "Helvetica-Bold"; e["MS-Gothic"] = "MS Gothic"; e["MS-Gothic-Bold"] = "MS Gothic-Bold"; e["MS-Gothic-BoldItalic"] = "MS Gothic-BoldItalic"; e["MS-Gothic-Italic"] = "MS Gothic-Italic"; e["MS-Mincho"] = "MS Mincho"; e["MS-Mincho-Bold"] = "MS Mincho-Bold"; e["MS-Mincho-BoldItalic"] = "MS Mincho-BoldItalic"; e["MS-Mincho-Italic"] = "MS Mincho-Italic"; e["MS-PGothic"] = "MS PGothic"; e["MS-PGothic-Bold"] = "MS PGothic-Bold"; e["MS-PGothic-BoldItalic"] = "MS PGothic-BoldItalic"; e["MS-PGothic-Italic"] = "MS PGothic-Italic"; e["MS-PMincho"] = "MS PMincho"; e["MS-PMincho-Bold"] = "MS PMincho-Bold"; e["MS-PMincho-BoldItalic"] = "MS PMincho-BoldItalic"; e["MS-PMincho-Italic"] = "MS PMincho-Italic"; e.NuptialScript = "Times-Italic"; e.SegoeUISymbol = "Helvetica"; })), ji = getLookupTableFactory((function (e) { e["Adobe Jenson"] = !0; e["Adobe Text"] = !0; e.Albertus = !0; e.Aldus = !0; e.Alexandria = !0; e.Algerian = !0; e["American Typewriter"] = !0; e.Antiqua = !0; e.Apex = !0; e.Arno = !0; e.Aster = !0; e.Aurora = !0; e.Baskerville = !0; e.Bell = !0; e.Bembo = !0; e["Bembo Schoolbook"] = !0; e.Benguiat = !0; e["Berkeley Old Style"] = !0; e["Bernhard Modern"] = !0; e["Berthold City"] = !0; e.Bodoni = !0; e["Bauer Bodoni"] = !0; e["Book Antiqua"] = !0; e.Bookman = !0; e["Bordeaux Roman"] = !0; e["Californian FB"] = !0; e.Calisto = !0; e.Calvert = !0; e.Capitals = !0; e.Cambria = !0; e.Cartier = !0; e.Caslon = !0; e.Catull = !0; e.Centaur = !0; e["Century Old Style"] = !0; e["Century Schoolbook"] = !0; e.Chaparral = !0; e["Charis SIL"] = !0; e.Cheltenham = !0; e["Cholla Slab"] = !0; e.Clarendon = !0; e.Clearface = !0; e.Cochin = !0; e.Colonna = !0; e["Computer Modern"] = !0; e["Concrete Roman"] = !0; e.Constantia = !0; e["Cooper Black"] = !0; e.Corona = !0; e.Ecotype = !0; e.Egyptienne = !0; e.Elephant = !0; e.Excelsior = !0; e.Fairfield = !0; e["FF Scala"] = !0; e.Folkard = !0; e.Footlight = !0; e.FreeSerif = !0; e["Friz Quadrata"] = !0; e.Garamond = !0; e.Gentium = !0; e.Georgia = !0; e.Gloucester = !0; e["Goudy Old Style"] = !0; e["Goudy Schoolbook"] = !0; e["Goudy Pro Font"] = !0; e.Granjon = !0; e["Guardian Egyptian"] = !0; e.Heather = !0; e.Hercules = !0; e["High Tower Text"] = !0; e.Hiroshige = !0; e["Hoefler Text"] = !0; e["Humana Serif"] = !0; e.Imprint = !0; e["Ionic No. 5"] = !0; e.Janson = !0; e.Joanna = !0; e.Korinna = !0; e.Lexicon = !0; e.LiberationSerif = !0; e["Liberation Serif"] = !0; e["Linux Libertine"] = !0; e.Literaturnaya = !0; e.Lucida = !0; e["Lucida Bright"] = !0; e.Melior = !0; e.Memphis = !0; e.Miller = !0; e.Minion = !0; e.Modern = !0; e["Mona Lisa"] = !0; e["Mrs Eaves"] = !0; e["MS Serif"] = !0; e["Museo Slab"] = !0; e["New York"] = !0; e["Nimbus Roman"] = !0; e["NPS Rawlinson Roadway"] = !0; e.NuptialScript = !0; e.Palatino = !0; e.Perpetua = !0; e.Plantin = !0; e["Plantin Schoolbook"] = !0; e.Playbill = !0; e["Poor Richard"] = !0; e["Rawlinson Roadway"] = !0; e.Renault = !0; e.Requiem = !0; e.Rockwell = !0; e.Roman = !0; e["Rotis Serif"] = !0; e.Sabon = !0; e.Scala = !0; e.Seagull = !0; e.Sistina = !0; e.Souvenir = !0; e.STIX = !0; e["Stone Informal"] = !0; e["Stone Serif"] = !0; e.Sylfaen = !0; e.Times = !0; e.Trajan = !0; e["Trinité"] = !0; e["Trump Mediaeval"] = !0; e.Utopia = !0; e["Vale Type"] = !0; e["Bitstream Vera"] = !0; e["Vera Serif"] = !0; e.Versailles = !0; e.Wanted = !0; e.Weiss = !0; e["Wide Latin"] = !0; e.Windsor = !0; e.XITS = !0; })), Zi = getLookupTableFactory((function (e) { e.Dingbats = !0; e.Symbol = !0; e.ZapfDingbats = !0; e.Wingdings = !0; e["Wingdings-Bold"] = !0; e["Wingdings-Regular"] = !0; })), Vi = getLookupTableFactory((function (e) { e[2] = 10; e[3] = 32; e[4] = 33; e[5] = 34; e[6] = 35; e[7] = 36; e[8] = 37; e[9] = 38; e[10] = 39; e[11] = 40; e[12] = 41; e[13] = 42; e[14] = 43; e[15] = 44; e[16] = 45; e[17] = 46; e[18] = 47; e[19] = 48; e[20] = 49; e[21] = 50; e[22] = 51; e[23] = 52; e[24] = 53; e[25] = 54; e[26] = 55; e[27] = 56; e[28] = 57; e[29] = 58; e[30] = 894; e[31] = 60; e[32] = 61; e[33] = 62; e[34] = 63; e[35] = 64; e[36] = 65; e[37] = 66; e[38] = 67; e[39] = 68; e[40] = 69; e[41] = 70; e[42] = 71; e[43] = 72; e[44] = 73; e[45] = 74; e[46] = 75; e[47] = 76; e[48] = 77; e[49] = 78; e[50] = 79; e[51] = 80; e[52] = 81; e[53] = 82; e[54] = 83; e[55] = 84; e[56] = 85; e[57] = 86; e[58] = 87; e[59] = 88; e[60] = 89; e[61] = 90; e[62] = 91; e[63] = 92; e[64] = 93; e[65] = 94; e[66] = 95; e[67] = 96; e[68] = 97; e[69] = 98; e[70] = 99; e[71] = 100; e[72] = 101; e[73] = 102; e[74] = 103; e[75] = 104; e[76] = 105; e[77] = 106; e[78] = 107; e[79] = 108; e[80] = 109; e[81] = 110; e[82] = 111; e[83] = 112; e[84] = 113; e[85] = 114; e[86] = 115; e[87] = 116; e[88] = 117; e[89] = 118; e[90] = 119; e[91] = 120; e[92] = 121; e[93] = 122; e[94] = 123; e[95] = 124; e[96] = 125; e[97] = 126; e[98] = 196; e[99] = 197; e[100] = 199; e[101] = 201; e[102] = 209; e[103] = 214; e[104] = 220; e[105] = 225; e[106] = 224; e[107] = 226; e[108] = 228; e[109] = 227; e[110] = 229; e[111] = 231; e[112] = 233; e[113] = 232; e[114] = 234; e[115] = 235; e[116] = 237; e[117] = 236; e[118] = 238; e[119] = 239; e[120] = 241; e[121] = 243; e[122] = 242; e[123] = 244; e[124] = 246; e[125] = 245; e[126] = 250; e[127] = 249; e[128] = 251; e[129] = 252; e[130] = 8224; e[131] = 176; e[132] = 162; e[133] = 163; e[134] = 167; e[135] = 8226; e[136] = 182; e[137] = 223; e[138] = 174; e[139] = 169; e[140] = 8482; e[141] = 180; e[142] = 168; e[143] = 8800; e[144] = 198; e[145] = 216; e[146] = 8734; e[147] = 177; e[148] = 8804; e[149] = 8805; e[150] = 165; e[151] = 181; e[152] = 8706; e[153] = 8721; e[154] = 8719; e[156] = 8747; e[157] = 170; e[158] = 186; e[159] = 8486; e[160] = 230; e[161] = 248; e[162] = 191; e[163] = 161; e[164] = 172; e[165] = 8730; e[166] = 402; e[167] = 8776; e[168] = 8710; e[169] = 171; e[170] = 187; e[171] = 8230; e[179] = 8220; e[180] = 8221; e[181] = 8216; e[182] = 8217; e[200] = 193; e[203] = 205; e[207] = 211; e[210] = 218; e[223] = 711; e[224] = 321; e[225] = 322; e[226] = 352; e[227] = 353; e[228] = 381; e[229] = 382; e[233] = 221; e[234] = 253; e[252] = 263; e[253] = 268; e[254] = 269; e[258] = 258; e[260] = 260; e[261] = 261; e[265] = 280; e[266] = 281; e[267] = 282; e[268] = 283; e[269] = 313; e[275] = 323; e[276] = 324; e[278] = 328; e[283] = 344; e[284] = 345; e[285] = 346; e[286] = 347; e[292] = 367; e[295] = 377; e[296] = 378; e[298] = 380; e[305] = 963; e[306] = 964; e[307] = 966; e[308] = 8215; e[309] = 8252; e[310] = 8319; e[311] = 8359; e[312] = 8592; e[313] = 8593; e[337] = 9552; e[493] = 1039; e[494] = 1040; e[672] = 1488; e[673] = 1489; e[674] = 1490; e[675] = 1491; e[676] = 1492; e[677] = 1493; e[678] = 1494; e[679] = 1495; e[680] = 1496; e[681] = 1497; e[682] = 1498; e[683] = 1499; e[684] = 1500; e[685] = 1501; e[686] = 1502; e[687] = 1503; e[688] = 1504; e[689] = 1505; e[690] = 1506; e[691] = 1507; e[692] = 1508; e[693] = 1509; e[694] = 1510; e[695] = 1511; e[696] = 1512; e[697] = 1513; e[698] = 1514; e[705] = 1524; e[706] = 8362; e[710] = 64288; e[711] = 64298; e[759] = 1617; e[761] = 1776; e[763] = 1778; e[775] = 1652; e[777] = 1764; e[778] = 1780; e[779] = 1781; e[780] = 1782; e[782] = 771; e[783] = 64726; e[786] = 8363; e[788] = 8532; e[790] = 768; e[791] = 769; e[792] = 768; e[795] = 803; e[797] = 64336; e[798] = 64337; e[799] = 64342; e[800] = 64343; e[801] = 64344; e[802] = 64345; e[803] = 64362; e[804] = 64363; e[805] = 64364; e[2424] = 7821; e[2425] = 7822; e[2426] = 7823; e[2427] = 7824; e[2428] = 7825; e[2429] = 7826; e[2430] = 7827; e[2433] = 7682; e[2678] = 8045; e[2679] = 8046; e[2830] = 1552; e[2838] = 686; e[2840] = 751; e[2842] = 753; e[2843] = 754; e[2844] = 755; e[2846] = 757; e[2856] = 767; e[2857] = 848; e[2858] = 849; e[2862] = 853; e[2863] = 854; e[2864] = 855; e[2865] = 861; e[2866] = 862; e[2906] = 7460; e[2908] = 7462; e[2909] = 7463; e[2910] = 7464; e[2912] = 7466; e[2913] = 7467; e[2914] = 7468; e[2916] = 7470; e[2917] = 7471; e[2918] = 7472; e[2920] = 7474; e[2921] = 7475; e[2922] = 7476; e[2924] = 7478; e[2925] = 7479; e[2926] = 7480; e[2928] = 7482; e[2929] = 7483; e[2930] = 7484; e[2932] = 7486; e[2933] = 7487; e[2934] = 7488; e[2936] = 7490; e[2937] = 7491; e[2938] = 7492; e[2940] = 7494; e[2941] = 7495; e[2942] = 7496; e[2944] = 7498; e[2946] = 7500; e[2948] = 7502; e[2950] = 7504; e[2951] = 7505; e[2952] = 7506; e[2954] = 7508; e[2955] = 7509; e[2956] = 7510; e[2958] = 7512; e[2959] = 7513; e[2960] = 7514; e[2962] = 7516; e[2963] = 7517; e[2964] = 7518; e[2966] = 7520; e[2967] = 7521; e[2968] = 7522; e[2970] = 7524; e[2971] = 7525; e[2972] = 7526; e[2974] = 7528; e[2975] = 7529; e[2976] = 7530; e[2978] = 1537; e[2979] = 1538; e[2980] = 1539; e[2982] = 1549; e[2983] = 1551; e[2984] = 1552; e[2986] = 1554; e[2987] = 1555; e[2988] = 1556; e[2990] = 1623; e[2991] = 1624; e[2995] = 1775; e[2999] = 1791; e[3002] = 64290; e[3003] = 64291; e[3004] = 64292; e[3006] = 64294; e[3007] = 64295; e[3008] = 64296; e[3011] = 1900; e[3014] = 8223; e[3015] = 8244; e[3017] = 7532; e[3018] = 7533; e[3019] = 7534; e[3075] = 7590; e[3076] = 7591; e[3079] = 7594; e[3080] = 7595; e[3083] = 7598; e[3084] = 7599; e[3087] = 7602; e[3088] = 7603; e[3091] = 7606; e[3092] = 7607; e[3095] = 7610; e[3096] = 7611; e[3099] = 7614; e[3100] = 7615; e[3103] = 7618; e[3104] = 7619; e[3107] = 8337; e[3108] = 8338; e[3116] = 1884; e[3119] = 1885; e[3120] = 1885; e[3123] = 1886; e[3124] = 1886; e[3127] = 1887; e[3128] = 1887; e[3131] = 1888; e[3132] = 1888; e[3135] = 1889; e[3136] = 1889; e[3139] = 1890; e[3140] = 1890; e[3143] = 1891; e[3144] = 1891; e[3147] = 1892; e[3148] = 1892; e[3153] = 580; e[3154] = 581; e[3157] = 584; e[3158] = 585; e[3161] = 588; e[3162] = 589; e[3165] = 891; e[3166] = 892; e[3169] = 1274; e[3170] = 1275; e[3173] = 1278; e[3174] = 1279; e[3181] = 7622; e[3182] = 7623; e[3282] = 11799; e[3316] = 578; e[3379] = 42785; e[3393] = 1159; e[3416] = 8377; })), zi = getLookupTableFactory((function (e) { e[227] = 322; e[264] = 261; e[291] = 346; })), _i = getLookupTableFactory((function (e) { e[1] = 32; e[4] = 65; e[5] = 192; e[6] = 193; e[9] = 196; e[17] = 66; e[18] = 67; e[21] = 268; e[24] = 68; e[28] = 69; e[29] = 200; e[30] = 201; e[32] = 282; e[38] = 70; e[39] = 71; e[44] = 72; e[47] = 73; e[48] = 204; e[49] = 205; e[58] = 74; e[60] = 75; e[62] = 76; e[68] = 77; e[69] = 78; e[75] = 79; e[76] = 210; e[80] = 214; e[87] = 80; e[89] = 81; e[90] = 82; e[92] = 344; e[94] = 83; e[97] = 352; e[100] = 84; e[104] = 85; e[109] = 220; e[115] = 86; e[116] = 87; e[121] = 88; e[122] = 89; e[124] = 221; e[127] = 90; e[129] = 381; e[258] = 97; e[259] = 224; e[260] = 225; e[263] = 228; e[268] = 261; e[271] = 98; e[272] = 99; e[273] = 263; e[275] = 269; e[282] = 100; e[286] = 101; e[287] = 232; e[288] = 233; e[290] = 283; e[295] = 281; e[296] = 102; e[336] = 103; e[346] = 104; e[349] = 105; e[350] = 236; e[351] = 237; e[361] = 106; e[364] = 107; e[367] = 108; e[371] = 322; e[373] = 109; e[374] = 110; e[381] = 111; e[382] = 242; e[383] = 243; e[386] = 246; e[393] = 112; e[395] = 113; e[396] = 114; e[398] = 345; e[400] = 115; e[401] = 347; e[403] = 353; e[410] = 116; e[437] = 117; e[442] = 252; e[448] = 118; e[449] = 119; e[454] = 120; e[455] = 121; e[457] = 253; e[460] = 122; e[462] = 382; e[463] = 380; e[853] = 44; e[855] = 58; e[856] = 46; e[876] = 47; e[878] = 45; e[882] = 45; e[894] = 40; e[895] = 41; e[896] = 91; e[897] = 93; e[923] = 64; e[1004] = 48; e[1005] = 49; e[1006] = 50; e[1007] = 51; e[1008] = 52; e[1009] = 53; e[1010] = 54; e[1011] = 55; e[1012] = 56; e[1013] = 57; e[1081] = 37; e[1085] = 43; e[1086] = 45; }));
  6526. function getStandardFontName(e) { var t = normalizeFontName(e); return Pi()[t]; }
  6527. function isKnownFontName(e) { var t = normalizeFontName(e); return !!(Pi()[t] || Xi()[t] || ji()[t] || Zi()[t]); }
  6528. var ToUnicodeMap = /** @class */ (function () {
  6529. function ToUnicodeMap(e) {
  6530. if (e === void 0) { e = []; }
  6531. this._map = e;
  6532. }
  6533. Object.defineProperty(ToUnicodeMap.prototype, "length", {
  6534. get: function () { return this._map.length; },
  6535. enumerable: false,
  6536. configurable: true
  6537. });
  6538. ToUnicodeMap.prototype.forEach = function (e) { for (var t_116 in this._map)
  6539. e(t_116, this._map[t_116].charCodeAt(0)); };
  6540. ToUnicodeMap.prototype.has = function (e) { return void 0 !== this._map[e]; };
  6541. ToUnicodeMap.prototype.get = function (e) { return this._map[e]; };
  6542. ToUnicodeMap.prototype.charCodeOf = function (e) { var t = this._map; if (t.length <= 65536)
  6543. return t.indexOf(e); for (var i_104 in t)
  6544. if (t[i_104] === e)
  6545. return 0 | i_104; return -1; };
  6546. ToUnicodeMap.prototype.amend = function (e) { for (var t_117 in e)
  6547. this._map[t_117] = e[t_117]; };
  6548. return ToUnicodeMap;
  6549. }());
  6550. var IdentityToUnicodeMap = /** @class */ (function () {
  6551. function IdentityToUnicodeMap(e, t) {
  6552. this.firstChar = e;
  6553. this.lastChar = t;
  6554. }
  6555. Object.defineProperty(IdentityToUnicodeMap.prototype, "length", {
  6556. get: function () { return this.lastChar + 1 - this.firstChar; },
  6557. enumerable: false,
  6558. configurable: true
  6559. });
  6560. IdentityToUnicodeMap.prototype.forEach = function (e) { for (var t_118 = this.firstChar, i_105 = this.lastChar; t_118 <= i_105; t_118++)
  6561. e(t_118, t_118); };
  6562. IdentityToUnicodeMap.prototype.has = function (e) { return this.firstChar <= e && e <= this.lastChar; };
  6563. IdentityToUnicodeMap.prototype.get = function (e) { if (this.firstChar <= e && e <= this.lastChar)
  6564. return String.fromCharCode(e); };
  6565. IdentityToUnicodeMap.prototype.charCodeOf = function (e) { return Number.isInteger(e) && e >= this.firstChar && e <= this.lastChar ? e : -1; };
  6566. IdentityToUnicodeMap.prototype.amend = function (e) { unreachable("Should not call amend()"); };
  6567. return IdentityToUnicodeMap;
  6568. }());
  6569. var CFFFont = /** @class */ (function () {
  6570. function CFFFont(e, t) {
  6571. this.properties = t;
  6572. var i = new CFFParser(e, t, Yi);
  6573. this.cff = i.parse();
  6574. this.cff.duplicateFirstGlyph();
  6575. var a = new CFFCompiler(this.cff);
  6576. this.seacs = this.cff.seacs;
  6577. try {
  6578. this.data = a.compile();
  6579. }
  6580. catch (_b) {
  6581. warn("Failed to compile font " + t.loadedName);
  6582. this.data = e;
  6583. }
  6584. this._createBuiltInEncoding();
  6585. }
  6586. Object.defineProperty(CFFFont.prototype, "numGlyphs", {
  6587. get: function () { return this.cff.charStrings.count; },
  6588. enumerable: false,
  6589. configurable: true
  6590. });
  6591. CFFFont.prototype.getCharset = function () { return this.cff.charset.charset; };
  6592. CFFFont.prototype.getGlyphMapping = function () { var e = this.cff, t = this.properties, i = t.cidToGidMap, a = t.cMap, s = e.charset.charset; var r, n; if (t.composite) {
  6593. var t_119, o_24;
  6594. if ((i === null || i === void 0 ? void 0 : i.length) > 0) {
  6595. t_119 = Object.create(null);
  6596. for (var e_137 = 0, a_99 = i.length; e_137 < a_99; e_137++) {
  6597. var a_100 = i[e_137];
  6598. void 0 !== a_100 && (t_119[a_100] = e_137);
  6599. }
  6600. }
  6601. r = Object.create(null);
  6602. if (e.isCIDFont)
  6603. for (n = 0; n < s.length; n++) {
  6604. var e_138 = s[n];
  6605. o_24 = a.charCodeOf(e_138);
  6606. void 0 !== (t_119 === null || t_119 === void 0 ? void 0 : t_119[o_24]) && (o_24 = t_119[o_24]);
  6607. r[o_24] = n;
  6608. }
  6609. else
  6610. for (n = 0; n < e.charStrings.count; n++) {
  6611. o_24 = a.charCodeOf(n);
  6612. r[o_24] = n;
  6613. }
  6614. return r;
  6615. } var o = e.encoding ? e.encoding.encoding : null; t.isInternalFont && (o = t.defaultEncoding); r = type1FontGlyphMapping(t, o, s); return r; };
  6616. CFFFont.prototype.hasGlyphId = function (e) { return this.cff.hasGlyphId(e); };
  6617. CFFFont.prototype._createBuiltInEncoding = function () { var _b = this.cff, e = _b.charset, t = _b.encoding; if (!e || !t)
  6618. return; var i = e.charset, a = t.encoding, s = []; for (var e_139 in a) {
  6619. var t_120 = a[e_139];
  6620. if (t_120 >= 0) {
  6621. var a_101 = i[t_120];
  6622. a_101 && (s[e_139] = a_101);
  6623. }
  6624. } s.length > 0 && (this.properties.builtInEncoding = s); };
  6625. return CFFFont;
  6626. }());
  6627. function getUint32(e, t) { return (e[t] << 24 | e[t + 1] << 16 | e[t + 2] << 8 | e[t + 3]) >>> 0; }
  6628. function getUint16(e, t) { return e[t] << 8 | e[t + 1]; }
  6629. function getInt16(e, t) { return (e[t] << 24 | e[t + 1] << 16) >> 16; }
  6630. function getInt8(e, t) { return e[t] << 24 >> 24; }
  6631. function getFloat214(e, t) { return getInt16(e, t) / 16384; }
  6632. function getSubroutineBias(e) { var t = e.length; var i = 32768; t < 1240 ? i = 107 : t < 33900 && (i = 1131); return i; }
  6633. function parseCmap(e, t, i) { var a = 1 === getUint16(e, t + 2) ? getUint32(e, t + 8) : getUint32(e, t + 16), s = getUint16(e, t + a); var r, n, o; if (4 === s) {
  6634. getUint16(e, t + a + 2);
  6635. var i_106 = getUint16(e, t + a + 6) >> 1;
  6636. n = t + a + 14;
  6637. r = [];
  6638. for (o = 0; o < i_106; o++, n += 2)
  6639. r[o] = { end: getUint16(e, n) };
  6640. n += 2;
  6641. for (o = 0; o < i_106; o++, n += 2)
  6642. r[o].start = getUint16(e, n);
  6643. for (o = 0; o < i_106; o++, n += 2)
  6644. r[o].idDelta = getUint16(e, n);
  6645. for (o = 0; o < i_106; o++, n += 2) {
  6646. var t_121 = getUint16(e, n);
  6647. if (0 !== t_121) {
  6648. r[o].ids = [];
  6649. for (var i_107 = 0, a_102 = r[o].end - r[o].start + 1; i_107 < a_102; i_107++) {
  6650. r[o].ids[i_107] = getUint16(e, n + t_121);
  6651. t_121 += 2;
  6652. }
  6653. }
  6654. }
  6655. return r;
  6656. } if (12 === s) {
  6657. var i_108 = getUint32(e, t + a + 12);
  6658. n = t + a + 16;
  6659. r = [];
  6660. for (o = 0; o < i_108; o++) {
  6661. t = getUint32(e, n);
  6662. r.push({ start: t, end: getUint32(e, n + 4), idDelta: getUint32(e, n + 8) - t });
  6663. n += 12;
  6664. }
  6665. return r;
  6666. } throw new FormatError("unsupported cmap: ".concat(s)); }
  6667. function parseCff(e, t, i, a) { var _b, _h, _j; var s = new CFFParser(new Stream(e, t, i - t), {}, a).parse(); return { glyphs: s.charStrings.objects, subrs: (_h = (_b = s.topDict.privateDict) === null || _b === void 0 ? void 0 : _b.subrsIndex) === null || _h === void 0 ? void 0 : _h.objects, gsubrs: (_j = s.globalSubrIndex) === null || _j === void 0 ? void 0 : _j.objects, isCFFCIDFont: s.isCIDFont, fdSelect: s.fdSelect, fdArray: s.fdArray }; }
  6668. function lookupCmap(e, t) { var i = t.codePointAt(0); var a = 0, s = 0, r = e.length - 1; for (; s < r;) {
  6669. var t_122 = s + r + 1 >> 1;
  6670. i < e[t_122].start ? r = t_122 - 1 : s = t_122;
  6671. } e[s].start <= i && i <= e[s].end && (a = e[s].idDelta + (e[s].ids ? e[s].ids[i - e[s].start] : i) & 65535); return { charCode: i, glyphId: a }; }
  6672. function compileGlyf(e, t, i) { function moveTo(e, i) { t.add(ht, [e, i]); } function lineTo(e, i) { t.add(lt, [e, i]); } function quadraticCurveTo(e, i, a, s) { t.add(Ct, [e, i, a, s]); } var a = 0; var s = getInt16(e, a); var r, n = 0, o = 0; a += 10; if (s < 0)
  6673. do {
  6674. r = getUint16(e, a);
  6675. var s_70 = getUint16(e, a + 2);
  6676. a += 4;
  6677. var g_16 = void 0, c_8 = void 0;
  6678. if (1 & r) {
  6679. if (2 & r) {
  6680. g_16 = getInt16(e, a);
  6681. c_8 = getInt16(e, a + 2);
  6682. }
  6683. else {
  6684. g_16 = getUint16(e, a);
  6685. c_8 = getUint16(e, a + 2);
  6686. }
  6687. a += 4;
  6688. }
  6689. else if (2 & r) {
  6690. g_16 = getInt8(e, a++);
  6691. c_8 = getInt8(e, a++);
  6692. }
  6693. else {
  6694. g_16 = e[a++];
  6695. c_8 = e[a++];
  6696. }
  6697. if (2 & r) {
  6698. n = g_16;
  6699. o = c_8;
  6700. }
  6701. else {
  6702. n = 0;
  6703. o = 0;
  6704. }
  6705. var h_5 = 1, l_7 = 1, C_8 = 0, Q_9 = 0;
  6706. if (8 & r) {
  6707. h_5 = l_7 = getFloat214(e, a);
  6708. a += 2;
  6709. }
  6710. else if (64 & r) {
  6711. h_5 = getFloat214(e, a);
  6712. l_7 = getFloat214(e, a + 2);
  6713. a += 4;
  6714. }
  6715. else if (128 & r) {
  6716. h_5 = getFloat214(e, a);
  6717. C_8 = getFloat214(e, a + 2);
  6718. Q_9 = getFloat214(e, a + 4);
  6719. l_7 = getFloat214(e, a + 6);
  6720. a += 8;
  6721. }
  6722. var E_7 = i.glyphs[s_70];
  6723. if (E_7) {
  6724. t.add(Qt);
  6725. t.add(ut, [h_5, C_8, Q_9, l_7, n, o]);
  6726. compileGlyf(E_7, t, i);
  6727. t.add(Bt);
  6728. }
  6729. } while (32 & r);
  6730. else {
  6731. var t_123 = [];
  6732. var i_109, g_17;
  6733. for (i_109 = 0; i_109 < s; i_109++) {
  6734. t_123.push(getUint16(e, a));
  6735. a += 2;
  6736. }
  6737. a += 2 + getUint16(e, a);
  6738. var c_9 = t_123.at(-1) + 1, h_6 = [];
  6739. for (; h_6.length < c_9;) {
  6740. r = e[a++];
  6741. var t_124 = 1;
  6742. 8 & r && (t_124 += e[a++]);
  6743. for (; t_124-- > 0;)
  6744. h_6.push({ flags: r });
  6745. }
  6746. for (i_109 = 0; i_109 < c_9; i_109++) {
  6747. switch (18 & h_6[i_109].flags) {
  6748. case 0:
  6749. n += getInt16(e, a);
  6750. a += 2;
  6751. break;
  6752. case 2:
  6753. n -= e[a++];
  6754. break;
  6755. case 18: n += e[a++];
  6756. }
  6757. h_6[i_109].x = n;
  6758. }
  6759. for (i_109 = 0; i_109 < c_9; i_109++) {
  6760. switch (36 & h_6[i_109].flags) {
  6761. case 0:
  6762. o += getInt16(e, a);
  6763. a += 2;
  6764. break;
  6765. case 4:
  6766. o -= e[a++];
  6767. break;
  6768. case 36: o += e[a++];
  6769. }
  6770. h_6[i_109].y = o;
  6771. }
  6772. var l_8 = 0;
  6773. for (a = 0; a < s; a++) {
  6774. var e_140 = t_123[a], s_71 = h_6.slice(l_8, e_140 + 1);
  6775. if (1 & s_71[0].flags)
  6776. s_71.push(s_71[0]);
  6777. else if (1 & s_71.at(-1).flags)
  6778. s_71.unshift(s_71.at(-1));
  6779. else {
  6780. var e_141 = { flags: 1, x: (s_71[0].x + s_71.at(-1).x) / 2, y: (s_71[0].y + s_71.at(-1).y) / 2 };
  6781. s_71.unshift(e_141);
  6782. s_71.push(e_141);
  6783. }
  6784. moveTo(s_71[0].x, s_71[0].y);
  6785. for (i_109 = 1, g_17 = s_71.length; i_109 < g_17; i_109++)
  6786. if (1 & s_71[i_109].flags)
  6787. lineTo(s_71[i_109].x, s_71[i_109].y);
  6788. else if (1 & s_71[i_109 + 1].flags) {
  6789. quadraticCurveTo(s_71[i_109].x, s_71[i_109].y, s_71[i_109 + 1].x, s_71[i_109 + 1].y);
  6790. i_109++;
  6791. }
  6792. else
  6793. quadraticCurveTo(s_71[i_109].x, s_71[i_109].y, (s_71[i_109].x + s_71[i_109 + 1].x) / 2, (s_71[i_109].y + s_71[i_109 + 1].y) / 2);
  6794. l_8 = e_140 + 1;
  6795. }
  6796. } }
  6797. function compileCharString(e, t, i, a) { function moveTo(e, i) { t.add(ht, [e, i]); } function lineTo(e, i) { t.add(lt, [e, i]); } function bezierCurveTo(e, i, a, s, r, n) { t.add(ct, [e, i, a, s, r, n]); } var s = []; var r = 0, n = 0, o = 0; !function parse(e) { var _b; var g = 0; for (; g < e.length;) {
  6798. var c_10 = void 0, h_7 = void 0, l_9 = void 0, C_9 = void 0, Q_10 = void 0, E_8 = void 0, u_4 = void 0, d_4 = void 0, f_6 = void 0, p_4 = !1, m_4 = e[g++];
  6799. switch (m_4) {
  6800. case 1:
  6801. case 3:
  6802. case 18:
  6803. case 23:
  6804. o += s.length >> 1;
  6805. p_4 = !0;
  6806. break;
  6807. case 4:
  6808. n += s.pop();
  6809. moveTo(r, n);
  6810. p_4 = !0;
  6811. break;
  6812. case 5:
  6813. for (; s.length > 0;) {
  6814. r += s.shift();
  6815. n += s.shift();
  6816. lineTo(r, n);
  6817. }
  6818. break;
  6819. case 6:
  6820. for (; s.length > 0;) {
  6821. r += s.shift();
  6822. lineTo(r, n);
  6823. if (0 === s.length)
  6824. break;
  6825. n += s.shift();
  6826. lineTo(r, n);
  6827. }
  6828. break;
  6829. case 7:
  6830. for (; s.length > 0;) {
  6831. n += s.shift();
  6832. lineTo(r, n);
  6833. if (0 === s.length)
  6834. break;
  6835. r += s.shift();
  6836. lineTo(r, n);
  6837. }
  6838. break;
  6839. case 8:
  6840. for (; s.length > 0;) {
  6841. c_10 = r + s.shift();
  6842. l_9 = n + s.shift();
  6843. h_7 = c_10 + s.shift();
  6844. C_9 = l_9 + s.shift();
  6845. r = h_7 + s.shift();
  6846. n = C_9 + s.shift();
  6847. bezierCurveTo(c_10, l_9, h_7, C_9, r, n);
  6848. }
  6849. break;
  6850. case 10:
  6851. d_4 = s.pop();
  6852. f_6 = null;
  6853. if (i.isCFFCIDFont) {
  6854. var e_142 = i.fdSelect.getFDIndex(a);
  6855. if (e_142 >= 0 && e_142 < i.fdArray.length) {
  6856. var t_125 = i.fdArray[e_142];
  6857. var a_103 = void 0;
  6858. ((_b = t_125.privateDict) === null || _b === void 0 ? void 0 : _b.subrsIndex) && (a_103 = t_125.privateDict.subrsIndex.objects);
  6859. if (a_103) {
  6860. d_4 += getSubroutineBias(a_103);
  6861. f_6 = a_103[d_4];
  6862. }
  6863. }
  6864. else
  6865. warn("Invalid fd index for glyph index.");
  6866. }
  6867. else
  6868. f_6 = i.subrs[d_4 + i.subrsBias];
  6869. f_6 && parse(f_6);
  6870. break;
  6871. case 11: return;
  6872. case 12:
  6873. m_4 = e[g++];
  6874. switch (m_4) {
  6875. case 34:
  6876. c_10 = r + s.shift();
  6877. h_7 = c_10 + s.shift();
  6878. Q_10 = n + s.shift();
  6879. r = h_7 + s.shift();
  6880. bezierCurveTo(c_10, n, h_7, Q_10, r, Q_10);
  6881. c_10 = r + s.shift();
  6882. h_7 = c_10 + s.shift();
  6883. r = h_7 + s.shift();
  6884. bezierCurveTo(c_10, Q_10, h_7, n, r, n);
  6885. break;
  6886. case 35:
  6887. c_10 = r + s.shift();
  6888. l_9 = n + s.shift();
  6889. h_7 = c_10 + s.shift();
  6890. C_9 = l_9 + s.shift();
  6891. r = h_7 + s.shift();
  6892. n = C_9 + s.shift();
  6893. bezierCurveTo(c_10, l_9, h_7, C_9, r, n);
  6894. c_10 = r + s.shift();
  6895. l_9 = n + s.shift();
  6896. h_7 = c_10 + s.shift();
  6897. C_9 = l_9 + s.shift();
  6898. r = h_7 + s.shift();
  6899. n = C_9 + s.shift();
  6900. bezierCurveTo(c_10, l_9, h_7, C_9, r, n);
  6901. s.pop();
  6902. break;
  6903. case 36:
  6904. c_10 = r + s.shift();
  6905. Q_10 = n + s.shift();
  6906. h_7 = c_10 + s.shift();
  6907. E_8 = Q_10 + s.shift();
  6908. r = h_7 + s.shift();
  6909. bezierCurveTo(c_10, Q_10, h_7, E_8, r, E_8);
  6910. c_10 = r + s.shift();
  6911. h_7 = c_10 + s.shift();
  6912. u_4 = E_8 + s.shift();
  6913. r = h_7 + s.shift();
  6914. bezierCurveTo(c_10, E_8, h_7, u_4, r, n);
  6915. break;
  6916. case 37:
  6917. var e_143 = r, t_126 = n;
  6918. c_10 = r + s.shift();
  6919. l_9 = n + s.shift();
  6920. h_7 = c_10 + s.shift();
  6921. C_9 = l_9 + s.shift();
  6922. r = h_7 + s.shift();
  6923. n = C_9 + s.shift();
  6924. bezierCurveTo(c_10, l_9, h_7, C_9, r, n);
  6925. c_10 = r + s.shift();
  6926. l_9 = n + s.shift();
  6927. h_7 = c_10 + s.shift();
  6928. C_9 = l_9 + s.shift();
  6929. r = h_7;
  6930. n = C_9;
  6931. Math.abs(r - e_143) > Math.abs(n - t_126) ? r += s.shift() : n += s.shift();
  6932. bezierCurveTo(c_10, l_9, h_7, C_9, r, n);
  6933. break;
  6934. default: throw new FormatError("unknown operator: 12 ".concat(m_4));
  6935. }
  6936. break;
  6937. case 14:
  6938. if (s.length >= 4) {
  6939. var e_144 = s.pop(), a_104 = s.pop();
  6940. n = s.pop();
  6941. r = s.pop();
  6942. t.add(Qt);
  6943. t.add(dt, [r, n]);
  6944. var o_25 = lookupCmap(i.cmap, String.fromCharCode(i.glyphNameMap[fi[e_144]]));
  6945. compileCharString(i.glyphs[o_25.glyphId], t, i, o_25.glyphId);
  6946. t.add(Bt);
  6947. o_25 = lookupCmap(i.cmap, String.fromCharCode(i.glyphNameMap[fi[a_104]]));
  6948. compileCharString(i.glyphs[o_25.glyphId], t, i, o_25.glyphId);
  6949. }
  6950. return;
  6951. case 19:
  6952. case 20:
  6953. o += s.length >> 1;
  6954. g += o + 7 >> 3;
  6955. p_4 = !0;
  6956. break;
  6957. case 21:
  6958. n += s.pop();
  6959. r += s.pop();
  6960. moveTo(r, n);
  6961. p_4 = !0;
  6962. break;
  6963. case 22:
  6964. r += s.pop();
  6965. moveTo(r, n);
  6966. p_4 = !0;
  6967. break;
  6968. case 24:
  6969. for (; s.length > 2;) {
  6970. c_10 = r + s.shift();
  6971. l_9 = n + s.shift();
  6972. h_7 = c_10 + s.shift();
  6973. C_9 = l_9 + s.shift();
  6974. r = h_7 + s.shift();
  6975. n = C_9 + s.shift();
  6976. bezierCurveTo(c_10, l_9, h_7, C_9, r, n);
  6977. }
  6978. r += s.shift();
  6979. n += s.shift();
  6980. lineTo(r, n);
  6981. break;
  6982. case 25:
  6983. for (; s.length > 6;) {
  6984. r += s.shift();
  6985. n += s.shift();
  6986. lineTo(r, n);
  6987. }
  6988. c_10 = r + s.shift();
  6989. l_9 = n + s.shift();
  6990. h_7 = c_10 + s.shift();
  6991. C_9 = l_9 + s.shift();
  6992. r = h_7 + s.shift();
  6993. n = C_9 + s.shift();
  6994. bezierCurveTo(c_10, l_9, h_7, C_9, r, n);
  6995. break;
  6996. case 26:
  6997. s.length % 2 && (r += s.shift());
  6998. for (; s.length > 0;) {
  6999. c_10 = r;
  7000. l_9 = n + s.shift();
  7001. h_7 = c_10 + s.shift();
  7002. C_9 = l_9 + s.shift();
  7003. r = h_7;
  7004. n = C_9 + s.shift();
  7005. bezierCurveTo(c_10, l_9, h_7, C_9, r, n);
  7006. }
  7007. break;
  7008. case 27:
  7009. s.length % 2 && (n += s.shift());
  7010. for (; s.length > 0;) {
  7011. c_10 = r + s.shift();
  7012. l_9 = n;
  7013. h_7 = c_10 + s.shift();
  7014. C_9 = l_9 + s.shift();
  7015. r = h_7 + s.shift();
  7016. n = C_9;
  7017. bezierCurveTo(c_10, l_9, h_7, C_9, r, n);
  7018. }
  7019. break;
  7020. case 28:
  7021. s.push((e[g] << 24 | e[g + 1] << 16) >> 16);
  7022. g += 2;
  7023. break;
  7024. case 29:
  7025. d_4 = s.pop() + i.gsubrsBias;
  7026. f_6 = i.gsubrs[d_4];
  7027. f_6 && parse(f_6);
  7028. break;
  7029. case 30:
  7030. for (; s.length > 0;) {
  7031. c_10 = r;
  7032. l_9 = n + s.shift();
  7033. h_7 = c_10 + s.shift();
  7034. C_9 = l_9 + s.shift();
  7035. r = h_7 + s.shift();
  7036. n = C_9 + (1 === s.length ? s.shift() : 0);
  7037. bezierCurveTo(c_10, l_9, h_7, C_9, r, n);
  7038. if (0 === s.length)
  7039. break;
  7040. c_10 = r + s.shift();
  7041. l_9 = n;
  7042. h_7 = c_10 + s.shift();
  7043. C_9 = l_9 + s.shift();
  7044. n = C_9 + s.shift();
  7045. r = h_7 + (1 === s.length ? s.shift() : 0);
  7046. bezierCurveTo(c_10, l_9, h_7, C_9, r, n);
  7047. }
  7048. break;
  7049. case 31:
  7050. for (; s.length > 0;) {
  7051. c_10 = r + s.shift();
  7052. l_9 = n;
  7053. h_7 = c_10 + s.shift();
  7054. C_9 = l_9 + s.shift();
  7055. n = C_9 + s.shift();
  7056. r = h_7 + (1 === s.length ? s.shift() : 0);
  7057. bezierCurveTo(c_10, l_9, h_7, C_9, r, n);
  7058. if (0 === s.length)
  7059. break;
  7060. c_10 = r;
  7061. l_9 = n + s.shift();
  7062. h_7 = c_10 + s.shift();
  7063. C_9 = l_9 + s.shift();
  7064. r = h_7 + s.shift();
  7065. n = C_9 + (1 === s.length ? s.shift() : 0);
  7066. bezierCurveTo(c_10, l_9, h_7, C_9, r, n);
  7067. }
  7068. break;
  7069. default:
  7070. if (m_4 < 32)
  7071. throw new FormatError("unknown operator: ".concat(m_4));
  7072. if (m_4 < 247)
  7073. s.push(m_4 - 139);
  7074. else if (m_4 < 251)
  7075. s.push(256 * (m_4 - 247) + e[g++] + 108);
  7076. else if (m_4 < 255)
  7077. s.push(256 * -(m_4 - 251) - e[g++] - 108);
  7078. else {
  7079. s.push((e[g] << 24 | e[g + 1] << 16 | e[g + 2] << 8 | e[g + 3]) / 65536);
  7080. g += 4;
  7081. }
  7082. }
  7083. p_4 && (s.length = 0);
  7084. } }(e); }
  7085. var $i = [];
  7086. var Commands = /** @class */ (function () {
  7087. function Commands() {
  7088. this.cmds = [];
  7089. }
  7090. Commands.prototype.add = function (e, t) {
  7091. var _b, _h;
  7092. if (t)
  7093. if (isNumberArray(t, null))
  7094. (_b = this.cmds).push.apply(_b, tslib_1.__spreadArray([e], t, false));
  7095. else {
  7096. warn("Commands.add - \"".concat(e, "\" has at least one non-number arg: \"").concat(t, "\"."));
  7097. var i_110 = t.map((function (e) { return "number" == typeof e ? e : 0; }));
  7098. (_h = this.cmds).push.apply(_h, tslib_1.__spreadArray([e], i_110, false));
  7099. }
  7100. else
  7101. this.cmds.push(e);
  7102. };
  7103. return Commands;
  7104. }());
  7105. var CompiledFont = /** @class */ (function () {
  7106. function CompiledFont(e) {
  7107. this.constructor === CompiledFont && unreachable("Cannot initialize CompiledFont.");
  7108. this.fontMatrix = e;
  7109. this.compiledGlyphs = Object.create(null);
  7110. this.compiledCharCodeToGlyphId = Object.create(null);
  7111. }
  7112. CompiledFont.prototype.getPathJs = function (e) { var _b; var _h; var _j = lookupCmap(this.cmap, e), t = _j.charCode, i = _j.glyphId; var a, s = this.compiledGlyphs[i]; if (!s) {
  7113. try {
  7114. s = this.compileGlyph(this.glyphs[i], i);
  7115. }
  7116. catch (e) {
  7117. s = $i;
  7118. a = e;
  7119. }
  7120. this.compiledGlyphs[i] = s;
  7121. } (_b = (_h = this.compiledCharCodeToGlyphId)[t]) !== null && _b !== void 0 ? _b : (_h[t] = i); if (a)
  7122. throw a; return s; };
  7123. CompiledFont.prototype.compileGlyph = function (e, t) { if (!e || 0 === e.length || 14 === e[0])
  7124. return $i; var i = this.fontMatrix; if (this.isCFFCIDFont) {
  7125. var e_145 = this.fdSelect.getFDIndex(t);
  7126. if (e_145 >= 0 && e_145 < this.fdArray.length) {
  7127. i = this.fdArray[e_145].getByName("FontMatrix") || a;
  7128. }
  7129. else
  7130. warn("Invalid fd index for glyph index.");
  7131. } var s = new Commands; s.add(Qt); s.add(ut, i.slice()); s.add(Et); this.compileGlyphImpl(e, s, t); s.add(Bt); return s.cmds; };
  7132. CompiledFont.prototype.compileGlyphImpl = function () { unreachable("Children classes should implement this."); };
  7133. CompiledFont.prototype.hasBuiltPath = function (e) { var _b = lookupCmap(this.cmap, e), t = _b.charCode, i = _b.glyphId; return void 0 !== this.compiledGlyphs[i] && void 0 !== this.compiledCharCodeToGlyphId[t]; };
  7134. return CompiledFont;
  7135. }());
  7136. var TrueTypeCompiled = /** @class */ (function (_super) {
  7137. tslib_1.__extends(TrueTypeCompiled, _super);
  7138. function TrueTypeCompiled(e, t, i) {
  7139. var _this = _super.call(this, i || [488e-6, 0, 0, 488e-6, 0, 0]) || this;
  7140. _this.glyphs = e;
  7141. _this.cmap = t;
  7142. return _this;
  7143. }
  7144. TrueTypeCompiled.prototype.compileGlyphImpl = function (e, t) { compileGlyf(e, t, this); };
  7145. return TrueTypeCompiled;
  7146. }(CompiledFont));
  7147. var Type2Compiled = /** @class */ (function (_super) {
  7148. tslib_1.__extends(Type2Compiled, _super);
  7149. function Type2Compiled(e, t, i, a) {
  7150. var _this = _super.call(this, i || [.001, 0, 0, .001, 0, 0]) || this;
  7151. _this.glyphs = e.glyphs;
  7152. _this.gsubrs = e.gsubrs || [];
  7153. _this.subrs = e.subrs || [];
  7154. _this.cmap = t;
  7155. _this.glyphNameMap = a || Ni();
  7156. _this.gsubrsBias = getSubroutineBias(_this.gsubrs);
  7157. _this.subrsBias = getSubroutineBias(_this.subrs);
  7158. _this.isCFFCIDFont = e.isCFFCIDFont;
  7159. _this.fdSelect = e.fdSelect;
  7160. _this.fdArray = e.fdArray;
  7161. return _this;
  7162. }
  7163. Type2Compiled.prototype.compileGlyphImpl = function (e, t, i) { compileCharString(e, t, this, i); };
  7164. return Type2Compiled;
  7165. }(CompiledFont));
  7166. var FontRendererFactory = /** @class */ (function () {
  7167. function FontRendererFactory() {
  7168. }
  7169. FontRendererFactory.create = function (e, t) { var i = new Uint8Array(e.data); var a, s, r, n, o, g; var c = getUint16(i, 4); for (var e_146 = 0, h_8 = 12; e_146 < c; e_146++, h_8 += 16) {
  7170. var e_147 = bytesToString(i.subarray(h_8, h_8 + 4)), c_11 = getUint32(i, h_8 + 8), l_10 = getUint32(i, h_8 + 12);
  7171. switch (e_147) {
  7172. case "cmap":
  7173. a = parseCmap(i, c_11);
  7174. break;
  7175. case "glyf":
  7176. s = i.subarray(c_11, c_11 + l_10);
  7177. break;
  7178. case "loca":
  7179. r = i.subarray(c_11, c_11 + l_10);
  7180. break;
  7181. case "head":
  7182. g = getUint16(i, c_11 + 18);
  7183. o = getUint16(i, c_11 + 50);
  7184. break;
  7185. case "CFF ": n = parseCff(i, c_11, c_11 + l_10, t);
  7186. }
  7187. } if (s) {
  7188. var t_127 = g ? [1 / g, 0, 0, 1 / g, 0, 0] : e.fontMatrix;
  7189. return new TrueTypeCompiled(function parseGlyfTable(e, t, i) { var a, s; if (i) {
  7190. a = 4;
  7191. s = getUint32;
  7192. }
  7193. else {
  7194. a = 2;
  7195. s = function (e, t) { return 2 * getUint16(e, t); };
  7196. } var r = []; var n = s(t, 0); for (var i_111 = a; i_111 < t.length; i_111 += a) {
  7197. var a_105 = s(t, i_111);
  7198. r.push(e.subarray(n, a_105));
  7199. n = a_105;
  7200. } return r; }(s, r, o), a, t_127);
  7201. } return new Type2Compiled(n, a, e.fontMatrix, e.glyphNameMap); };
  7202. return FontRendererFactory;
  7203. }());
  7204. var Aa = getLookupTableFactory((function (e) { e.Courier = 600; e["Courier-Bold"] = 600; e["Courier-BoldOblique"] = 600; e["Courier-Oblique"] = 600; e.Helvetica = getLookupTableFactory((function (e) { e.space = 278; e.exclam = 278; e.quotedbl = 355; e.numbersign = 556; e.dollar = 556; e.percent = 889; e.ampersand = 667; e.quoteright = 222; e.parenleft = 333; e.parenright = 333; e.asterisk = 389; e.plus = 584; e.comma = 278; e.hyphen = 333; e.period = 278; e.slash = 278; e.zero = 556; e.one = 556; e.two = 556; e.three = 556; e.four = 556; e.five = 556; e.six = 556; e.seven = 556; e.eight = 556; e.nine = 556; e.colon = 278; e.semicolon = 278; e.less = 584; e.equal = 584; e.greater = 584; e.question = 556; e.at = 1015; e.A = 667; e.B = 667; e.C = 722; e.D = 722; e.E = 667; e.F = 611; e.G = 778; e.H = 722; e.I = 278; e.J = 500; e.K = 667; e.L = 556; e.M = 833; e.N = 722; e.O = 778; e.P = 667; e.Q = 778; e.R = 722; e.S = 667; e.T = 611; e.U = 722; e.V = 667; e.W = 944; e.X = 667; e.Y = 667; e.Z = 611; e.bracketleft = 278; e.backslash = 278; e.bracketright = 278; e.asciicircum = 469; e.underscore = 556; e.quoteleft = 222; e.a = 556; e.b = 556; e.c = 500; e.d = 556; e.e = 556; e.f = 278; e.g = 556; e.h = 556; e.i = 222; e.j = 222; e.k = 500; e.l = 222; e.m = 833; e.n = 556; e.o = 556; e.p = 556; e.q = 556; e.r = 333; e.s = 500; e.t = 278; e.u = 556; e.v = 500; e.w = 722; e.x = 500; e.y = 500; e.z = 500; e.braceleft = 334; e.bar = 260; e.braceright = 334; e.asciitilde = 584; e.exclamdown = 333; e.cent = 556; e.sterling = 556; e.fraction = 167; e.yen = 556; e.florin = 556; e.section = 556; e.currency = 556; e.quotesingle = 191; e.quotedblleft = 333; e.guillemotleft = 556; e.guilsinglleft = 333; e.guilsinglright = 333; e.fi = 500; e.fl = 500; e.endash = 556; e.dagger = 556; e.daggerdbl = 556; e.periodcentered = 278; e.paragraph = 537; e.bullet = 350; e.quotesinglbase = 222; e.quotedblbase = 333; e.quotedblright = 333; e.guillemotright = 556; e.ellipsis = 1e3; e.perthousand = 1e3; e.questiondown = 611; e.grave = 333; e.acute = 333; e.circumflex = 333; e.tilde = 333; e.macron = 333; e.breve = 333; e.dotaccent = 333; e.dieresis = 333; e.ring = 333; e.cedilla = 333; e.hungarumlaut = 333; e.ogonek = 333; e.caron = 333; e.emdash = 1e3; e.AE = 1e3; e.ordfeminine = 370; e.Lslash = 556; e.Oslash = 778; e.OE = 1e3; e.ordmasculine = 365; e.ae = 889; e.dotlessi = 278; e.lslash = 222; e.oslash = 611; e.oe = 944; e.germandbls = 611; e.Idieresis = 278; e.eacute = 556; e.abreve = 556; e.uhungarumlaut = 556; e.ecaron = 556; e.Ydieresis = 667; e.divide = 584; e.Yacute = 667; e.Acircumflex = 667; e.aacute = 556; e.Ucircumflex = 722; e.yacute = 500; e.scommaaccent = 500; e.ecircumflex = 556; e.Uring = 722; e.Udieresis = 722; e.aogonek = 556; e.Uacute = 722; e.uogonek = 556; e.Edieresis = 667; e.Dcroat = 722; e.commaaccent = 250; e.copyright = 737; e.Emacron = 667; e.ccaron = 500; e.aring = 556; e.Ncommaaccent = 722; e.lacute = 222; e.agrave = 556; e.Tcommaaccent = 611; e.Cacute = 722; e.atilde = 556; e.Edotaccent = 667; e.scaron = 500; e.scedilla = 500; e.iacute = 278; e.lozenge = 471; e.Rcaron = 722; e.Gcommaaccent = 778; e.ucircumflex = 556; e.acircumflex = 556; e.Amacron = 667; e.rcaron = 333; e.ccedilla = 500; e.Zdotaccent = 611; e.Thorn = 667; e.Omacron = 778; e.Racute = 722; e.Sacute = 667; e.dcaron = 643; e.Umacron = 722; e.uring = 556; e.threesuperior = 333; e.Ograve = 778; e.Agrave = 667; e.Abreve = 667; e.multiply = 584; e.uacute = 556; e.Tcaron = 611; e.partialdiff = 476; e.ydieresis = 500; e.Nacute = 722; e.icircumflex = 278; e.Ecircumflex = 667; e.adieresis = 556; e.edieresis = 556; e.cacute = 500; e.nacute = 556; e.umacron = 556; e.Ncaron = 722; e.Iacute = 278; e.plusminus = 584; e.brokenbar = 260; e.registered = 737; e.Gbreve = 778; e.Idotaccent = 278; e.summation = 600; e.Egrave = 667; e.racute = 333; e.omacron = 556; e.Zacute = 611; e.Zcaron = 611; e.greaterequal = 549; e.Eth = 722; e.Ccedilla = 722; e.lcommaaccent = 222; e.tcaron = 317; e.eogonek = 556; e.Uogonek = 722; e.Aacute = 667; e.Adieresis = 667; e.egrave = 556; e.zacute = 500; e.iogonek = 222; e.Oacute = 778; e.oacute = 556; e.amacron = 556; e.sacute = 500; e.idieresis = 278; e.Ocircumflex = 778; e.Ugrave = 722; e.Delta = 612; e.thorn = 556; e.twosuperior = 333; e.Odieresis = 778; e.mu = 556; e.igrave = 278; e.ohungarumlaut = 556; e.Eogonek = 667; e.dcroat = 556; e.threequarters = 834; e.Scedilla = 667; e.lcaron = 299; e.Kcommaaccent = 667; e.Lacute = 556; e.trademark = 1e3; e.edotaccent = 556; e.Igrave = 278; e.Imacron = 278; e.Lcaron = 556; e.onehalf = 834; e.lessequal = 549; e.ocircumflex = 556; e.ntilde = 556; e.Uhungarumlaut = 722; e.Eacute = 667; e.emacron = 556; e.gbreve = 556; e.onequarter = 834; e.Scaron = 667; e.Scommaaccent = 667; e.Ohungarumlaut = 778; e.degree = 400; e.ograve = 556; e.Ccaron = 722; e.ugrave = 556; e.radical = 453; e.Dcaron = 722; e.rcommaaccent = 333; e.Ntilde = 722; e.otilde = 556; e.Rcommaaccent = 722; e.Lcommaaccent = 556; e.Atilde = 667; e.Aogonek = 667; e.Aring = 667; e.Otilde = 778; e.zdotaccent = 500; e.Ecaron = 667; e.Iogonek = 278; e.kcommaaccent = 500; e.minus = 584; e.Icircumflex = 278; e.ncaron = 556; e.tcommaaccent = 278; e.logicalnot = 584; e.odieresis = 556; e.udieresis = 556; e.notequal = 549; e.gcommaaccent = 556; e.eth = 556; e.zcaron = 500; e.ncommaaccent = 556; e.onesuperior = 333; e.imacron = 278; e.Euro = 556; })); e["Helvetica-Bold"] = getLookupTableFactory((function (e) { e.space = 278; e.exclam = 333; e.quotedbl = 474; e.numbersign = 556; e.dollar = 556; e.percent = 889; e.ampersand = 722; e.quoteright = 278; e.parenleft = 333; e.parenright = 333; e.asterisk = 389; e.plus = 584; e.comma = 278; e.hyphen = 333; e.period = 278; e.slash = 278; e.zero = 556; e.one = 556; e.two = 556; e.three = 556; e.four = 556; e.five = 556; e.six = 556; e.seven = 556; e.eight = 556; e.nine = 556; e.colon = 333; e.semicolon = 333; e.less = 584; e.equal = 584; e.greater = 584; e.question = 611; e.at = 975; e.A = 722; e.B = 722; e.C = 722; e.D = 722; e.E = 667; e.F = 611; e.G = 778; e.H = 722; e.I = 278; e.J = 556; e.K = 722; e.L = 611; e.M = 833; e.N = 722; e.O = 778; e.P = 667; e.Q = 778; e.R = 722; e.S = 667; e.T = 611; e.U = 722; e.V = 667; e.W = 944; e.X = 667; e.Y = 667; e.Z = 611; e.bracketleft = 333; e.backslash = 278; e.bracketright = 333; e.asciicircum = 584; e.underscore = 556; e.quoteleft = 278; e.a = 556; e.b = 611; e.c = 556; e.d = 611; e.e = 556; e.f = 333; e.g = 611; e.h = 611; e.i = 278; e.j = 278; e.k = 556; e.l = 278; e.m = 889; e.n = 611; e.o = 611; e.p = 611; e.q = 611; e.r = 389; e.s = 556; e.t = 333; e.u = 611; e.v = 556; e.w = 778; e.x = 556; e.y = 556; e.z = 500; e.braceleft = 389; e.bar = 280; e.braceright = 389; e.asciitilde = 584; e.exclamdown = 333; e.cent = 556; e.sterling = 556; e.fraction = 167; e.yen = 556; e.florin = 556; e.section = 556; e.currency = 556; e.quotesingle = 238; e.quotedblleft = 500; e.guillemotleft = 556; e.guilsinglleft = 333; e.guilsinglright = 333; e.fi = 611; e.fl = 611; e.endash = 556; e.dagger = 556; e.daggerdbl = 556; e.periodcentered = 278; e.paragraph = 556; e.bullet = 350; e.quotesinglbase = 278; e.quotedblbase = 500; e.quotedblright = 500; e.guillemotright = 556; e.ellipsis = 1e3; e.perthousand = 1e3; e.questiondown = 611; e.grave = 333; e.acute = 333; e.circumflex = 333; e.tilde = 333; e.macron = 333; e.breve = 333; e.dotaccent = 333; e.dieresis = 333; e.ring = 333; e.cedilla = 333; e.hungarumlaut = 333; e.ogonek = 333; e.caron = 333; e.emdash = 1e3; e.AE = 1e3; e.ordfeminine = 370; e.Lslash = 611; e.Oslash = 778; e.OE = 1e3; e.ordmasculine = 365; e.ae = 889; e.dotlessi = 278; e.lslash = 278; e.oslash = 611; e.oe = 944; e.germandbls = 611; e.Idieresis = 278; e.eacute = 556; e.abreve = 556; e.uhungarumlaut = 611; e.ecaron = 556; e.Ydieresis = 667; e.divide = 584; e.Yacute = 667; e.Acircumflex = 722; e.aacute = 556; e.Ucircumflex = 722; e.yacute = 556; e.scommaaccent = 556; e.ecircumflex = 556; e.Uring = 722; e.Udieresis = 722; e.aogonek = 556; e.Uacute = 722; e.uogonek = 611; e.Edieresis = 667; e.Dcroat = 722; e.commaaccent = 250; e.copyright = 737; e.Emacron = 667; e.ccaron = 556; e.aring = 556; e.Ncommaaccent = 722; e.lacute = 278; e.agrave = 556; e.Tcommaaccent = 611; e.Cacute = 722; e.atilde = 556; e.Edotaccent = 667; e.scaron = 556; e.scedilla = 556; e.iacute = 278; e.lozenge = 494; e.Rcaron = 722; e.Gcommaaccent = 778; e.ucircumflex = 611; e.acircumflex = 556; e.Amacron = 722; e.rcaron = 389; e.ccedilla = 556; e.Zdotaccent = 611; e.Thorn = 667; e.Omacron = 778; e.Racute = 722; e.Sacute = 667; e.dcaron = 743; e.Umacron = 722; e.uring = 611; e.threesuperior = 333; e.Ograve = 778; e.Agrave = 722; e.Abreve = 722; e.multiply = 584; e.uacute = 611; e.Tcaron = 611; e.partialdiff = 494; e.ydieresis = 556; e.Nacute = 722; e.icircumflex = 278; e.Ecircumflex = 667; e.adieresis = 556; e.edieresis = 556; e.cacute = 556; e.nacute = 611; e.umacron = 611; e.Ncaron = 722; e.Iacute = 278; e.plusminus = 584; e.brokenbar = 280; e.registered = 737; e.Gbreve = 778; e.Idotaccent = 278; e.summation = 600; e.Egrave = 667; e.racute = 389; e.omacron = 611; e.Zacute = 611; e.Zcaron = 611; e.greaterequal = 549; e.Eth = 722; e.Ccedilla = 722; e.lcommaaccent = 278; e.tcaron = 389; e.eogonek = 556; e.Uogonek = 722; e.Aacute = 722; e.Adieresis = 722; e.egrave = 556; e.zacute = 500; e.iogonek = 278; e.Oacute = 778; e.oacute = 611; e.amacron = 556; e.sacute = 556; e.idieresis = 278; e.Ocircumflex = 778; e.Ugrave = 722; e.Delta = 612; e.thorn = 611; e.twosuperior = 333; e.Odieresis = 778; e.mu = 611; e.igrave = 278; e.ohungarumlaut = 611; e.Eogonek = 667; e.dcroat = 611; e.threequarters = 834; e.Scedilla = 667; e.lcaron = 400; e.Kcommaaccent = 722; e.Lacute = 611; e.trademark = 1e3; e.edotaccent = 556; e.Igrave = 278; e.Imacron = 278; e.Lcaron = 611; e.onehalf = 834; e.lessequal = 549; e.ocircumflex = 611; e.ntilde = 611; e.Uhungarumlaut = 722; e.Eacute = 667; e.emacron = 556; e.gbreve = 611; e.onequarter = 834; e.Scaron = 667; e.Scommaaccent = 667; e.Ohungarumlaut = 778; e.degree = 400; e.ograve = 611; e.Ccaron = 722; e.ugrave = 611; e.radical = 549; e.Dcaron = 722; e.rcommaaccent = 389; e.Ntilde = 722; e.otilde = 611; e.Rcommaaccent = 722; e.Lcommaaccent = 611; e.Atilde = 722; e.Aogonek = 722; e.Aring = 722; e.Otilde = 778; e.zdotaccent = 500; e.Ecaron = 667; e.Iogonek = 278; e.kcommaaccent = 556; e.minus = 584; e.Icircumflex = 278; e.ncaron = 611; e.tcommaaccent = 333; e.logicalnot = 584; e.odieresis = 611; e.udieresis = 611; e.notequal = 549; e.gcommaaccent = 611; e.eth = 611; e.zcaron = 500; e.ncommaaccent = 611; e.onesuperior = 333; e.imacron = 278; e.Euro = 556; })); e["Helvetica-BoldOblique"] = getLookupTableFactory((function (e) { e.space = 278; e.exclam = 333; e.quotedbl = 474; e.numbersign = 556; e.dollar = 556; e.percent = 889; e.ampersand = 722; e.quoteright = 278; e.parenleft = 333; e.parenright = 333; e.asterisk = 389; e.plus = 584; e.comma = 278; e.hyphen = 333; e.period = 278; e.slash = 278; e.zero = 556; e.one = 556; e.two = 556; e.three = 556; e.four = 556; e.five = 556; e.six = 556; e.seven = 556; e.eight = 556; e.nine = 556; e.colon = 333; e.semicolon = 333; e.less = 584; e.equal = 584; e.greater = 584; e.question = 611; e.at = 975; e.A = 722; e.B = 722; e.C = 722; e.D = 722; e.E = 667; e.F = 611; e.G = 778; e.H = 722; e.I = 278; e.J = 556; e.K = 722; e.L = 611; e.M = 833; e.N = 722; e.O = 778; e.P = 667; e.Q = 778; e.R = 722; e.S = 667; e.T = 611; e.U = 722; e.V = 667; e.W = 944; e.X = 667; e.Y = 667; e.Z = 611; e.bracketleft = 333; e.backslash = 278; e.bracketright = 333; e.asciicircum = 584; e.underscore = 556; e.quoteleft = 278; e.a = 556; e.b = 611; e.c = 556; e.d = 611; e.e = 556; e.f = 333; e.g = 611; e.h = 611; e.i = 278; e.j = 278; e.k = 556; e.l = 278; e.m = 889; e.n = 611; e.o = 611; e.p = 611; e.q = 611; e.r = 389; e.s = 556; e.t = 333; e.u = 611; e.v = 556; e.w = 778; e.x = 556; e.y = 556; e.z = 500; e.braceleft = 389; e.bar = 280; e.braceright = 389; e.asciitilde = 584; e.exclamdown = 333; e.cent = 556; e.sterling = 556; e.fraction = 167; e.yen = 556; e.florin = 556; e.section = 556; e.currency = 556; e.quotesingle = 238; e.quotedblleft = 500; e.guillemotleft = 556; e.guilsinglleft = 333; e.guilsinglright = 333; e.fi = 611; e.fl = 611; e.endash = 556; e.dagger = 556; e.daggerdbl = 556; e.periodcentered = 278; e.paragraph = 556; e.bullet = 350; e.quotesinglbase = 278; e.quotedblbase = 500; e.quotedblright = 500; e.guillemotright = 556; e.ellipsis = 1e3; e.perthousand = 1e3; e.questiondown = 611; e.grave = 333; e.acute = 333; e.circumflex = 333; e.tilde = 333; e.macron = 333; e.breve = 333; e.dotaccent = 333; e.dieresis = 333; e.ring = 333; e.cedilla = 333; e.hungarumlaut = 333; e.ogonek = 333; e.caron = 333; e.emdash = 1e3; e.AE = 1e3; e.ordfeminine = 370; e.Lslash = 611; e.Oslash = 778; e.OE = 1e3; e.ordmasculine = 365; e.ae = 889; e.dotlessi = 278; e.lslash = 278; e.oslash = 611; e.oe = 944; e.germandbls = 611; e.Idieresis = 278; e.eacute = 556; e.abreve = 556; e.uhungarumlaut = 611; e.ecaron = 556; e.Ydieresis = 667; e.divide = 584; e.Yacute = 667; e.Acircumflex = 722; e.aacute = 556; e.Ucircumflex = 722; e.yacute = 556; e.scommaaccent = 556; e.ecircumflex = 556; e.Uring = 722; e.Udieresis = 722; e.aogonek = 556; e.Uacute = 722; e.uogonek = 611; e.Edieresis = 667; e.Dcroat = 722; e.commaaccent = 250; e.copyright = 737; e.Emacron = 667; e.ccaron = 556; e.aring = 556; e.Ncommaaccent = 722; e.lacute = 278; e.agrave = 556; e.Tcommaaccent = 611; e.Cacute = 722; e.atilde = 556; e.Edotaccent = 667; e.scaron = 556; e.scedilla = 556; e.iacute = 278; e.lozenge = 494; e.Rcaron = 722; e.Gcommaaccent = 778; e.ucircumflex = 611; e.acircumflex = 556; e.Amacron = 722; e.rcaron = 389; e.ccedilla = 556; e.Zdotaccent = 611; e.Thorn = 667; e.Omacron = 778; e.Racute = 722; e.Sacute = 667; e.dcaron = 743; e.Umacron = 722; e.uring = 611; e.threesuperior = 333; e.Ograve = 778; e.Agrave = 722; e.Abreve = 722; e.multiply = 584; e.uacute = 611; e.Tcaron = 611; e.partialdiff = 494; e.ydieresis = 556; e.Nacute = 722; e.icircumflex = 278; e.Ecircumflex = 667; e.adieresis = 556; e.edieresis = 556; e.cacute = 556; e.nacute = 611; e.umacron = 611; e.Ncaron = 722; e.Iacute = 278; e.plusminus = 584; e.brokenbar = 280; e.registered = 737; e.Gbreve = 778; e.Idotaccent = 278; e.summation = 600; e.Egrave = 667; e.racute = 389; e.omacron = 611; e.Zacute = 611; e.Zcaron = 611; e.greaterequal = 549; e.Eth = 722; e.Ccedilla = 722; e.lcommaaccent = 278; e.tcaron = 389; e.eogonek = 556; e.Uogonek = 722; e.Aacute = 722; e.Adieresis = 722; e.egrave = 556; e.zacute = 500; e.iogonek = 278; e.Oacute = 778; e.oacute = 611; e.amacron = 556; e.sacute = 556; e.idieresis = 278; e.Ocircumflex = 778; e.Ugrave = 722; e.Delta = 612; e.thorn = 611; e.twosuperior = 333; e.Odieresis = 778; e.mu = 611; e.igrave = 278; e.ohungarumlaut = 611; e.Eogonek = 667; e.dcroat = 611; e.threequarters = 834; e.Scedilla = 667; e.lcaron = 400; e.Kcommaaccent = 722; e.Lacute = 611; e.trademark = 1e3; e.edotaccent = 556; e.Igrave = 278; e.Imacron = 278; e.Lcaron = 611; e.onehalf = 834; e.lessequal = 549; e.ocircumflex = 611; e.ntilde = 611; e.Uhungarumlaut = 722; e.Eacute = 667; e.emacron = 556; e.gbreve = 611; e.onequarter = 834; e.Scaron = 667; e.Scommaaccent = 667; e.Ohungarumlaut = 778; e.degree = 400; e.ograve = 611; e.Ccaron = 722; e.ugrave = 611; e.radical = 549; e.Dcaron = 722; e.rcommaaccent = 389; e.Ntilde = 722; e.otilde = 611; e.Rcommaaccent = 722; e.Lcommaaccent = 611; e.Atilde = 722; e.Aogonek = 722; e.Aring = 722; e.Otilde = 778; e.zdotaccent = 500; e.Ecaron = 667; e.Iogonek = 278; e.kcommaaccent = 556; e.minus = 584; e.Icircumflex = 278; e.ncaron = 611; e.tcommaaccent = 333; e.logicalnot = 584; e.odieresis = 611; e.udieresis = 611; e.notequal = 549; e.gcommaaccent = 611; e.eth = 611; e.zcaron = 500; e.ncommaaccent = 611; e.onesuperior = 333; e.imacron = 278; e.Euro = 556; })); e["Helvetica-Oblique"] = getLookupTableFactory((function (e) { e.space = 278; e.exclam = 278; e.quotedbl = 355; e.numbersign = 556; e.dollar = 556; e.percent = 889; e.ampersand = 667; e.quoteright = 222; e.parenleft = 333; e.parenright = 333; e.asterisk = 389; e.plus = 584; e.comma = 278; e.hyphen = 333; e.period = 278; e.slash = 278; e.zero = 556; e.one = 556; e.two = 556; e.three = 556; e.four = 556; e.five = 556; e.six = 556; e.seven = 556; e.eight = 556; e.nine = 556; e.colon = 278; e.semicolon = 278; e.less = 584; e.equal = 584; e.greater = 584; e.question = 556; e.at = 1015; e.A = 667; e.B = 667; e.C = 722; e.D = 722; e.E = 667; e.F = 611; e.G = 778; e.H = 722; e.I = 278; e.J = 500; e.K = 667; e.L = 556; e.M = 833; e.N = 722; e.O = 778; e.P = 667; e.Q = 778; e.R = 722; e.S = 667; e.T = 611; e.U = 722; e.V = 667; e.W = 944; e.X = 667; e.Y = 667; e.Z = 611; e.bracketleft = 278; e.backslash = 278; e.bracketright = 278; e.asciicircum = 469; e.underscore = 556; e.quoteleft = 222; e.a = 556; e.b = 556; e.c = 500; e.d = 556; e.e = 556; e.f = 278; e.g = 556; e.h = 556; e.i = 222; e.j = 222; e.k = 500; e.l = 222; e.m = 833; e.n = 556; e.o = 556; e.p = 556; e.q = 556; e.r = 333; e.s = 500; e.t = 278; e.u = 556; e.v = 500; e.w = 722; e.x = 500; e.y = 500; e.z = 500; e.braceleft = 334; e.bar = 260; e.braceright = 334; e.asciitilde = 584; e.exclamdown = 333; e.cent = 556; e.sterling = 556; e.fraction = 167; e.yen = 556; e.florin = 556; e.section = 556; e.currency = 556; e.quotesingle = 191; e.quotedblleft = 333; e.guillemotleft = 556; e.guilsinglleft = 333; e.guilsinglright = 333; e.fi = 500; e.fl = 500; e.endash = 556; e.dagger = 556; e.daggerdbl = 556; e.periodcentered = 278; e.paragraph = 537; e.bullet = 350; e.quotesinglbase = 222; e.quotedblbase = 333; e.quotedblright = 333; e.guillemotright = 556; e.ellipsis = 1e3; e.perthousand = 1e3; e.questiondown = 611; e.grave = 333; e.acute = 333; e.circumflex = 333; e.tilde = 333; e.macron = 333; e.breve = 333; e.dotaccent = 333; e.dieresis = 333; e.ring = 333; e.cedilla = 333; e.hungarumlaut = 333; e.ogonek = 333; e.caron = 333; e.emdash = 1e3; e.AE = 1e3; e.ordfeminine = 370; e.Lslash = 556; e.Oslash = 778; e.OE = 1e3; e.ordmasculine = 365; e.ae = 889; e.dotlessi = 278; e.lslash = 222; e.oslash = 611; e.oe = 944; e.germandbls = 611; e.Idieresis = 278; e.eacute = 556; e.abreve = 556; e.uhungarumlaut = 556; e.ecaron = 556; e.Ydieresis = 667; e.divide = 584; e.Yacute = 667; e.Acircumflex = 667; e.aacute = 556; e.Ucircumflex = 722; e.yacute = 500; e.scommaaccent = 500; e.ecircumflex = 556; e.Uring = 722; e.Udieresis = 722; e.aogonek = 556; e.Uacute = 722; e.uogonek = 556; e.Edieresis = 667; e.Dcroat = 722; e.commaaccent = 250; e.copyright = 737; e.Emacron = 667; e.ccaron = 500; e.aring = 556; e.Ncommaaccent = 722; e.lacute = 222; e.agrave = 556; e.Tcommaaccent = 611; e.Cacute = 722; e.atilde = 556; e.Edotaccent = 667; e.scaron = 500; e.scedilla = 500; e.iacute = 278; e.lozenge = 471; e.Rcaron = 722; e.Gcommaaccent = 778; e.ucircumflex = 556; e.acircumflex = 556; e.Amacron = 667; e.rcaron = 333; e.ccedilla = 500; e.Zdotaccent = 611; e.Thorn = 667; e.Omacron = 778; e.Racute = 722; e.Sacute = 667; e.dcaron = 643; e.Umacron = 722; e.uring = 556; e.threesuperior = 333; e.Ograve = 778; e.Agrave = 667; e.Abreve = 667; e.multiply = 584; e.uacute = 556; e.Tcaron = 611; e.partialdiff = 476; e.ydieresis = 500; e.Nacute = 722; e.icircumflex = 278; e.Ecircumflex = 667; e.adieresis = 556; e.edieresis = 556; e.cacute = 500; e.nacute = 556; e.umacron = 556; e.Ncaron = 722; e.Iacute = 278; e.plusminus = 584; e.brokenbar = 260; e.registered = 737; e.Gbreve = 778; e.Idotaccent = 278; e.summation = 600; e.Egrave = 667; e.racute = 333; e.omacron = 556; e.Zacute = 611; e.Zcaron = 611; e.greaterequal = 549; e.Eth = 722; e.Ccedilla = 722; e.lcommaaccent = 222; e.tcaron = 317; e.eogonek = 556; e.Uogonek = 722; e.Aacute = 667; e.Adieresis = 667; e.egrave = 556; e.zacute = 500; e.iogonek = 222; e.Oacute = 778; e.oacute = 556; e.amacron = 556; e.sacute = 500; e.idieresis = 278; e.Ocircumflex = 778; e.Ugrave = 722; e.Delta = 612; e.thorn = 556; e.twosuperior = 333; e.Odieresis = 778; e.mu = 556; e.igrave = 278; e.ohungarumlaut = 556; e.Eogonek = 667; e.dcroat = 556; e.threequarters = 834; e.Scedilla = 667; e.lcaron = 299; e.Kcommaaccent = 667; e.Lacute = 556; e.trademark = 1e3; e.edotaccent = 556; e.Igrave = 278; e.Imacron = 278; e.Lcaron = 556; e.onehalf = 834; e.lessequal = 549; e.ocircumflex = 556; e.ntilde = 556; e.Uhungarumlaut = 722; e.Eacute = 667; e.emacron = 556; e.gbreve = 556; e.onequarter = 834; e.Scaron = 667; e.Scommaaccent = 667; e.Ohungarumlaut = 778; e.degree = 400; e.ograve = 556; e.Ccaron = 722; e.ugrave = 556; e.radical = 453; e.Dcaron = 722; e.rcommaaccent = 333; e.Ntilde = 722; e.otilde = 556; e.Rcommaaccent = 722; e.Lcommaaccent = 556; e.Atilde = 667; e.Aogonek = 667; e.Aring = 667; e.Otilde = 778; e.zdotaccent = 500; e.Ecaron = 667; e.Iogonek = 278; e.kcommaaccent = 500; e.minus = 584; e.Icircumflex = 278; e.ncaron = 556; e.tcommaaccent = 278; e.logicalnot = 584; e.odieresis = 556; e.udieresis = 556; e.notequal = 549; e.gcommaaccent = 556; e.eth = 556; e.zcaron = 500; e.ncommaaccent = 556; e.onesuperior = 333; e.imacron = 278; e.Euro = 556; })); e.Symbol = getLookupTableFactory((function (e) { e.space = 250; e.exclam = 333; e.universal = 713; e.numbersign = 500; e.existential = 549; e.percent = 833; e.ampersand = 778; e.suchthat = 439; e.parenleft = 333; e.parenright = 333; e.asteriskmath = 500; e.plus = 549; e.comma = 250; e.minus = 549; e.period = 250; e.slash = 278; e.zero = 500; e.one = 500; e.two = 500; e.three = 500; e.four = 500; e.five = 500; e.six = 500; e.seven = 500; e.eight = 500; e.nine = 500; e.colon = 278; e.semicolon = 278; e.less = 549; e.equal = 549; e.greater = 549; e.question = 444; e.congruent = 549; e.Alpha = 722; e.Beta = 667; e.Chi = 722; e.Delta = 612; e.Epsilon = 611; e.Phi = 763; e.Gamma = 603; e.Eta = 722; e.Iota = 333; e.theta1 = 631; e.Kappa = 722; e.Lambda = 686; e.Mu = 889; e.Nu = 722; e.Omicron = 722; e.Pi = 768; e.Theta = 741; e.Rho = 556; e.Sigma = 592; e.Tau = 611; e.Upsilon = 690; e.sigma1 = 439; e.Omega = 768; e.Xi = 645; e.Psi = 795; e.Zeta = 611; e.bracketleft = 333; e.therefore = 863; e.bracketright = 333; e.perpendicular = 658; e.underscore = 500; e.radicalex = 500; e.alpha = 631; e.beta = 549; e.chi = 549; e.delta = 494; e.epsilon = 439; e.phi = 521; e.gamma = 411; e.eta = 603; e.iota = 329; e.phi1 = 603; e.kappa = 549; e.lambda = 549; e.mu = 576; e.nu = 521; e.omicron = 549; e.pi = 549; e.theta = 521; e.rho = 549; e.sigma = 603; e.tau = 439; e.upsilon = 576; e.omega1 = 713; e.omega = 686; e.xi = 493; e.psi = 686; e.zeta = 494; e.braceleft = 480; e.bar = 200; e.braceright = 480; e.similar = 549; e.Euro = 750; e.Upsilon1 = 620; e.minute = 247; e.lessequal = 549; e.fraction = 167; e.infinity = 713; e.florin = 500; e.club = 753; e.diamond = 753; e.heart = 753; e.spade = 753; e.arrowboth = 1042; e.arrowleft = 987; e.arrowup = 603; e.arrowright = 987; e.arrowdown = 603; e.degree = 400; e.plusminus = 549; e.second = 411; e.greaterequal = 549; e.multiply = 549; e.proportional = 713; e.partialdiff = 494; e.bullet = 460; e.divide = 549; e.notequal = 549; e.equivalence = 549; e.approxequal = 549; e.ellipsis = 1e3; e.arrowvertex = 603; e.arrowhorizex = 1e3; e.carriagereturn = 658; e.aleph = 823; e.Ifraktur = 686; e.Rfraktur = 795; e.weierstrass = 987; e.circlemultiply = 768; e.circleplus = 768; e.emptyset = 823; e.intersection = 768; e.union = 768; e.propersuperset = 713; e.reflexsuperset = 713; e.notsubset = 713; e.propersubset = 713; e.reflexsubset = 713; e.element = 713; e.notelement = 713; e.angle = 768; e.gradient = 713; e.registerserif = 790; e.copyrightserif = 790; e.trademarkserif = 890; e.product = 823; e.radical = 549; e.dotmath = 250; e.logicalnot = 713; e.logicaland = 603; e.logicalor = 603; e.arrowdblboth = 1042; e.arrowdblleft = 987; e.arrowdblup = 603; e.arrowdblright = 987; e.arrowdbldown = 603; e.lozenge = 494; e.angleleft = 329; e.registersans = 790; e.copyrightsans = 790; e.trademarksans = 786; e.summation = 713; e.parenlefttp = 384; e.parenleftex = 384; e.parenleftbt = 384; e.bracketlefttp = 384; e.bracketleftex = 384; e.bracketleftbt = 384; e.bracelefttp = 494; e.braceleftmid = 494; e.braceleftbt = 494; e.braceex = 494; e.angleright = 329; e.integral = 274; e.integraltp = 686; e.integralex = 686; e.integralbt = 686; e.parenrighttp = 384; e.parenrightex = 384; e.parenrightbt = 384; e.bracketrighttp = 384; e.bracketrightex = 384; e.bracketrightbt = 384; e.bracerighttp = 494; e.bracerightmid = 494; e.bracerightbt = 494; e.apple = 790; })); e["Times-Roman"] = getLookupTableFactory((function (e) { e.space = 250; e.exclam = 333; e.quotedbl = 408; e.numbersign = 500; e.dollar = 500; e.percent = 833; e.ampersand = 778; e.quoteright = 333; e.parenleft = 333; e.parenright = 333; e.asterisk = 500; e.plus = 564; e.comma = 250; e.hyphen = 333; e.period = 250; e.slash = 278; e.zero = 500; e.one = 500; e.two = 500; e.three = 500; e.four = 500; e.five = 500; e.six = 500; e.seven = 500; e.eight = 500; e.nine = 500; e.colon = 278; e.semicolon = 278; e.less = 564; e.equal = 564; e.greater = 564; e.question = 444; e.at = 921; e.A = 722; e.B = 667; e.C = 667; e.D = 722; e.E = 611; e.F = 556; e.G = 722; e.H = 722; e.I = 333; e.J = 389; e.K = 722; e.L = 611; e.M = 889; e.N = 722; e.O = 722; e.P = 556; e.Q = 722; e.R = 667; e.S = 556; e.T = 611; e.U = 722; e.V = 722; e.W = 944; e.X = 722; e.Y = 722; e.Z = 611; e.bracketleft = 333; e.backslash = 278; e.bracketright = 333; e.asciicircum = 469; e.underscore = 500; e.quoteleft = 333; e.a = 444; e.b = 500; e.c = 444; e.d = 500; e.e = 444; e.f = 333; e.g = 500; e.h = 500; e.i = 278; e.j = 278; e.k = 500; e.l = 278; e.m = 778; e.n = 500; e.o = 500; e.p = 500; e.q = 500; e.r = 333; e.s = 389; e.t = 278; e.u = 500; e.v = 500; e.w = 722; e.x = 500; e.y = 500; e.z = 444; e.braceleft = 480; e.bar = 200; e.braceright = 480; e.asciitilde = 541; e.exclamdown = 333; e.cent = 500; e.sterling = 500; e.fraction = 167; e.yen = 500; e.florin = 500; e.section = 500; e.currency = 500; e.quotesingle = 180; e.quotedblleft = 444; e.guillemotleft = 500; e.guilsinglleft = 333; e.guilsinglright = 333; e.fi = 556; e.fl = 556; e.endash = 500; e.dagger = 500; e.daggerdbl = 500; e.periodcentered = 250; e.paragraph = 453; e.bullet = 350; e.quotesinglbase = 333; e.quotedblbase = 444; e.quotedblright = 444; e.guillemotright = 500; e.ellipsis = 1e3; e.perthousand = 1e3; e.questiondown = 444; e.grave = 333; e.acute = 333; e.circumflex = 333; e.tilde = 333; e.macron = 333; e.breve = 333; e.dotaccent = 333; e.dieresis = 333; e.ring = 333; e.cedilla = 333; e.hungarumlaut = 333; e.ogonek = 333; e.caron = 333; e.emdash = 1e3; e.AE = 889; e.ordfeminine = 276; e.Lslash = 611; e.Oslash = 722; e.OE = 889; e.ordmasculine = 310; e.ae = 667; e.dotlessi = 278; e.lslash = 278; e.oslash = 500; e.oe = 722; e.germandbls = 500; e.Idieresis = 333; e.eacute = 444; e.abreve = 444; e.uhungarumlaut = 500; e.ecaron = 444; e.Ydieresis = 722; e.divide = 564; e.Yacute = 722; e.Acircumflex = 722; e.aacute = 444; e.Ucircumflex = 722; e.yacute = 500; e.scommaaccent = 389; e.ecircumflex = 444; e.Uring = 722; e.Udieresis = 722; e.aogonek = 444; e.Uacute = 722; e.uogonek = 500; e.Edieresis = 611; e.Dcroat = 722; e.commaaccent = 250; e.copyright = 760; e.Emacron = 611; e.ccaron = 444; e.aring = 444; e.Ncommaaccent = 722; e.lacute = 278; e.agrave = 444; e.Tcommaaccent = 611; e.Cacute = 667; e.atilde = 444; e.Edotaccent = 611; e.scaron = 389; e.scedilla = 389; e.iacute = 278; e.lozenge = 471; e.Rcaron = 667; e.Gcommaaccent = 722; e.ucircumflex = 500; e.acircumflex = 444; e.Amacron = 722; e.rcaron = 333; e.ccedilla = 444; e.Zdotaccent = 611; e.Thorn = 556; e.Omacron = 722; e.Racute = 667; e.Sacute = 556; e.dcaron = 588; e.Umacron = 722; e.uring = 500; e.threesuperior = 300; e.Ograve = 722; e.Agrave = 722; e.Abreve = 722; e.multiply = 564; e.uacute = 500; e.Tcaron = 611; e.partialdiff = 476; e.ydieresis = 500; e.Nacute = 722; e.icircumflex = 278; e.Ecircumflex = 611; e.adieresis = 444; e.edieresis = 444; e.cacute = 444; e.nacute = 500; e.umacron = 500; e.Ncaron = 722; e.Iacute = 333; e.plusminus = 564; e.brokenbar = 200; e.registered = 760; e.Gbreve = 722; e.Idotaccent = 333; e.summation = 600; e.Egrave = 611; e.racute = 333; e.omacron = 500; e.Zacute = 611; e.Zcaron = 611; e.greaterequal = 549; e.Eth = 722; e.Ccedilla = 667; e.lcommaaccent = 278; e.tcaron = 326; e.eogonek = 444; e.Uogonek = 722; e.Aacute = 722; e.Adieresis = 722; e.egrave = 444; e.zacute = 444; e.iogonek = 278; e.Oacute = 722; e.oacute = 500; e.amacron = 444; e.sacute = 389; e.idieresis = 278; e.Ocircumflex = 722; e.Ugrave = 722; e.Delta = 612; e.thorn = 500; e.twosuperior = 300; e.Odieresis = 722; e.mu = 500; e.igrave = 278; e.ohungarumlaut = 500; e.Eogonek = 611; e.dcroat = 500; e.threequarters = 750; e.Scedilla = 556; e.lcaron = 344; e.Kcommaaccent = 722; e.Lacute = 611; e.trademark = 980; e.edotaccent = 444; e.Igrave = 333; e.Imacron = 333; e.Lcaron = 611; e.onehalf = 750; e.lessequal = 549; e.ocircumflex = 500; e.ntilde = 500; e.Uhungarumlaut = 722; e.Eacute = 611; e.emacron = 444; e.gbreve = 500; e.onequarter = 750; e.Scaron = 556; e.Scommaaccent = 556; e.Ohungarumlaut = 722; e.degree = 400; e.ograve = 500; e.Ccaron = 667; e.ugrave = 500; e.radical = 453; e.Dcaron = 722; e.rcommaaccent = 333; e.Ntilde = 722; e.otilde = 500; e.Rcommaaccent = 667; e.Lcommaaccent = 611; e.Atilde = 722; e.Aogonek = 722; e.Aring = 722; e.Otilde = 722; e.zdotaccent = 444; e.Ecaron = 611; e.Iogonek = 333; e.kcommaaccent = 500; e.minus = 564; e.Icircumflex = 333; e.ncaron = 500; e.tcommaaccent = 278; e.logicalnot = 564; e.odieresis = 500; e.udieresis = 500; e.notequal = 549; e.gcommaaccent = 500; e.eth = 500; e.zcaron = 444; e.ncommaaccent = 500; e.onesuperior = 300; e.imacron = 278; e.Euro = 500; })); e["Times-Bold"] = getLookupTableFactory((function (e) { e.space = 250; e.exclam = 333; e.quotedbl = 555; e.numbersign = 500; e.dollar = 500; e.percent = 1e3; e.ampersand = 833; e.quoteright = 333; e.parenleft = 333; e.parenright = 333; e.asterisk = 500; e.plus = 570; e.comma = 250; e.hyphen = 333; e.period = 250; e.slash = 278; e.zero = 500; e.one = 500; e.two = 500; e.three = 500; e.four = 500; e.five = 500; e.six = 500; e.seven = 500; e.eight = 500; e.nine = 500; e.colon = 333; e.semicolon = 333; e.less = 570; e.equal = 570; e.greater = 570; e.question = 500; e.at = 930; e.A = 722; e.B = 667; e.C = 722; e.D = 722; e.E = 667; e.F = 611; e.G = 778; e.H = 778; e.I = 389; e.J = 500; e.K = 778; e.L = 667; e.M = 944; e.N = 722; e.O = 778; e.P = 611; e.Q = 778; e.R = 722; e.S = 556; e.T = 667; e.U = 722; e.V = 722; e.W = 1e3; e.X = 722; e.Y = 722; e.Z = 667; e.bracketleft = 333; e.backslash = 278; e.bracketright = 333; e.asciicircum = 581; e.underscore = 500; e.quoteleft = 333; e.a = 500; e.b = 556; e.c = 444; e.d = 556; e.e = 444; e.f = 333; e.g = 500; e.h = 556; e.i = 278; e.j = 333; e.k = 556; e.l = 278; e.m = 833; e.n = 556; e.o = 500; e.p = 556; e.q = 556; e.r = 444; e.s = 389; e.t = 333; e.u = 556; e.v = 500; e.w = 722; e.x = 500; e.y = 500; e.z = 444; e.braceleft = 394; e.bar = 220; e.braceright = 394; e.asciitilde = 520; e.exclamdown = 333; e.cent = 500; e.sterling = 500; e.fraction = 167; e.yen = 500; e.florin = 500; e.section = 500; e.currency = 500; e.quotesingle = 278; e.quotedblleft = 500; e.guillemotleft = 500; e.guilsinglleft = 333; e.guilsinglright = 333; e.fi = 556; e.fl = 556; e.endash = 500; e.dagger = 500; e.daggerdbl = 500; e.periodcentered = 250; e.paragraph = 540; e.bullet = 350; e.quotesinglbase = 333; e.quotedblbase = 500; e.quotedblright = 500; e.guillemotright = 500; e.ellipsis = 1e3; e.perthousand = 1e3; e.questiondown = 500; e.grave = 333; e.acute = 333; e.circumflex = 333; e.tilde = 333; e.macron = 333; e.breve = 333; e.dotaccent = 333; e.dieresis = 333; e.ring = 333; e.cedilla = 333; e.hungarumlaut = 333; e.ogonek = 333; e.caron = 333; e.emdash = 1e3; e.AE = 1e3; e.ordfeminine = 300; e.Lslash = 667; e.Oslash = 778; e.OE = 1e3; e.ordmasculine = 330; e.ae = 722; e.dotlessi = 278; e.lslash = 278; e.oslash = 500; e.oe = 722; e.germandbls = 556; e.Idieresis = 389; e.eacute = 444; e.abreve = 500; e.uhungarumlaut = 556; e.ecaron = 444; e.Ydieresis = 722; e.divide = 570; e.Yacute = 722; e.Acircumflex = 722; e.aacute = 500; e.Ucircumflex = 722; e.yacute = 500; e.scommaaccent = 389; e.ecircumflex = 444; e.Uring = 722; e.Udieresis = 722; e.aogonek = 500; e.Uacute = 722; e.uogonek = 556; e.Edieresis = 667; e.Dcroat = 722; e.commaaccent = 250; e.copyright = 747; e.Emacron = 667; e.ccaron = 444; e.aring = 500; e.Ncommaaccent = 722; e.lacute = 278; e.agrave = 500; e.Tcommaaccent = 667; e.Cacute = 722; e.atilde = 500; e.Edotaccent = 667; e.scaron = 389; e.scedilla = 389; e.iacute = 278; e.lozenge = 494; e.Rcaron = 722; e.Gcommaaccent = 778; e.ucircumflex = 556; e.acircumflex = 500; e.Amacron = 722; e.rcaron = 444; e.ccedilla = 444; e.Zdotaccent = 667; e.Thorn = 611; e.Omacron = 778; e.Racute = 722; e.Sacute = 556; e.dcaron = 672; e.Umacron = 722; e.uring = 556; e.threesuperior = 300; e.Ograve = 778; e.Agrave = 722; e.Abreve = 722; e.multiply = 570; e.uacute = 556; e.Tcaron = 667; e.partialdiff = 494; e.ydieresis = 500; e.Nacute = 722; e.icircumflex = 278; e.Ecircumflex = 667; e.adieresis = 500; e.edieresis = 444; e.cacute = 444; e.nacute = 556; e.umacron = 556; e.Ncaron = 722; e.Iacute = 389; e.plusminus = 570; e.brokenbar = 220; e.registered = 747; e.Gbreve = 778; e.Idotaccent = 389; e.summation = 600; e.Egrave = 667; e.racute = 444; e.omacron = 500; e.Zacute = 667; e.Zcaron = 667; e.greaterequal = 549; e.Eth = 722; e.Ccedilla = 722; e.lcommaaccent = 278; e.tcaron = 416; e.eogonek = 444; e.Uogonek = 722; e.Aacute = 722; e.Adieresis = 722; e.egrave = 444; e.zacute = 444; e.iogonek = 278; e.Oacute = 778; e.oacute = 500; e.amacron = 500; e.sacute = 389; e.idieresis = 278; e.Ocircumflex = 778; e.Ugrave = 722; e.Delta = 612; e.thorn = 556; e.twosuperior = 300; e.Odieresis = 778; e.mu = 556; e.igrave = 278; e.ohungarumlaut = 500; e.Eogonek = 667; e.dcroat = 556; e.threequarters = 750; e.Scedilla = 556; e.lcaron = 394; e.Kcommaaccent = 778; e.Lacute = 667; e.trademark = 1e3; e.edotaccent = 444; e.Igrave = 389; e.Imacron = 389; e.Lcaron = 667; e.onehalf = 750; e.lessequal = 549; e.ocircumflex = 500; e.ntilde = 556; e.Uhungarumlaut = 722; e.Eacute = 667; e.emacron = 444; e.gbreve = 500; e.onequarter = 750; e.Scaron = 556; e.Scommaaccent = 556; e.Ohungarumlaut = 778; e.degree = 400; e.ograve = 500; e.Ccaron = 722; e.ugrave = 556; e.radical = 549; e.Dcaron = 722; e.rcommaaccent = 444; e.Ntilde = 722; e.otilde = 500; e.Rcommaaccent = 722; e.Lcommaaccent = 667; e.Atilde = 722; e.Aogonek = 722; e.Aring = 722; e.Otilde = 778; e.zdotaccent = 444; e.Ecaron = 667; e.Iogonek = 389; e.kcommaaccent = 556; e.minus = 570; e.Icircumflex = 389; e.ncaron = 556; e.tcommaaccent = 333; e.logicalnot = 570; e.odieresis = 500; e.udieresis = 556; e.notequal = 549; e.gcommaaccent = 500; e.eth = 500; e.zcaron = 444; e.ncommaaccent = 556; e.onesuperior = 300; e.imacron = 278; e.Euro = 500; })); e["Times-BoldItalic"] = getLookupTableFactory((function (e) { e.space = 250; e.exclam = 389; e.quotedbl = 555; e.numbersign = 500; e.dollar = 500; e.percent = 833; e.ampersand = 778; e.quoteright = 333; e.parenleft = 333; e.parenright = 333; e.asterisk = 500; e.plus = 570; e.comma = 250; e.hyphen = 333; e.period = 250; e.slash = 278; e.zero = 500; e.one = 500; e.two = 500; e.three = 500; e.four = 500; e.five = 500; e.six = 500; e.seven = 500; e.eight = 500; e.nine = 500; e.colon = 333; e.semicolon = 333; e.less = 570; e.equal = 570; e.greater = 570; e.question = 500; e.at = 832; e.A = 667; e.B = 667; e.C = 667; e.D = 722; e.E = 667; e.F = 667; e.G = 722; e.H = 778; e.I = 389; e.J = 500; e.K = 667; e.L = 611; e.M = 889; e.N = 722; e.O = 722; e.P = 611; e.Q = 722; e.R = 667; e.S = 556; e.T = 611; e.U = 722; e.V = 667; e.W = 889; e.X = 667; e.Y = 611; e.Z = 611; e.bracketleft = 333; e.backslash = 278; e.bracketright = 333; e.asciicircum = 570; e.underscore = 500; e.quoteleft = 333; e.a = 500; e.b = 500; e.c = 444; e.d = 500; e.e = 444; e.f = 333; e.g = 500; e.h = 556; e.i = 278; e.j = 278; e.k = 500; e.l = 278; e.m = 778; e.n = 556; e.o = 500; e.p = 500; e.q = 500; e.r = 389; e.s = 389; e.t = 278; e.u = 556; e.v = 444; e.w = 667; e.x = 500; e.y = 444; e.z = 389; e.braceleft = 348; e.bar = 220; e.braceright = 348; e.asciitilde = 570; e.exclamdown = 389; e.cent = 500; e.sterling = 500; e.fraction = 167; e.yen = 500; e.florin = 500; e.section = 500; e.currency = 500; e.quotesingle = 278; e.quotedblleft = 500; e.guillemotleft = 500; e.guilsinglleft = 333; e.guilsinglright = 333; e.fi = 556; e.fl = 556; e.endash = 500; e.dagger = 500; e.daggerdbl = 500; e.periodcentered = 250; e.paragraph = 500; e.bullet = 350; e.quotesinglbase = 333; e.quotedblbase = 500; e.quotedblright = 500; e.guillemotright = 500; e.ellipsis = 1e3; e.perthousand = 1e3; e.questiondown = 500; e.grave = 333; e.acute = 333; e.circumflex = 333; e.tilde = 333; e.macron = 333; e.breve = 333; e.dotaccent = 333; e.dieresis = 333; e.ring = 333; e.cedilla = 333; e.hungarumlaut = 333; e.ogonek = 333; e.caron = 333; e.emdash = 1e3; e.AE = 944; e.ordfeminine = 266; e.Lslash = 611; e.Oslash = 722; e.OE = 944; e.ordmasculine = 300; e.ae = 722; e.dotlessi = 278; e.lslash = 278; e.oslash = 500; e.oe = 722; e.germandbls = 500; e.Idieresis = 389; e.eacute = 444; e.abreve = 500; e.uhungarumlaut = 556; e.ecaron = 444; e.Ydieresis = 611; e.divide = 570; e.Yacute = 611; e.Acircumflex = 667; e.aacute = 500; e.Ucircumflex = 722; e.yacute = 444; e.scommaaccent = 389; e.ecircumflex = 444; e.Uring = 722; e.Udieresis = 722; e.aogonek = 500; e.Uacute = 722; e.uogonek = 556; e.Edieresis = 667; e.Dcroat = 722; e.commaaccent = 250; e.copyright = 747; e.Emacron = 667; e.ccaron = 444; e.aring = 500; e.Ncommaaccent = 722; e.lacute = 278; e.agrave = 500; e.Tcommaaccent = 611; e.Cacute = 667; e.atilde = 500; e.Edotaccent = 667; e.scaron = 389; e.scedilla = 389; e.iacute = 278; e.lozenge = 494; e.Rcaron = 667; e.Gcommaaccent = 722; e.ucircumflex = 556; e.acircumflex = 500; e.Amacron = 667; e.rcaron = 389; e.ccedilla = 444; e.Zdotaccent = 611; e.Thorn = 611; e.Omacron = 722; e.Racute = 667; e.Sacute = 556; e.dcaron = 608; e.Umacron = 722; e.uring = 556; e.threesuperior = 300; e.Ograve = 722; e.Agrave = 667; e.Abreve = 667; e.multiply = 570; e.uacute = 556; e.Tcaron = 611; e.partialdiff = 494; e.ydieresis = 444; e.Nacute = 722; e.icircumflex = 278; e.Ecircumflex = 667; e.adieresis = 500; e.edieresis = 444; e.cacute = 444; e.nacute = 556; e.umacron = 556; e.Ncaron = 722; e.Iacute = 389; e.plusminus = 570; e.brokenbar = 220; e.registered = 747; e.Gbreve = 722; e.Idotaccent = 389; e.summation = 600; e.Egrave = 667; e.racute = 389; e.omacron = 500; e.Zacute = 611; e.Zcaron = 611; e.greaterequal = 549; e.Eth = 722; e.Ccedilla = 667; e.lcommaaccent = 278; e.tcaron = 366; e.eogonek = 444; e.Uogonek = 722; e.Aacute = 667; e.Adieresis = 667; e.egrave = 444; e.zacute = 389; e.iogonek = 278; e.Oacute = 722; e.oacute = 500; e.amacron = 500; e.sacute = 389; e.idieresis = 278; e.Ocircumflex = 722; e.Ugrave = 722; e.Delta = 612; e.thorn = 500; e.twosuperior = 300; e.Odieresis = 722; e.mu = 576; e.igrave = 278; e.ohungarumlaut = 500; e.Eogonek = 667; e.dcroat = 500; e.threequarters = 750; e.Scedilla = 556; e.lcaron = 382; e.Kcommaaccent = 667; e.Lacute = 611; e.trademark = 1e3; e.edotaccent = 444; e.Igrave = 389; e.Imacron = 389; e.Lcaron = 611; e.onehalf = 750; e.lessequal = 549; e.ocircumflex = 500; e.ntilde = 556; e.Uhungarumlaut = 722; e.Eacute = 667; e.emacron = 444; e.gbreve = 500; e.onequarter = 750; e.Scaron = 556; e.Scommaaccent = 556; e.Ohungarumlaut = 722; e.degree = 400; e.ograve = 500; e.Ccaron = 667; e.ugrave = 556; e.radical = 549; e.Dcaron = 722; e.rcommaaccent = 389; e.Ntilde = 722; e.otilde = 500; e.Rcommaaccent = 667; e.Lcommaaccent = 611; e.Atilde = 667; e.Aogonek = 667; e.Aring = 667; e.Otilde = 722; e.zdotaccent = 389; e.Ecaron = 667; e.Iogonek = 389; e.kcommaaccent = 500; e.minus = 606; e.Icircumflex = 389; e.ncaron = 556; e.tcommaaccent = 278; e.logicalnot = 606; e.odieresis = 500; e.udieresis = 556; e.notequal = 549; e.gcommaaccent = 500; e.eth = 500; e.zcaron = 389; e.ncommaaccent = 556; e.onesuperior = 300; e.imacron = 278; e.Euro = 500; })); e["Times-Italic"] = getLookupTableFactory((function (e) { e.space = 250; e.exclam = 333; e.quotedbl = 420; e.numbersign = 500; e.dollar = 500; e.percent = 833; e.ampersand = 778; e.quoteright = 333; e.parenleft = 333; e.parenright = 333; e.asterisk = 500; e.plus = 675; e.comma = 250; e.hyphen = 333; e.period = 250; e.slash = 278; e.zero = 500; e.one = 500; e.two = 500; e.three = 500; e.four = 500; e.five = 500; e.six = 500; e.seven = 500; e.eight = 500; e.nine = 500; e.colon = 333; e.semicolon = 333; e.less = 675; e.equal = 675; e.greater = 675; e.question = 500; e.at = 920; e.A = 611; e.B = 611; e.C = 667; e.D = 722; e.E = 611; e.F = 611; e.G = 722; e.H = 722; e.I = 333; e.J = 444; e.K = 667; e.L = 556; e.M = 833; e.N = 667; e.O = 722; e.P = 611; e.Q = 722; e.R = 611; e.S = 500; e.T = 556; e.U = 722; e.V = 611; e.W = 833; e.X = 611; e.Y = 556; e.Z = 556; e.bracketleft = 389; e.backslash = 278; e.bracketright = 389; e.asciicircum = 422; e.underscore = 500; e.quoteleft = 333; e.a = 500; e.b = 500; e.c = 444; e.d = 500; e.e = 444; e.f = 278; e.g = 500; e.h = 500; e.i = 278; e.j = 278; e.k = 444; e.l = 278; e.m = 722; e.n = 500; e.o = 500; e.p = 500; e.q = 500; e.r = 389; e.s = 389; e.t = 278; e.u = 500; e.v = 444; e.w = 667; e.x = 444; e.y = 444; e.z = 389; e.braceleft = 400; e.bar = 275; e.braceright = 400; e.asciitilde = 541; e.exclamdown = 389; e.cent = 500; e.sterling = 500; e.fraction = 167; e.yen = 500; e.florin = 500; e.section = 500; e.currency = 500; e.quotesingle = 214; e.quotedblleft = 556; e.guillemotleft = 500; e.guilsinglleft = 333; e.guilsinglright = 333; e.fi = 500; e.fl = 500; e.endash = 500; e.dagger = 500; e.daggerdbl = 500; e.periodcentered = 250; e.paragraph = 523; e.bullet = 350; e.quotesinglbase = 333; e.quotedblbase = 556; e.quotedblright = 556; e.guillemotright = 500; e.ellipsis = 889; e.perthousand = 1e3; e.questiondown = 500; e.grave = 333; e.acute = 333; e.circumflex = 333; e.tilde = 333; e.macron = 333; e.breve = 333; e.dotaccent = 333; e.dieresis = 333; e.ring = 333; e.cedilla = 333; e.hungarumlaut = 333; e.ogonek = 333; e.caron = 333; e.emdash = 889; e.AE = 889; e.ordfeminine = 276; e.Lslash = 556; e.Oslash = 722; e.OE = 944; e.ordmasculine = 310; e.ae = 667; e.dotlessi = 278; e.lslash = 278; e.oslash = 500; e.oe = 667; e.germandbls = 500; e.Idieresis = 333; e.eacute = 444; e.abreve = 500; e.uhungarumlaut = 500; e.ecaron = 444; e.Ydieresis = 556; e.divide = 675; e.Yacute = 556; e.Acircumflex = 611; e.aacute = 500; e.Ucircumflex = 722; e.yacute = 444; e.scommaaccent = 389; e.ecircumflex = 444; e.Uring = 722; e.Udieresis = 722; e.aogonek = 500; e.Uacute = 722; e.uogonek = 500; e.Edieresis = 611; e.Dcroat = 722; e.commaaccent = 250; e.copyright = 760; e.Emacron = 611; e.ccaron = 444; e.aring = 500; e.Ncommaaccent = 667; e.lacute = 278; e.agrave = 500; e.Tcommaaccent = 556; e.Cacute = 667; e.atilde = 500; e.Edotaccent = 611; e.scaron = 389; e.scedilla = 389; e.iacute = 278; e.lozenge = 471; e.Rcaron = 611; e.Gcommaaccent = 722; e.ucircumflex = 500; e.acircumflex = 500; e.Amacron = 611; e.rcaron = 389; e.ccedilla = 444; e.Zdotaccent = 556; e.Thorn = 611; e.Omacron = 722; e.Racute = 611; e.Sacute = 500; e.dcaron = 544; e.Umacron = 722; e.uring = 500; e.threesuperior = 300; e.Ograve = 722; e.Agrave = 611; e.Abreve = 611; e.multiply = 675; e.uacute = 500; e.Tcaron = 556; e.partialdiff = 476; e.ydieresis = 444; e.Nacute = 667; e.icircumflex = 278; e.Ecircumflex = 611; e.adieresis = 500; e.edieresis = 444; e.cacute = 444; e.nacute = 500; e.umacron = 500; e.Ncaron = 667; e.Iacute = 333; e.plusminus = 675; e.brokenbar = 275; e.registered = 760; e.Gbreve = 722; e.Idotaccent = 333; e.summation = 600; e.Egrave = 611; e.racute = 389; e.omacron = 500; e.Zacute = 556; e.Zcaron = 556; e.greaterequal = 549; e.Eth = 722; e.Ccedilla = 667; e.lcommaaccent = 278; e.tcaron = 300; e.eogonek = 444; e.Uogonek = 722; e.Aacute = 611; e.Adieresis = 611; e.egrave = 444; e.zacute = 389; e.iogonek = 278; e.Oacute = 722; e.oacute = 500; e.amacron = 500; e.sacute = 389; e.idieresis = 278; e.Ocircumflex = 722; e.Ugrave = 722; e.Delta = 612; e.thorn = 500; e.twosuperior = 300; e.Odieresis = 722; e.mu = 500; e.igrave = 278; e.ohungarumlaut = 500; e.Eogonek = 611; e.dcroat = 500; e.threequarters = 750; e.Scedilla = 500; e.lcaron = 300; e.Kcommaaccent = 667; e.Lacute = 556; e.trademark = 980; e.edotaccent = 444; e.Igrave = 333; e.Imacron = 333; e.Lcaron = 611; e.onehalf = 750; e.lessequal = 549; e.ocircumflex = 500; e.ntilde = 500; e.Uhungarumlaut = 722; e.Eacute = 611; e.emacron = 444; e.gbreve = 500; e.onequarter = 750; e.Scaron = 500; e.Scommaaccent = 500; e.Ohungarumlaut = 722; e.degree = 400; e.ograve = 500; e.Ccaron = 667; e.ugrave = 500; e.radical = 453; e.Dcaron = 722; e.rcommaaccent = 389; e.Ntilde = 667; e.otilde = 500; e.Rcommaaccent = 611; e.Lcommaaccent = 556; e.Atilde = 611; e.Aogonek = 611; e.Aring = 611; e.Otilde = 722; e.zdotaccent = 389; e.Ecaron = 611; e.Iogonek = 333; e.kcommaaccent = 444; e.minus = 675; e.Icircumflex = 333; e.ncaron = 500; e.tcommaaccent = 278; e.logicalnot = 675; e.odieresis = 500; e.udieresis = 500; e.notequal = 549; e.gcommaaccent = 500; e.eth = 500; e.zcaron = 389; e.ncommaaccent = 500; e.onesuperior = 300; e.imacron = 278; e.Euro = 500; })); e.ZapfDingbats = getLookupTableFactory((function (e) { e.space = 278; e.a1 = 974; e.a2 = 961; e.a202 = 974; e.a3 = 980; e.a4 = 719; e.a5 = 789; e.a119 = 790; e.a118 = 791; e.a117 = 690; e.a11 = 960; e.a12 = 939; e.a13 = 549; e.a14 = 855; e.a15 = 911; e.a16 = 933; e.a105 = 911; e.a17 = 945; e.a18 = 974; e.a19 = 755; e.a20 = 846; e.a21 = 762; e.a22 = 761; e.a23 = 571; e.a24 = 677; e.a25 = 763; e.a26 = 760; e.a27 = 759; e.a28 = 754; e.a6 = 494; e.a7 = 552; e.a8 = 537; e.a9 = 577; e.a10 = 692; e.a29 = 786; e.a30 = 788; e.a31 = 788; e.a32 = 790; e.a33 = 793; e.a34 = 794; e.a35 = 816; e.a36 = 823; e.a37 = 789; e.a38 = 841; e.a39 = 823; e.a40 = 833; e.a41 = 816; e.a42 = 831; e.a43 = 923; e.a44 = 744; e.a45 = 723; e.a46 = 749; e.a47 = 790; e.a48 = 792; e.a49 = 695; e.a50 = 776; e.a51 = 768; e.a52 = 792; e.a53 = 759; e.a54 = 707; e.a55 = 708; e.a56 = 682; e.a57 = 701; e.a58 = 826; e.a59 = 815; e.a60 = 789; e.a61 = 789; e.a62 = 707; e.a63 = 687; e.a64 = 696; e.a65 = 689; e.a66 = 786; e.a67 = 787; e.a68 = 713; e.a69 = 791; e.a70 = 785; e.a71 = 791; e.a72 = 873; e.a73 = 761; e.a74 = 762; e.a203 = 762; e.a75 = 759; e.a204 = 759; e.a76 = 892; e.a77 = 892; e.a78 = 788; e.a79 = 784; e.a81 = 438; e.a82 = 138; e.a83 = 277; e.a84 = 415; e.a97 = 392; e.a98 = 392; e.a99 = 668; e.a100 = 668; e.a89 = 390; e.a90 = 390; e.a93 = 317; e.a94 = 317; e.a91 = 276; e.a92 = 276; e.a205 = 509; e.a85 = 509; e.a206 = 410; e.a86 = 410; e.a87 = 234; e.a88 = 234; e.a95 = 334; e.a96 = 334; e.a101 = 732; e.a102 = 544; e.a103 = 544; e.a104 = 910; e.a106 = 667; e.a107 = 760; e.a108 = 760; e.a112 = 776; e.a111 = 595; e.a110 = 694; e.a109 = 626; e.a120 = 788; e.a121 = 788; e.a122 = 788; e.a123 = 788; e.a124 = 788; e.a125 = 788; e.a126 = 788; e.a127 = 788; e.a128 = 788; e.a129 = 788; e.a130 = 788; e.a131 = 788; e.a132 = 788; e.a133 = 788; e.a134 = 788; e.a135 = 788; e.a136 = 788; e.a137 = 788; e.a138 = 788; e.a139 = 788; e.a140 = 788; e.a141 = 788; e.a142 = 788; e.a143 = 788; e.a144 = 788; e.a145 = 788; e.a146 = 788; e.a147 = 788; e.a148 = 788; e.a149 = 788; e.a150 = 788; e.a151 = 788; e.a152 = 788; e.a153 = 788; e.a154 = 788; e.a155 = 788; e.a156 = 788; e.a157 = 788; e.a158 = 788; e.a159 = 788; e.a160 = 894; e.a161 = 838; e.a163 = 1016; e.a164 = 458; e.a196 = 748; e.a165 = 924; e.a192 = 748; e.a166 = 918; e.a167 = 927; e.a168 = 928; e.a169 = 928; e.a170 = 834; e.a171 = 873; e.a172 = 828; e.a173 = 924; e.a162 = 924; e.a174 = 917; e.a175 = 930; e.a176 = 931; e.a177 = 463; e.a178 = 883; e.a179 = 836; e.a193 = 836; e.a180 = 867; e.a199 = 867; e.a181 = 696; e.a200 = 696; e.a182 = 874; e.a201 = 874; e.a183 = 760; e.a184 = 946; e.a197 = 771; e.a185 = 865; e.a194 = 771; e.a198 = 888; e.a186 = 967; e.a195 = 888; e.a187 = 831; e.a188 = 873; e.a189 = 927; e.a190 = 970; e.a191 = 918; })); })), ea = getLookupTableFactory((function (e) { e.Courier = { ascent: 629, descent: -157, capHeight: 562, xHeight: -426 }; e["Courier-Bold"] = { ascent: 629, descent: -157, capHeight: 562, xHeight: 439 }; e["Courier-Oblique"] = { ascent: 629, descent: -157, capHeight: 562, xHeight: 426 }; e["Courier-BoldOblique"] = { ascent: 629, descent: -157, capHeight: 562, xHeight: 426 }; e.Helvetica = { ascent: 718, descent: -207, capHeight: 718, xHeight: 523 }; e["Helvetica-Bold"] = { ascent: 718, descent: -207, capHeight: 718, xHeight: 532 }; e["Helvetica-Oblique"] = { ascent: 718, descent: -207, capHeight: 718, xHeight: 523 }; e["Helvetica-BoldOblique"] = { ascent: 718, descent: -207, capHeight: 718, xHeight: 532 }; e["Times-Roman"] = { ascent: 683, descent: -217, capHeight: 662, xHeight: 450 }; e["Times-Bold"] = { ascent: 683, descent: -217, capHeight: 676, xHeight: 461 }; e["Times-Italic"] = { ascent: 683, descent: -217, capHeight: 653, xHeight: 441 }; e["Times-BoldItalic"] = { ascent: 683, descent: -217, capHeight: 669, xHeight: 462 }; e.Symbol = { ascent: Math.NaN, descent: Math.NaN, capHeight: Math.NaN, xHeight: Math.NaN }; e.ZapfDingbats = { ascent: Math.NaN, descent: Math.NaN, capHeight: Math.NaN, xHeight: Math.NaN }; }));
  7205. var GlyfTable = /** @class */ (function () {
  7206. function GlyfTable(_b) {
  7207. var e = _b.glyfTable, t = _b.isGlyphLocationsLong, i = _b.locaTable, a = _b.numGlyphs;
  7208. this.glyphs = [];
  7209. var s = new DataView(i.buffer, i.byteOffset, i.byteLength), r = new DataView(e.buffer, e.byteOffset, e.byteLength), n = t ? 4 : 2;
  7210. var o = t ? s.getUint32(0) : 2 * s.getUint16(0), g = 0;
  7211. for (var e_148 = 0; e_148 < a; e_148++) {
  7212. g += n;
  7213. var e_149 = t ? s.getUint32(g) : 2 * s.getUint16(g);
  7214. if (e_149 === o) {
  7215. this.glyphs.push(new Glyph({}));
  7216. continue;
  7217. }
  7218. var i_112 = Glyph.parse(o, r);
  7219. this.glyphs.push(i_112);
  7220. o = e_149;
  7221. }
  7222. }
  7223. GlyfTable.prototype.getSize = function () { return this.glyphs.reduce((function (e, t) { return e + (t.getSize() + 3 & -4); }), 0); };
  7224. GlyfTable.prototype.write = function () { var e = this.getSize(), t = new DataView(new ArrayBuffer(e)), i = e > 131070, a = i ? 4 : 2, s = new DataView(new ArrayBuffer((this.glyphs.length + 1) * a)); i ? s.setUint32(0, 0) : s.setUint16(0, 0); var r = 0, n = 0; for (var _b = 0, _h = this.glyphs; _b < _h.length; _b++) {
  7225. var e_150 = _h[_b];
  7226. r += e_150.write(r, t);
  7227. r = r + 3 & -4;
  7228. n += a;
  7229. i ? s.setUint32(n, r) : s.setUint16(n, r >> 1);
  7230. } return { isLocationLong: i, loca: new Uint8Array(s.buffer), glyf: new Uint8Array(t.buffer) }; };
  7231. GlyfTable.prototype.scale = function (e) { for (var t_128 = 0, i_113 = this.glyphs.length; t_128 < i_113; t_128++)
  7232. this.glyphs[t_128].scale(e[t_128]); };
  7233. return GlyfTable;
  7234. }());
  7235. var Glyph = /** @class */ (function () {
  7236. function Glyph(_b) {
  7237. var _h = _b.header, e = _h === void 0 ? null : _h, _j = _b.simple, t = _j === void 0 ? null : _j, _k = _b.composites, i = _k === void 0 ? null : _k;
  7238. this.header = e;
  7239. this.simple = t;
  7240. this.composites = i;
  7241. }
  7242. Glyph.parse = function (e, t) { var _b = GlyphHeader.parse(e, t), i = _b[0], a = _b[1]; e += i; if (a.numberOfContours < 0) {
  7243. var i_114 = [];
  7244. for (;;) {
  7245. var _h = CompositeGlyph.parse(e, t), a_106 = _h[0], s_72 = _h[1];
  7246. e += a_106;
  7247. i_114.push(s_72);
  7248. if (!(32 & s_72.flags))
  7249. break;
  7250. }
  7251. return new Glyph({ header: a, composites: i_114 });
  7252. } var s = SimpleGlyph.parse(e, t, a.numberOfContours); return new Glyph({ header: a, simple: s }); };
  7253. Glyph.prototype.getSize = function () { if (!this.header)
  7254. return 0; var e = this.simple ? this.simple.getSize() : this.composites.reduce((function (e, t) { return e + t.getSize(); }), 0); return this.header.getSize() + e; };
  7255. Glyph.prototype.write = function (e, t) { if (!this.header)
  7256. return 0; var i = e; e += this.header.write(e, t); if (this.simple)
  7257. e += this.simple.write(e, t);
  7258. else
  7259. for (var _b = 0, _h = this.composites; _b < _h.length; _b++) {
  7260. var i_115 = _h[_b];
  7261. e += i_115.write(e, t);
  7262. } return e - i; };
  7263. Glyph.prototype.scale = function (e) { if (!this.header)
  7264. return; var t = (this.header.xMin + this.header.xMax) / 2; this.header.scale(t, e); if (this.simple)
  7265. this.simple.scale(t, e);
  7266. else
  7267. for (var _b = 0, _h = this.composites; _b < _h.length; _b++) {
  7268. var i_116 = _h[_b];
  7269. i_116.scale(t, e);
  7270. } };
  7271. return Glyph;
  7272. }());
  7273. var GlyphHeader = /** @class */ (function () {
  7274. function GlyphHeader(_b) {
  7275. var e = _b.numberOfContours, t = _b.xMin, i = _b.yMin, a = _b.xMax, s = _b.yMax;
  7276. this.numberOfContours = e;
  7277. this.xMin = t;
  7278. this.yMin = i;
  7279. this.xMax = a;
  7280. this.yMax = s;
  7281. }
  7282. GlyphHeader.parse = function (e, t) { return [10, new GlyphHeader({ numberOfContours: t.getInt16(e), xMin: t.getInt16(e + 2), yMin: t.getInt16(e + 4), xMax: t.getInt16(e + 6), yMax: t.getInt16(e + 8) })]; };
  7283. GlyphHeader.prototype.getSize = function () { return 10; };
  7284. GlyphHeader.prototype.write = function (e, t) { t.setInt16(e, this.numberOfContours); t.setInt16(e + 2, this.xMin); t.setInt16(e + 4, this.yMin); t.setInt16(e + 6, this.xMax); t.setInt16(e + 8, this.yMax); return 10; };
  7285. GlyphHeader.prototype.scale = function (e, t) { this.xMin = Math.round(e + (this.xMin - e) * t); this.xMax = Math.round(e + (this.xMax - e) * t); };
  7286. return GlyphHeader;
  7287. }());
  7288. var Contour = /** @class */ (function () {
  7289. function Contour(_b) {
  7290. var e = _b.flags, t = _b.xCoordinates, i = _b.yCoordinates;
  7291. this.xCoordinates = t;
  7292. this.yCoordinates = i;
  7293. this.flags = e;
  7294. }
  7295. return Contour;
  7296. }());
  7297. var SimpleGlyph = /** @class */ (function () {
  7298. function SimpleGlyph(_b) {
  7299. var e = _b.contours, t = _b.instructions;
  7300. this.contours = e;
  7301. this.instructions = t;
  7302. }
  7303. SimpleGlyph.parse = function (e, t, i) { var a = []; for (var s_73 = 0; s_73 < i; s_73++) {
  7304. var i_117 = t.getUint16(e);
  7305. e += 2;
  7306. a.push(i_117);
  7307. } var s = a[i - 1] + 1, r = t.getUint16(e); e += 2; var n = new Uint8Array(t).slice(e, e + r); e += r; var o = []; for (var i_118 = 0; i_118 < s; e++, i_118++) {
  7308. var a_107 = t.getUint8(e);
  7309. o.push(a_107);
  7310. if (8 & a_107) {
  7311. var s_74 = t.getUint8(++e);
  7312. a_107 ^= 8;
  7313. for (var e_151 = 0; e_151 < s_74; e_151++)
  7314. o.push(a_107);
  7315. i_118 += s_74;
  7316. }
  7317. } var g = []; var c = [], h = [], l = []; var C = []; var Q = 0, E = 0; for (var i_119 = 0; i_119 < s; i_119++) {
  7318. var s_75 = o[i_119];
  7319. if (2 & s_75) {
  7320. var i_120 = t.getUint8(e++);
  7321. E += 16 & s_75 ? i_120 : -i_120;
  7322. c.push(E);
  7323. }
  7324. else if (16 & s_75)
  7325. c.push(E);
  7326. else {
  7327. E += t.getInt16(e);
  7328. e += 2;
  7329. c.push(E);
  7330. }
  7331. if (a[Q] === i_119) {
  7332. Q++;
  7333. g.push(c);
  7334. c = [];
  7335. }
  7336. } E = 0; Q = 0; for (var i_121 = 0; i_121 < s; i_121++) {
  7337. var s_76 = o[i_121];
  7338. if (4 & s_76) {
  7339. var i_122 = t.getUint8(e++);
  7340. E += 32 & s_76 ? i_122 : -i_122;
  7341. h.push(E);
  7342. }
  7343. else if (32 & s_76)
  7344. h.push(E);
  7345. else {
  7346. E += t.getInt16(e);
  7347. e += 2;
  7348. h.push(E);
  7349. }
  7350. l.push(1 & s_76 | 64 & s_76);
  7351. if (a[Q] === i_121) {
  7352. c = g[Q];
  7353. Q++;
  7354. C.push(new Contour({ flags: l, xCoordinates: c, yCoordinates: h }));
  7355. h = [];
  7356. l = [];
  7357. }
  7358. } return new SimpleGlyph({ contours: C, instructions: n }); };
  7359. SimpleGlyph.prototype.getSize = function () { var e = 2 * this.contours.length + 2 + this.instructions.length, t = 0, i = 0; for (var _b = 0, _h = this.contours; _b < _h.length; _b++) {
  7360. var a_108 = _h[_b];
  7361. e += a_108.flags.length;
  7362. for (var s_77 = 0, r_52 = a_108.xCoordinates.length; s_77 < r_52; s_77++) {
  7363. var r_53 = a_108.xCoordinates[s_77], n_38 = a_108.yCoordinates[s_77];
  7364. var o_26 = Math.abs(r_53 - t);
  7365. o_26 > 255 ? e += 2 : o_26 > 0 && (e += 1);
  7366. t = r_53;
  7367. o_26 = Math.abs(n_38 - i);
  7368. o_26 > 255 ? e += 2 : o_26 > 0 && (e += 1);
  7369. i = n_38;
  7370. }
  7371. } return e; };
  7372. SimpleGlyph.prototype.write = function (e, t) { var i = e, a = [], s = [], r = []; var n = 0, o = 0; for (var _b = 0, _h = this.contours; _b < _h.length; _b++) {
  7373. var i_123 = _h[_b];
  7374. for (var e_152 = 0, t_129 = i_123.xCoordinates.length; e_152 < t_129; e_152++) {
  7375. var t_130 = i_123.flags[e_152];
  7376. var g_18 = i_123.xCoordinates[e_152];
  7377. var c_12 = g_18 - n;
  7378. if (0 === c_12) {
  7379. t_130 |= 16;
  7380. a.push(0);
  7381. }
  7382. else {
  7383. var e_153 = Math.abs(c_12);
  7384. if (e_153 <= 255) {
  7385. t_130 |= c_12 >= 0 ? 18 : 2;
  7386. a.push(e_153);
  7387. }
  7388. else
  7389. a.push(c_12);
  7390. }
  7391. n = g_18;
  7392. var h_9 = i_123.yCoordinates[e_152];
  7393. c_12 = h_9 - o;
  7394. if (0 === c_12) {
  7395. t_130 |= 32;
  7396. s.push(0);
  7397. }
  7398. else {
  7399. var e_154 = Math.abs(c_12);
  7400. if (e_154 <= 255) {
  7401. t_130 |= c_12 >= 0 ? 36 : 4;
  7402. s.push(e_154);
  7403. }
  7404. else
  7405. s.push(c_12);
  7406. }
  7407. o = h_9;
  7408. r.push(t_130);
  7409. }
  7410. t.setUint16(e, a.length - 1);
  7411. e += 2;
  7412. } t.setUint16(e, this.instructions.length); e += 2; if (this.instructions.length) {
  7413. new Uint8Array(t.buffer, 0, t.buffer.byteLength).set(this.instructions, e);
  7414. e += this.instructions.length;
  7415. } for (var _j = 0, r_54 = r; _j < r_54.length; _j++) {
  7416. var i_124 = r_54[_j];
  7417. t.setUint8(e++, i_124);
  7418. } for (var i_125 = 0, s_78 = a.length; i_125 < s_78; i_125++) {
  7419. var s_79 = a[i_125], n_39 = r[i_125];
  7420. if (2 & n_39)
  7421. t.setUint8(e++, s_79);
  7422. else if (!(16 & n_39)) {
  7423. t.setInt16(e, s_79);
  7424. e += 2;
  7425. }
  7426. } for (var i_126 = 0, a_109 = s.length; i_126 < a_109; i_126++) {
  7427. var a_110 = s[i_126], n_40 = r[i_126];
  7428. if (4 & n_40)
  7429. t.setUint8(e++, a_110);
  7430. else if (!(32 & n_40)) {
  7431. t.setInt16(e, a_110);
  7432. e += 2;
  7433. }
  7434. } return e - i; };
  7435. SimpleGlyph.prototype.scale = function (e, t) { for (var _b = 0, _h = this.contours; _b < _h.length; _b++) {
  7436. var i_127 = _h[_b];
  7437. if (0 !== i_127.xCoordinates.length)
  7438. for (var a_111 = 0, s_80 = i_127.xCoordinates.length; a_111 < s_80; a_111++)
  7439. i_127.xCoordinates[a_111] = Math.round(e + (i_127.xCoordinates[a_111] - e) * t);
  7440. } };
  7441. return SimpleGlyph;
  7442. }());
  7443. var CompositeGlyph = /** @class */ (function () {
  7444. function CompositeGlyph(_b) {
  7445. var e = _b.flags, t = _b.glyphIndex, i = _b.argument1, a = _b.argument2, s = _b.transf, r = _b.instructions;
  7446. this.flags = e;
  7447. this.glyphIndex = t;
  7448. this.argument1 = i;
  7449. this.argument2 = a;
  7450. this.transf = s;
  7451. this.instructions = r;
  7452. }
  7453. CompositeGlyph.parse = function (e, t) { var i = e, a = []; var s = t.getUint16(e); var r = t.getUint16(e + 2); e += 4; var n, o; if (1 & s) {
  7454. if (2 & s) {
  7455. n = t.getInt16(e);
  7456. o = t.getInt16(e + 2);
  7457. }
  7458. else {
  7459. n = t.getUint16(e);
  7460. o = t.getUint16(e + 2);
  7461. }
  7462. e += 4;
  7463. s ^= 1;
  7464. }
  7465. else {
  7466. if (2 & s) {
  7467. n = t.getInt8(e);
  7468. o = t.getInt8(e + 1);
  7469. }
  7470. else {
  7471. n = t.getUint8(e);
  7472. o = t.getUint8(e + 1);
  7473. }
  7474. e += 2;
  7475. } if (8 & s) {
  7476. a.push(t.getUint16(e));
  7477. e += 2;
  7478. }
  7479. else if (64 & s) {
  7480. a.push(t.getUint16(e), t.getUint16(e + 2));
  7481. e += 4;
  7482. }
  7483. else if (128 & s) {
  7484. a.push(t.getUint16(e), t.getUint16(e + 2), t.getUint16(e + 4), t.getUint16(e + 6));
  7485. e += 8;
  7486. } var g = null; if (256 & s) {
  7487. var i_128 = t.getUint16(e);
  7488. e += 2;
  7489. g = new Uint8Array(t).slice(e, e + i_128);
  7490. e += i_128;
  7491. } return [e - i, new CompositeGlyph({ flags: s, glyphIndex: r, argument1: n, argument2: o, transf: a, instructions: g })]; };
  7492. CompositeGlyph.prototype.getSize = function () { var e = 4 + 2 * this.transf.length; 256 & this.flags && (e += 2 + this.instructions.length); e += 2; 2 & this.flags ? this.argument1 >= -128 && this.argument1 <= 127 && this.argument2 >= -128 && this.argument2 <= 127 || (e += 2) : this.argument1 >= 0 && this.argument1 <= 255 && this.argument2 >= 0 && this.argument2 <= 255 || (e += 2); return e; };
  7493. CompositeGlyph.prototype.write = function (e, t) { var i = e; 2 & this.flags ? this.argument1 >= -128 && this.argument1 <= 127 && this.argument2 >= -128 && this.argument2 <= 127 || (this.flags |= 1) : this.argument1 >= 0 && this.argument1 <= 255 && this.argument2 >= 0 && this.argument2 <= 255 || (this.flags |= 1); t.setUint16(e, this.flags); t.setUint16(e + 2, this.glyphIndex); e += 4; if (1 & this.flags) {
  7494. if (2 & this.flags) {
  7495. t.setInt16(e, this.argument1);
  7496. t.setInt16(e + 2, this.argument2);
  7497. }
  7498. else {
  7499. t.setUint16(e, this.argument1);
  7500. t.setUint16(e + 2, this.argument2);
  7501. }
  7502. e += 4;
  7503. }
  7504. else {
  7505. t.setUint8(e, this.argument1);
  7506. t.setUint8(e + 1, this.argument2);
  7507. e += 2;
  7508. } if (256 & this.flags) {
  7509. t.setUint16(e, this.instructions.length);
  7510. e += 2;
  7511. if (this.instructions.length) {
  7512. new Uint8Array(t.buffer, 0, t.buffer.byteLength).set(this.instructions, e);
  7513. e += this.instructions.length;
  7514. }
  7515. } return e - i; };
  7516. CompositeGlyph.prototype.scale = function (e, t) { };
  7517. return CompositeGlyph;
  7518. }());
  7519. function writeInt16(e, t, i) { e[t] = i >> 8 & 255; e[t + 1] = 255 & i; }
  7520. function writeInt32(e, t, i) { e[t] = i >> 24 & 255; e[t + 1] = i >> 16 & 255; e[t + 2] = i >> 8 & 255; e[t + 3] = 255 & i; }
  7521. function writeData(e, t, i) { if (i instanceof Uint8Array)
  7522. e.set(i, t);
  7523. else if ("string" == typeof i)
  7524. for (var a_112 = 0, s_81 = i.length; a_112 < s_81; a_112++)
  7525. e[t++] = 255 & i.charCodeAt(a_112);
  7526. else
  7527. for (var _b = 0, i_129 = i; _b < i_129.length; _b++) {
  7528. var a_113 = i_129[_b];
  7529. e[t++] = 255 & a_113;
  7530. } }
  7531. var OpenTypeFileBuilder = /** @class */ (function () {
  7532. function OpenTypeFileBuilder(e) {
  7533. this.sfnt = e;
  7534. this.tables = Object.create(null);
  7535. }
  7536. OpenTypeFileBuilder.getSearchParams = function (e, t) { var i = 1, a = 0; for (; (i ^ e) > i;) {
  7537. i <<= 1;
  7538. a++;
  7539. } var s = i * t; return { range: s, entry: a, rangeShift: t * e - s }; };
  7540. OpenTypeFileBuilder.prototype.toArray = function () { var e = this.sfnt; var t = this.tables, i = Object.keys(t); i.sort(); var a = i.length; var s, r, n, o, g, c = 12 + 16 * a; var h = [c]; for (s = 0; s < a; s++) {
  7541. o = t[i[s]];
  7542. c += (o.length + 3 & -4) >>> 0;
  7543. h.push(c);
  7544. } var l = new Uint8Array(c); for (s = 0; s < a; s++) {
  7545. o = t[i[s]];
  7546. writeData(l, h[s], o);
  7547. } "true" === e && (e = string32(65536)); l[0] = 255 & e.charCodeAt(0); l[1] = 255 & e.charCodeAt(1); l[2] = 255 & e.charCodeAt(2); l[3] = 255 & e.charCodeAt(3); writeInt16(l, 4, a); var C = OpenTypeFileBuilder.getSearchParams(a, 16); writeInt16(l, 6, C.range); writeInt16(l, 8, C.entry); writeInt16(l, 10, C.rangeShift); c = 12; for (s = 0; s < a; s++) {
  7548. g = i[s];
  7549. l[c] = 255 & g.charCodeAt(0);
  7550. l[c + 1] = 255 & g.charCodeAt(1);
  7551. l[c + 2] = 255 & g.charCodeAt(2);
  7552. l[c + 3] = 255 & g.charCodeAt(3);
  7553. var e_155 = 0;
  7554. for (r = h[s], n = h[s + 1]; r < n; r += 4) {
  7555. e_155 = e_155 + readUint32(l, r) >>> 0;
  7556. }
  7557. writeInt32(l, c + 4, e_155);
  7558. writeInt32(l, c + 8, h[s]);
  7559. writeInt32(l, c + 12, t[g].length);
  7560. c += 16;
  7561. } return l; };
  7562. OpenTypeFileBuilder.prototype.addTable = function (e, t) { if (e in this.tables)
  7563. throw new Error("Table " + e + " already exists"); this.tables[e] = t; };
  7564. return OpenTypeFileBuilder;
  7565. }());
  7566. var ta = [4], ia = [5], aa = [6], sa = [7], ra = [8], na = [12, 35], oa = [14], ga = [21], Ia = [22], ca = [30], ha = [31];
  7567. var Type1CharString = /** @class */ (function () {
  7568. function Type1CharString() {
  7569. this.width = 0;
  7570. this.lsb = 0;
  7571. this.flexing = !1;
  7572. this.output = [];
  7573. this.stack = [];
  7574. }
  7575. Type1CharString.prototype.convert = function (e, t, i) { var a = e.length; var s, r, n, o = !1; for (var g_19 = 0; g_19 < a; g_19++) {
  7576. var a_114 = e[g_19];
  7577. if (a_114 < 32) {
  7578. 12 === a_114 && (a_114 = (a_114 << 8) + e[++g_19]);
  7579. switch (a_114) {
  7580. case 1:
  7581. case 3:
  7582. case 9:
  7583. case 3072:
  7584. case 3073:
  7585. case 3074:
  7586. case 3105:
  7587. this.stack = [];
  7588. break;
  7589. case 4:
  7590. if (this.flexing) {
  7591. if (this.stack.length < 1) {
  7592. o = !0;
  7593. break;
  7594. }
  7595. var e_156 = this.stack.pop();
  7596. this.stack.push(0, e_156);
  7597. break;
  7598. }
  7599. o = this.executeCommand(1, ta);
  7600. break;
  7601. case 5:
  7602. o = this.executeCommand(2, ia);
  7603. break;
  7604. case 6:
  7605. o = this.executeCommand(1, aa);
  7606. break;
  7607. case 7:
  7608. o = this.executeCommand(1, sa);
  7609. break;
  7610. case 8:
  7611. o = this.executeCommand(6, ra);
  7612. break;
  7613. case 10:
  7614. if (this.stack.length < 1) {
  7615. o = !0;
  7616. break;
  7617. }
  7618. n = this.stack.pop();
  7619. if (!t[n]) {
  7620. o = !0;
  7621. break;
  7622. }
  7623. o = this.convert(t[n], t, i);
  7624. break;
  7625. case 11: return o;
  7626. case 13:
  7627. if (this.stack.length < 2) {
  7628. o = !0;
  7629. break;
  7630. }
  7631. s = this.stack.pop();
  7632. r = this.stack.pop();
  7633. this.lsb = r;
  7634. this.width = s;
  7635. this.stack.push(s, r);
  7636. o = this.executeCommand(2, Ia);
  7637. break;
  7638. case 14:
  7639. this.output.push(oa[0]);
  7640. break;
  7641. case 21:
  7642. if (this.flexing)
  7643. break;
  7644. o = this.executeCommand(2, ga);
  7645. break;
  7646. case 22:
  7647. if (this.flexing) {
  7648. this.stack.push(0);
  7649. break;
  7650. }
  7651. o = this.executeCommand(1, Ia);
  7652. break;
  7653. case 30:
  7654. o = this.executeCommand(4, ca);
  7655. break;
  7656. case 31:
  7657. o = this.executeCommand(4, ha);
  7658. break;
  7659. case 3078:
  7660. if (i) {
  7661. var e_157 = this.stack.at(-5);
  7662. this.seac = this.stack.splice(-4, 4);
  7663. this.seac[0] += this.lsb - e_157;
  7664. o = this.executeCommand(0, oa);
  7665. }
  7666. else
  7667. o = this.executeCommand(4, oa);
  7668. break;
  7669. case 3079:
  7670. if (this.stack.length < 4) {
  7671. o = !0;
  7672. break;
  7673. }
  7674. this.stack.pop();
  7675. s = this.stack.pop();
  7676. var e_158 = this.stack.pop();
  7677. r = this.stack.pop();
  7678. this.lsb = r;
  7679. this.width = s;
  7680. this.stack.push(s, r, e_158);
  7681. o = this.executeCommand(3, ga);
  7682. break;
  7683. case 3084:
  7684. if (this.stack.length < 2) {
  7685. o = !0;
  7686. break;
  7687. }
  7688. var g_20 = this.stack.pop(), c_13 = this.stack.pop();
  7689. this.stack.push(c_13 / g_20);
  7690. break;
  7691. case 3088:
  7692. if (this.stack.length < 2) {
  7693. o = !0;
  7694. break;
  7695. }
  7696. n = this.stack.pop();
  7697. var h_10 = this.stack.pop();
  7698. if (0 === n && 3 === h_10) {
  7699. var e_159 = this.stack.splice(-17, 17);
  7700. this.stack.push(e_159[2] + e_159[0], e_159[3] + e_159[1], e_159[4], e_159[5], e_159[6], e_159[7], e_159[8], e_159[9], e_159[10], e_159[11], e_159[12], e_159[13], e_159[14]);
  7701. o = this.executeCommand(13, na, !0);
  7702. this.flexing = !1;
  7703. this.stack.push(e_159[15], e_159[16]);
  7704. }
  7705. else
  7706. 1 === n && 0 === h_10 && (this.flexing = !0);
  7707. break;
  7708. case 3089: break;
  7709. default: warn('Unknown type 1 charstring command of "' + a_114 + '"');
  7710. }
  7711. if (o)
  7712. break;
  7713. }
  7714. else {
  7715. a_114 <= 246 ? a_114 -= 139 : a_114 = a_114 <= 250 ? 256 * (a_114 - 247) + e[++g_19] + 108 : a_114 <= 254 ? -256 * (a_114 - 251) - e[++g_19] - 108 : (255 & e[++g_19]) << 24 | (255 & e[++g_19]) << 16 | (255 & e[++g_19]) << 8 | (255 & e[++g_19]) << 0;
  7716. this.stack.push(a_114);
  7717. }
  7718. } return o; };
  7719. Type1CharString.prototype.executeCommand = function (e, t, i) {
  7720. var _b;
  7721. var a = this.stack.length;
  7722. if (e > a)
  7723. return !0;
  7724. var s = a - e;
  7725. for (var e_160 = s; e_160 < a; e_160++) {
  7726. var t_131 = this.stack[e_160];
  7727. if (Number.isInteger(t_131))
  7728. this.output.push(28, t_131 >> 8 & 255, 255 & t_131);
  7729. else {
  7730. t_131 = 65536 * t_131 | 0;
  7731. this.output.push(255, t_131 >> 24 & 255, t_131 >> 16 & 255, t_131 >> 8 & 255, 255 & t_131);
  7732. }
  7733. }
  7734. (_b = this.output).push.apply(_b, t);
  7735. i ? this.stack.splice(s, e) : this.stack.length = 0;
  7736. return !1;
  7737. };
  7738. return Type1CharString;
  7739. }());
  7740. function isHexDigit(e) { return e >= 48 && e <= 57 || e >= 65 && e <= 70 || e >= 97 && e <= 102; }
  7741. function decrypt(e, t, i) { if (i >= e.length)
  7742. return new Uint8Array(0); var a, s, r = 0 | t; for (a = 0; a < i; a++)
  7743. r = 52845 * (e[a] + r) + 22719 & 65535; var n = e.length - i, o = new Uint8Array(n); for (a = i, s = 0; s < n; a++, s++) {
  7744. var t_132 = e[a];
  7745. o[s] = t_132 ^ r >> 8;
  7746. r = 52845 * (t_132 + r) + 22719 & 65535;
  7747. } return o; }
  7748. function isSpecial(e) { return 47 === e || 91 === e || 93 === e || 123 === e || 125 === e || 40 === e || 41 === e; }
  7749. var Type1Parser = /** @class */ (function () {
  7750. function Type1Parser(e, t, i) {
  7751. if (t) {
  7752. var t_133 = e.getBytes(), i_130 = !((isHexDigit(t_133[0]) || isWhiteSpace(t_133[0])) && isHexDigit(t_133[1]) && isHexDigit(t_133[2]) && isHexDigit(t_133[3]) && isHexDigit(t_133[4]) && isHexDigit(t_133[5]) && isHexDigit(t_133[6]) && isHexDigit(t_133[7]));
  7753. e = new Stream(i_130 ? decrypt(t_133, 55665, 4) : function decryptAscii(e, t, i) { var a = 0 | t; var s = e.length, r = new Uint8Array(s >>> 1); var n, o; for (n = 0, o = 0; n < s; n++) {
  7754. var t_134 = e[n];
  7755. if (!isHexDigit(t_134))
  7756. continue;
  7757. n++;
  7758. var i_131 = void 0;
  7759. for (; n < s && !isHexDigit(i_131 = e[n]);)
  7760. n++;
  7761. if (n < s) {
  7762. var e_161 = parseInt(String.fromCharCode(t_134, i_131), 16);
  7763. r[o++] = e_161 ^ a >> 8;
  7764. a = 52845 * (e_161 + a) + 22719 & 65535;
  7765. }
  7766. } return r.slice(i, o); }(t_133, 55665, 4));
  7767. }
  7768. this.seacAnalysisEnabled = !!i;
  7769. this.stream = e;
  7770. this.nextChar();
  7771. }
  7772. Type1Parser.prototype.readNumberArray = function () { this.getToken(); var e = []; for (;;) {
  7773. var t_135 = this.getToken();
  7774. if (null === t_135 || "]" === t_135 || "}" === t_135)
  7775. break;
  7776. e.push(parseFloat(t_135 || 0));
  7777. } return e; };
  7778. Type1Parser.prototype.readNumber = function () { var e = this.getToken(); return parseFloat(e || 0); };
  7779. Type1Parser.prototype.readInt = function () { var e = this.getToken(); return 0 | parseInt(e || 0, 10); };
  7780. Type1Parser.prototype.readBoolean = function () { return "true" === this.getToken() ? 1 : 0; };
  7781. Type1Parser.prototype.nextChar = function () { return this.currentChar = this.stream.getByte(); };
  7782. Type1Parser.prototype.prevChar = function () { this.stream.skip(-2); return this.currentChar = this.stream.getByte(); };
  7783. Type1Parser.prototype.getToken = function () { var e = !1, t = this.currentChar; for (;;) {
  7784. if (-1 === t)
  7785. return null;
  7786. if (e)
  7787. 10 !== t && 13 !== t || (e = !1);
  7788. else if (37 === t)
  7789. e = !0;
  7790. else if (!isWhiteSpace(t))
  7791. break;
  7792. t = this.nextChar();
  7793. } if (isSpecial(t)) {
  7794. this.nextChar();
  7795. return String.fromCharCode(t);
  7796. } var i = ""; do {
  7797. i += String.fromCharCode(t);
  7798. t = this.nextChar();
  7799. } while (t >= 0 && !isWhiteSpace(t) && !isSpecial(t)); return i; };
  7800. Type1Parser.prototype.readCharStrings = function (e, t) { return -1 === t ? e : decrypt(e, 4330, t); };
  7801. Type1Parser.prototype.extractFontProgram = function (e) { var t = this.stream, i = [], a = [], s = Object.create(null); s.lenIV = 4; var r = { subrs: [], charstrings: [], properties: { privateData: s } }; var n, o, g, c; for (; null !== (n = this.getToken());)
  7802. if ("/" === n) {
  7803. n = this.getToken();
  7804. switch (n) {
  7805. case "CharStrings":
  7806. this.getToken();
  7807. this.getToken();
  7808. this.getToken();
  7809. this.getToken();
  7810. for (;;) {
  7811. n = this.getToken();
  7812. if (null === n || "end" === n)
  7813. break;
  7814. if ("/" !== n)
  7815. continue;
  7816. var e_162 = this.getToken();
  7817. o = this.readInt();
  7818. this.getToken();
  7819. g = o > 0 ? t.getBytes(o) : new Uint8Array(0);
  7820. c = r.properties.privateData.lenIV;
  7821. var i_132 = this.readCharStrings(g, c);
  7822. this.nextChar();
  7823. n = this.getToken();
  7824. "noaccess" === n ? this.getToken() : "/" === n && this.prevChar();
  7825. a.push({ glyph: e_162, encoded: i_132 });
  7826. }
  7827. break;
  7828. case "Subrs":
  7829. this.readInt();
  7830. this.getToken();
  7831. for (; "dup" === this.getToken();) {
  7832. var e_163 = this.readInt();
  7833. o = this.readInt();
  7834. this.getToken();
  7835. g = o > 0 ? t.getBytes(o) : new Uint8Array(0);
  7836. c = r.properties.privateData.lenIV;
  7837. var a_116 = this.readCharStrings(g, c);
  7838. this.nextChar();
  7839. n = this.getToken();
  7840. "noaccess" === n && this.getToken();
  7841. i[e_163] = a_116;
  7842. }
  7843. break;
  7844. case "BlueValues":
  7845. case "OtherBlues":
  7846. case "FamilyBlues":
  7847. case "FamilyOtherBlues":
  7848. var e_164 = this.readNumberArray();
  7849. e_164.length > 0 && e_164.length, 0;
  7850. break;
  7851. case "StemSnapH":
  7852. case "StemSnapV":
  7853. r.properties.privateData[n] = this.readNumberArray();
  7854. break;
  7855. case "StdHW":
  7856. case "StdVW":
  7857. r.properties.privateData[n] = this.readNumberArray()[0];
  7858. break;
  7859. case "BlueShift":
  7860. case "lenIV":
  7861. case "BlueFuzz":
  7862. case "BlueScale":
  7863. case "LanguageGroup":
  7864. r.properties.privateData[n] = this.readNumber();
  7865. break;
  7866. case "ExpansionFactor":
  7867. r.properties.privateData[n] = this.readNumber() || .06;
  7868. break;
  7869. case "ForceBold": r.properties.privateData[n] = this.readBoolean();
  7870. }
  7871. } for (var _b = 0, a_115 = a; _b < a_115.length; _b++) {
  7872. var _h = a_115[_b], t_136 = _h.encoded, s_82 = _h.glyph;
  7873. var a_117 = new Type1CharString, n_41 = a_117.convert(t_136, i, this.seacAnalysisEnabled);
  7874. var o_27 = a_117.output;
  7875. n_41 && (o_27 = [14]);
  7876. var g_21 = { glyphName: s_82, charstring: o_27, width: a_117.width, lsb: a_117.lsb, seac: a_117.seac };
  7877. ".notdef" === s_82 ? r.charstrings.unshift(g_21) : r.charstrings.push(g_21);
  7878. if (e.builtInEncoding) {
  7879. var t_137 = e.builtInEncoding.indexOf(s_82);
  7880. t_137 > -1 && void 0 === e.widths[t_137] && t_137 >= e.firstChar && t_137 <= e.lastChar && (e.widths[t_137] = a_117.width);
  7881. }
  7882. } return r; };
  7883. Type1Parser.prototype.extractFontHeader = function (e) { var t; for (; null !== (t = this.getToken());)
  7884. if ("/" === t) {
  7885. t = this.getToken();
  7886. switch (t) {
  7887. case "FontMatrix":
  7888. var i_133 = this.readNumberArray();
  7889. e.fontMatrix = i_133;
  7890. break;
  7891. case "Encoding":
  7892. var a_118 = this.getToken();
  7893. var s_83 = void 0;
  7894. if (/^\d+$/.test(a_118)) {
  7895. s_83 = [];
  7896. var e_165 = 0 | parseInt(a_118, 10);
  7897. this.getToken();
  7898. for (var i_134 = 0; i_134 < e_165; i_134++) {
  7899. t = this.getToken();
  7900. for (; "dup" !== t && "def" !== t;) {
  7901. t = this.getToken();
  7902. if (null === t)
  7903. return;
  7904. }
  7905. if ("def" === t)
  7906. break;
  7907. var e_166 = this.readInt();
  7908. this.getToken();
  7909. var i_135 = this.getToken();
  7910. s_83[e_166] = i_135;
  7911. this.getToken();
  7912. }
  7913. }
  7914. else
  7915. s_83 = getEncoding(a_118);
  7916. e.builtInEncoding = s_83;
  7917. break;
  7918. case "FontBBox":
  7919. var r_55 = this.readNumberArray();
  7920. e.ascent = Math.max(r_55[3], r_55[1]);
  7921. e.descent = Math.min(r_55[1], r_55[3]);
  7922. e.ascentScaled = !0;
  7923. }
  7924. } };
  7925. return Type1Parser;
  7926. }());
  7927. function findBlock(e, t, i) { var a = e.length, s = t.length, r = a - s; var n = i, o = !1; for (; n < r;) {
  7928. var i_136 = 0;
  7929. for (; i_136 < s && e[n + i_136] === t[i_136];)
  7930. i_136++;
  7931. if (i_136 >= s) {
  7932. n += i_136;
  7933. for (; n < a && isWhiteSpace(e[n]);)
  7934. n++;
  7935. o = !0;
  7936. break;
  7937. }
  7938. n++;
  7939. } return { found: o, length: n }; }
  7940. var Type1Font = /** @class */ (function () {
  7941. function Type1Font(e, t, i) {
  7942. var a = i.length1, s = i.length2, r = t.peekBytes(6);
  7943. var n = 128 === r[0] && 1 === r[1];
  7944. if (n) {
  7945. t.skip(6);
  7946. a = r[5] << 24 | r[4] << 16 | r[3] << 8 | r[2];
  7947. }
  7948. var o = function getHeaderBlock(e, t) { var i = [101, 101, 120, 101, 99], a = e.pos; var s, r, n, o; try {
  7949. s = e.getBytes(t);
  7950. r = s.length;
  7951. }
  7952. catch (_b) { } if (r === t) {
  7953. n = findBlock(s, i, t - 2 * i.length);
  7954. if (n.found && n.length === t)
  7955. return { stream: new Stream(s), length: t };
  7956. } warn('Invalid "Length1" property in Type1 font -- trying to recover.'); e.pos = a; for (;;) {
  7957. n = findBlock(e.peekBytes(2048), i, 0);
  7958. if (0 === n.length)
  7959. break;
  7960. e.pos += n.length;
  7961. if (n.found) {
  7962. o = e.pos - a;
  7963. break;
  7964. }
  7965. } e.pos = a; if (o)
  7966. return { stream: new Stream(e.getBytes(o)), length: o }; warn('Unable to recover "Length1" property in Type1 font -- using as is.'); return { stream: new Stream(e.getBytes(t)), length: t }; }(t, a);
  7967. new Type1Parser(o.stream, !1, Yi).extractFontHeader(i);
  7968. if (n) {
  7969. r = t.getBytes(6);
  7970. s = r[5] << 24 | r[4] << 16 | r[3] << 8 | r[2];
  7971. }
  7972. var g = function getEexecBlock(e, t) { var i = e.getBytes(); if (0 === i.length)
  7973. throw new FormatError("getEexecBlock - no font program found."); return { stream: new Stream(i), length: i.length }; }(t), c = new Type1Parser(g.stream, !0, Yi).extractFontProgram(i);
  7974. for (var e_167 in c.properties)
  7975. i[e_167] = c.properties[e_167];
  7976. var h = c.charstrings, l = this.getType2Charstrings(h), C = this.getType2Subrs(c.subrs);
  7977. this.charstrings = h;
  7978. this.data = this.wrap(e, l, this.charstrings, C, i);
  7979. this.seacs = this.getSeacs(c.charstrings);
  7980. }
  7981. Object.defineProperty(Type1Font.prototype, "numGlyphs", {
  7982. get: function () { return this.charstrings.length + 1; },
  7983. enumerable: false,
  7984. configurable: true
  7985. });
  7986. Type1Font.prototype.getCharset = function () { var e = [".notdef"]; for (var _b = 0, _h = this.charstrings; _b < _h.length; _b++) {
  7987. var t_138 = _h[_b].glyphName;
  7988. e.push(t_138);
  7989. } return e; };
  7990. Type1Font.prototype.getGlyphMapping = function (e) { var t = this.charstrings; if (e.composite) {
  7991. var i_137 = Object.create(null);
  7992. for (var a_119 = 0, s_84 = t.length; a_119 < s_84; a_119++) {
  7993. i_137[e.cMap.charCodeOf(a_119)] = a_119 + 1;
  7994. }
  7995. return i_137;
  7996. } var i = [".notdef"]; var a, s; for (s = 0; s < t.length; s++)
  7997. i.push(t[s].glyphName); var r = e.builtInEncoding; if (r) {
  7998. a = Object.create(null);
  7999. for (var e_168 in r) {
  8000. s = i.indexOf(r[e_168]);
  8001. s >= 0 && (a[e_168] = s);
  8002. }
  8003. } return type1FontGlyphMapping(e, a, i); };
  8004. Type1Font.prototype.hasGlyphId = function (e) { if (e < 0 || e >= this.numGlyphs)
  8005. return !1; if (0 === e)
  8006. return !0; return this.charstrings[e - 1].charstring.length > 0; };
  8007. Type1Font.prototype.getSeacs = function (e) { var t = []; for (var i_138 = 0, a_120 = e.length; i_138 < a_120; i_138++) {
  8008. var a_121 = e[i_138];
  8009. a_121.seac && (t[i_138 + 1] = a_121.seac);
  8010. } return t; };
  8011. Type1Font.prototype.getType2Charstrings = function (e) { var t = []; for (var _b = 0, e_169 = e; _b < e_169.length; _b++) {
  8012. var i_139 = e_169[_b];
  8013. t.push(i_139.charstring);
  8014. } return t; };
  8015. Type1Font.prototype.getType2Subrs = function (e) { var t = 0; var i = e.length; t = i < 1133 ? 107 : i < 33769 ? 1131 : 32768; var a = []; var s; for (s = 0; s < t; s++)
  8016. a.push([11]); for (s = 0; s < i; s++)
  8017. a.push(e[s]); return a; };
  8018. Type1Font.prototype.wrap = function (e, t, i, a, s) { var r = new CFF; r.header = new CFFHeader(1, 0, 4, 4); r.names = [e]; var n = new CFFTopDict; n.setByName("version", 391); n.setByName("Notice", 392); n.setByName("FullName", 393); n.setByName("FamilyName", 394); n.setByName("Weight", 395); n.setByName("Encoding", null); n.setByName("FontMatrix", s.fontMatrix); n.setByName("FontBBox", s.bbox); n.setByName("charset", null); n.setByName("CharStrings", null); n.setByName("Private", null); r.topDict = n; var o = new CFFStrings; o.add("Version 0.11"); o.add("See original notice"); o.add(e); o.add(e); o.add("Medium"); r.strings = o; r.globalSubrIndex = new CFFIndex; var g = t.length, c = [".notdef"]; var h, l; for (h = 0; h < g; h++) {
  8019. var e_170 = i[h].glyphName;
  8020. -1 === wi.indexOf(e_170) && o.add(e_170);
  8021. c.push(e_170);
  8022. } r.charset = new CFFCharset(!1, 0, c); var C = new CFFIndex; C.add([139, 14]); for (h = 0; h < g; h++)
  8023. C.add(t[h]); r.charStrings = C; var Q = new CFFPrivateDict; Q.setByName("Subrs", null); var E = ["BlueValues", "OtherBlues", "FamilyBlues", "FamilyOtherBlues", "StemSnapH", "StemSnapV", "BlueShift", "BlueFuzz", "BlueScale", "LanguageGroup", "ExpansionFactor", "ForceBold", "StdHW", "StdVW"]; for (h = 0, l = E.length; h < l; h++) {
  8024. var e_171 = E[h];
  8025. if (!(e_171 in s.privateData))
  8026. continue;
  8027. var t_139 = s.privateData[e_171];
  8028. if (Array.isArray(t_139))
  8029. for (var e_172 = t_139.length - 1; e_172 > 0; e_172--)
  8030. t_139[e_172] -= t_139[e_172 - 1];
  8031. Q.setByName(e_171, t_139);
  8032. } r.topDict.privateDict = Q; var u = new CFFIndex; for (h = 0, l = a.length; h < l; h++)
  8033. u.add(a[h]); Q.subrsIndex = u; return new CFFCompiler(r).compile(); };
  8034. return Type1Font;
  8035. }());
  8036. var la = [[57344, 63743], [1048576, 1114109]], Ca = 1e3, Ba = ["ascent", "bbox", "black", "bold", "charProcOperatorList", "composite", "cssFontInfo", "data", "defaultVMetrics", "defaultWidth", "descent", "fallbackName", "fontMatrix", "isInvalidPDFjsFont", "isType3Font", "italic", "loadedName", "mimetype", "missingFile", "name", "remeasure", "subtype", "systemFontInfo", "type", "vertical"], Qa = ["cMap", "defaultEncoding", "differences", "isMonospace", "isSerifFont", "isSymbolicFont", "seacMap", "toFontChar", "toUnicode", "vmetrics", "widths"];
  8037. function adjustWidths(e) { if (!e.fontMatrix)
  8038. return; if (e.fontMatrix[0] === a[0])
  8039. return; var t = .001 / e.fontMatrix[0], i = e.widths; for (var e_173 in i)
  8040. i[e_173] *= t; e.defaultWidth *= t; }
  8041. function amendFallbackToUnicode(e) { if (!e.fallbackToUnicode)
  8042. return; if (e.toUnicode instanceof IdentityToUnicodeMap)
  8043. return; var t = []; for (var i_140 in e.fallbackToUnicode)
  8044. e.toUnicode.has(i_140) || (t[i_140] = e.fallbackToUnicode[i_140]); t.length > 0 && e.toUnicode.amend(t); }
  8045. var fonts_Glyph = /** @class */ (function () {
  8046. function fonts_Glyph(e, t, i, a, s, r, n, o, g) {
  8047. this.originalCharCode = e;
  8048. this.fontChar = t;
  8049. this.unicode = i;
  8050. this.accent = a;
  8051. this.width = s;
  8052. this.vmetric = r;
  8053. this.operatorListId = n;
  8054. this.isSpace = o;
  8055. this.isInFont = g;
  8056. }
  8057. Object.defineProperty(fonts_Glyph.prototype, "category", {
  8058. get: function () { return shadow(this, "category", function getCharUnicodeCategory(e) { var t = Hi.get(e); if (t)
  8059. return t; var i = e.match(Ji), a = { isWhitespace: !!(i === null || i === void 0 ? void 0 : i[1]), isZeroWidthDiacritic: !!(i === null || i === void 0 ? void 0 : i[2]), isInvisibleFormatMark: !!(i === null || i === void 0 ? void 0 : i[3]) }; Hi.set(e, a); return a; }(this.unicode), !0); },
  8060. enumerable: false,
  8061. configurable: true
  8062. });
  8063. return fonts_Glyph;
  8064. }());
  8065. function int16(e, t) { return (e << 8) + t; }
  8066. function writeSignedInt16(e, t, i) { e[t + 1] = i; e[t] = i >>> 8; }
  8067. function signedInt16(e, t) { var i = (e << 8) + t; return 32768 & i ? i - 65536 : i; }
  8068. function string16(e) { return String.fromCharCode(e >> 8 & 255, 255 & e); }
  8069. function safeString16(e) { e > 32767 ? e = 32767 : e < -32768 && (e = -32768); return String.fromCharCode(e >> 8 & 255, 255 & e); }
  8070. function isTrueTypeCollectionFile(e) { return "ttcf" === bytesToString(e.peekBytes(4)); }
  8071. function getFontFileType(e, _b) {
  8072. var t = _b.type, i = _b.subtype, a = _b.composite;
  8073. var s, r;
  8074. if (function isTrueTypeFile(e) { var t = e.peekBytes(4); return 65536 === readUint32(t, 0) || "true" === bytesToString(t); }(e) || isTrueTypeCollectionFile(e))
  8075. s = a ? "CIDFontType2" : "TrueType";
  8076. else if (function isOpenTypeFile(e) { return "OTTO" === bytesToString(e.peekBytes(4)); }(e))
  8077. s = a ? "CIDFontType2" : "OpenType";
  8078. else if (function isType1File(e) { var t = e.peekBytes(2); return 37 === t[0] && 33 === t[1] || 128 === t[0] && 1 === t[1]; }(e))
  8079. s = a ? "CIDFontType0" : "MMType1" === t ? "MMType1" : "Type1";
  8080. else if (function isCFFFile(e) { var t = e.peekBytes(4); return t[0] >= 1 && t[3] >= 1 && t[3] <= 4; }(e))
  8081. if (a) {
  8082. s = "CIDFontType0";
  8083. r = "CIDFontType0C";
  8084. }
  8085. else {
  8086. s = "MMType1" === t ? "MMType1" : "Type1";
  8087. r = "Type1C";
  8088. }
  8089. else {
  8090. warn("getFontFileType: Unable to detect correct font file Type/Subtype.");
  8091. s = t;
  8092. r = i;
  8093. }
  8094. return [s, r];
  8095. }
  8096. function applyStandardFontGlyphMap(e, t) { for (var i_141 in t)
  8097. e[+i_141] = t[i_141]; }
  8098. function buildToFontChar(e, t, i) { var a = []; var s; for (var i_142 = 0, r_56 = e.length; i_142 < r_56; i_142++) {
  8099. s = getUnicodeForGlyph(e[i_142], t);
  8100. -1 !== s && (a[i_142] = s);
  8101. } for (var e_174 in i) {
  8102. s = getUnicodeForGlyph(i[e_174], t);
  8103. -1 !== s && (a[+e_174] = s);
  8104. } return a; }
  8105. function isMacNameRecord(e) { return 1 === e.platform && 0 === e.encoding && 0 === e.language; }
  8106. function isWinNameRecord(e) { return 3 === e.platform && 1 === e.encoding && 1033 === e.language; }
  8107. function convertCidString(e, t, i) {
  8108. if (i === void 0) { i = !1; }
  8109. switch (t.length) {
  8110. case 1: return t.charCodeAt(0);
  8111. case 2: return t.charCodeAt(0) << 8 | t.charCodeAt(1);
  8112. }
  8113. var a = "Unsupported CID string (charCode ".concat(e, "): \"").concat(t, "\".");
  8114. if (i)
  8115. throw new FormatError(a);
  8116. warn(a);
  8117. return t;
  8118. }
  8119. function adjustMapping(e, t, i, a) { var s = Object.create(null), r = new Map, n = [], o = new Set; var g = 0; var c = la[g][0], h = la[g][1]; for (var C_10 in e) {
  8120. var Q_11 = e[C_10];
  8121. if (!t(Q_11))
  8122. continue;
  8123. if (c > h) {
  8124. g++;
  8125. if (g >= la.length) {
  8126. warn("Ran out of space in font private use area.");
  8127. break;
  8128. }
  8129. c = la[g][0];
  8130. h = la[g][1];
  8131. }
  8132. var E_9 = c++;
  8133. 0 === Q_11 && (Q_11 = i);
  8134. var u_5 = a.get(C_10);
  8135. "string" == typeof u_5 && (u_5 = u_5.codePointAt(0));
  8136. if (u_5 && !(l = u_5, la[0][0] <= l && l <= la[0][1] || la[1][0] <= l && l <= la[1][1]) && !o.has(Q_11)) {
  8137. r.set(u_5, Q_11);
  8138. o.add(Q_11);
  8139. }
  8140. s[E_9] = Q_11;
  8141. n[C_10] = E_9;
  8142. } var l; return { toFontChar: n, charCodeToGlyphId: s, toUnicodeExtraMap: r, nextAvailableFontCharCode: c }; }
  8143. function createCmapTable(e, t, i) { var a = function getRanges(e, t, i) { var a = []; for (var t_141 in e)
  8144. e[t_141] >= i || a.push({ fontCharCode: 0 | t_141, glyphId: e[t_141] }); if (t)
  8145. for (var _b = 0, t_140 = t; _b < t_140.length; _b++) {
  8146. var _h = t_140[_b], e_175 = _h[0], s_85 = _h[1];
  8147. s_85 >= i || a.push({ fontCharCode: e_175, glyphId: s_85 });
  8148. } 0 === a.length && a.push({ fontCharCode: 0, glyphId: 0 }); a.sort((function fontGetRangesSort(e, t) { return e.fontCharCode - t.fontCharCode; })); var s = [], r = a.length; for (var e_176 = 0; e_176 < r;) {
  8149. var t_142 = a[e_176].fontCharCode, i_143 = [a[e_176].glyphId];
  8150. ++e_176;
  8151. var n_42 = t_142;
  8152. for (; e_176 < r && n_42 + 1 === a[e_176].fontCharCode;) {
  8153. i_143.push(a[e_176].glyphId);
  8154. ++n_42;
  8155. ++e_176;
  8156. if (65535 === n_42)
  8157. break;
  8158. }
  8159. s.push([t_142, n_42, i_143]);
  8160. } return s; }(e, t, i), s = a.at(-1)[1] > 65535 ? 2 : 1; var r, n, o, g, c = "\0\0" + string16(s) + "\0\0" + string32(4 + 8 * s); for (r = a.length - 1; r >= 0 && !(a[r][0] <= 65535); --r)
  8161. ; var h = r + 1; a[r][0] < 65535 && 65535 === a[r][1] && (a[r][1] = 65534); var l = a[r][1] < 65535 ? 1 : 0, C = h + l, Q = OpenTypeFileBuilder.getSearchParams(C, 2); var E, u, d, f, p = "", m = "", y = "", w = "", b = "", D = 0; for (r = 0, n = h; r < n; r++) {
  8162. E = a[r];
  8163. u = E[0];
  8164. d = E[1];
  8165. p += string16(u);
  8166. m += string16(d);
  8167. f = E[2];
  8168. var e_177 = !0;
  8169. for (o = 1, g = f.length; o < g; ++o)
  8170. if (f[o] !== f[o - 1] + 1) {
  8171. e_177 = !1;
  8172. break;
  8173. }
  8174. if (e_177) {
  8175. y += string16(f[0] - u & 65535);
  8176. w += string16(0);
  8177. }
  8178. else {
  8179. var e_178 = 2 * (C - r) + 2 * D;
  8180. D += d - u + 1;
  8181. y += string16(0);
  8182. w += string16(e_178);
  8183. for (o = 0, g = f.length; o < g; ++o)
  8184. b += string16(f[o]);
  8185. }
  8186. } if (l > 0) {
  8187. m += "ÿÿ";
  8188. p += "ÿÿ";
  8189. y += "\0";
  8190. w += "\0\0";
  8191. } var F = "\0\0" + string16(2 * C) + string16(Q.range) + string16(Q.entry) + string16(Q.rangeShift) + m + "\0\0" + p + y + w + b; var S = "", k = ""; if (s > 1) {
  8192. c += "\0\0\n" + string32(4 + 8 * s + 4 + F.length);
  8193. S = "";
  8194. for (r = 0, n = a.length; r < n; r++) {
  8195. E = a[r];
  8196. u = E[0];
  8197. f = E[2];
  8198. var e_179 = f[0];
  8199. for (o = 1, g = f.length; o < g; ++o)
  8200. if (f[o] !== f[o - 1] + 1) {
  8201. d = E[0] + o - 1;
  8202. S += string32(u) + string32(d) + string32(e_179);
  8203. u = d + 1;
  8204. e_179 = f[o];
  8205. }
  8206. S += string32(u) + string32(E[1]) + string32(e_179);
  8207. }
  8208. k = "\0\f\0\0" + string32(S.length + 16) + "\0\0\0\0" + string32(S.length / 12);
  8209. } return c + "\0" + string16(F.length + 4) + F + k + S; }
  8210. function createOS2Table(e, t, i) { i || (i = { unitsPerEm: 0, yMax: 0, yMin: 0, ascent: 0, descent: 0 }); var s = 0, r = 0, n = 0, o = 0, g = null, c = 0, h = -1; if (t) {
  8211. for (var e_180 in t) {
  8212. e_180 |= 0;
  8213. (g > e_180 || !g) && (g = e_180);
  8214. c < e_180 && (c = e_180);
  8215. h = getUnicodeRangeFor(e_180, h);
  8216. if (h < 32)
  8217. s |= 1 << h;
  8218. else if (h < 64)
  8219. r |= 1 << h - 32;
  8220. else if (h < 96)
  8221. n |= 1 << h - 64;
  8222. else {
  8223. if (!(h < 123))
  8224. throw new FormatError("Unicode ranges Bits > 123 are reserved for internal usage");
  8225. o |= 1 << h - 96;
  8226. }
  8227. }
  8228. c > 65535 && (c = 65535);
  8229. }
  8230. else {
  8231. g = 0;
  8232. c = 255;
  8233. } var l = e.bbox || [0, 0, 0, 0], C = i.unitsPerEm || 1 / (e.fontMatrix || a)[0], Q = e.ascentScaled ? 1 : C / Ca, E = i.ascent || Math.round(Q * (e.ascent || l[3])); var u = i.descent || Math.round(Q * (e.descent || l[1])); u > 0 && e.descent > 0 && l[1] < 0 && (u = -u); var d = i.yMax || E, f = -i.yMin || -u; return "\0$ô\0\0\0Š»\0\0\0ŒŠ»\0\0ß\x001\0\0\0\0" + String.fromCharCode(e.fixedPitch ? 9 : 0) + "\0\0\0\0\0\0" + string32(s) + string32(r) + string32(n) + string32(o) + "*21*" + string16(e.italicAngle ? 1 : 0) + string16(g || e.firstChar) + string16(c || e.lastChar) + string16(E) + string16(u) + "\0d" + string16(d) + string16(f) + "\0\0\0\0\0\0\0\0" + string16(e.xHeight) + string16(e.capHeight) + string16(0) + string16(g || e.firstChar) + "\0"; }
  8234. function createPostTable(e) { return "\0\0\0" + string32(Math.floor(65536 * e.italicAngle)) + "\0\0\0\0" + string32(e.fixedPitch ? 1 : 0) + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; }
  8235. function createPostscriptName(e) { return e.replaceAll(/[^\x21-\x7E]|[[\](){}<>/%]/g, "").slice(0, 63); }
  8236. function createNameTable(e, t) { t || (t = [[], []]); var i = [t[0][0] || "Original licence", t[0][1] || e, t[0][2] || "Unknown", t[0][3] || "uniqueID", t[0][4] || e, t[0][5] || "Version 0.11", t[0][6] || createPostscriptName(e), t[0][7] || "Unknown", t[0][8] || "Unknown", t[0][9] || "Unknown"], a = []; var s, r, n, o, g; for (s = 0, r = i.length; s < r; s++) {
  8237. g = t[1][s] || i[s];
  8238. var e_181 = [];
  8239. for (n = 0, o = g.length; n < o; n++)
  8240. e_181.push(string16(g.charCodeAt(n)));
  8241. a.push(e_181.join(""));
  8242. } var c = [i, a], h = ["\0", "\0"], l = ["\0\0", "\0"], C = ["\0\0", "\t"], Q = i.length * h.length; var E = "\0\0" + string16(Q) + string16(12 * Q + 6), u = 0; for (s = 0, r = h.length; s < r; s++) {
  8243. var e_182 = c[s];
  8244. for (n = 0, o = e_182.length; n < o; n++) {
  8245. g = e_182[n];
  8246. E += h[s] + l[s] + C[s] + string16(n) + string16(g.length) + string16(u);
  8247. u += g.length;
  8248. }
  8249. } E += i.join("") + a.join(""); return E; }
  8250. var Font = /** @class */ (function () {
  8251. function Font(e, t, i) {
  8252. var _b;
  8253. var _h;
  8254. this.name = e;
  8255. this.psName = null;
  8256. this.mimetype = null;
  8257. this.disableFontFace = !1;
  8258. this.loadedName = i.loadedName;
  8259. this.isType3Font = i.isType3Font;
  8260. this.missingFile = !1;
  8261. this.cssFontInfo = i.cssFontInfo;
  8262. this._charsCache = Object.create(null);
  8263. this._glyphCache = Object.create(null);
  8264. var a = !!(i.flags & Ki);
  8265. if (!a && !i.isSimulatedFlags) {
  8266. var t_143 = e.replaceAll(/[,_]/g, "-").split("-", 1)[0], i_144 = ji();
  8267. for (var _j = 0, _k = t_143.split("+"); _j < _k.length; _j++) {
  8268. var e_183 = _k[_j];
  8269. if (i_144[e_183]) {
  8270. a = !0;
  8271. break;
  8272. }
  8273. }
  8274. }
  8275. this.isSerifFont = a;
  8276. this.isSymbolicFont = !!(i.flags & Ti);
  8277. this.isMonospace = !!(i.flags & vi);
  8278. var s = i.type, r = i.subtype;
  8279. this.type = s;
  8280. this.subtype = r;
  8281. this.systemFontInfo = i.systemFontInfo;
  8282. var n = e.match(/^InvalidPDFjsFont_(.*)_\d+$/);
  8283. this.isInvalidPDFjsFont = !!n;
  8284. this.isInvalidPDFjsFont ? this.fallbackName = n[1] : this.isMonospace ? this.fallbackName = "monospace" : this.isSerifFont ? this.fallbackName = "serif" : this.fallbackName = "sans-serif";
  8285. if ((_h = this.systemFontInfo) === null || _h === void 0 ? void 0 : _h.guessFallback) {
  8286. this.systemFontInfo.guessFallback = !1;
  8287. this.systemFontInfo.css += ",".concat(this.fallbackName);
  8288. }
  8289. this.differences = i.differences;
  8290. this.widths = i.widths;
  8291. this.defaultWidth = i.defaultWidth;
  8292. this.composite = i.composite;
  8293. this.cMap = i.cMap;
  8294. this.capHeight = i.capHeight / Ca;
  8295. this.ascent = i.ascent / Ca;
  8296. this.descent = i.descent / Ca;
  8297. this.lineHeight = this.ascent - this.descent;
  8298. this.fontMatrix = i.fontMatrix;
  8299. this.bbox = i.bbox;
  8300. this.defaultEncoding = i.defaultEncoding;
  8301. this.toUnicode = i.toUnicode;
  8302. this.toFontChar = [];
  8303. if ("Type3" === i.type) {
  8304. for (var e_184 = 0; e_184 < 256; e_184++)
  8305. this.toFontChar[e_184] = this.differences[e_184] || i.defaultEncoding[e_184];
  8306. return;
  8307. }
  8308. this.cidEncoding = i.cidEncoding || "";
  8309. this.vertical = !!i.vertical;
  8310. if (this.vertical) {
  8311. this.vmetrics = i.vmetrics;
  8312. this.defaultVMetrics = i.defaultVMetrics;
  8313. }
  8314. if (!t || t.isEmpty) {
  8315. t && warn('Font file is empty in "' + e + '" (' + this.loadedName + ")");
  8316. this.fallbackToSystemFont(i);
  8317. return;
  8318. }
  8319. _b = getFontFileType(t, i), s = _b[0], r = _b[1];
  8320. s === this.type && r === this.subtype || info("Inconsistent font file Type/SubType, expected: ".concat(this.type, "/").concat(this.subtype, " but found: ").concat(s, "/").concat(r, "."));
  8321. var o;
  8322. try {
  8323. switch (s) {
  8324. case "MMType1": info("MMType1 font (" + e + "), falling back to Type1.");
  8325. case "Type1":
  8326. case "CIDFontType0":
  8327. this.mimetype = "font/opentype";
  8328. var a_122 = "Type1C" === r || "CIDFontType0C" === r ? new CFFFont(t, i) : new Type1Font(e, t, i);
  8329. adjustWidths(i);
  8330. o = this.convert(e, a_122, i);
  8331. break;
  8332. case "OpenType":
  8333. case "TrueType":
  8334. case "CIDFontType2":
  8335. this.mimetype = "font/opentype";
  8336. o = this.checkAndRepair(e, t, i);
  8337. if (this.isOpenType) {
  8338. adjustWidths(i);
  8339. s = "OpenType";
  8340. }
  8341. break;
  8342. default: throw new FormatError("Font ".concat(s, " is not supported"));
  8343. }
  8344. }
  8345. catch (e) {
  8346. warn(e);
  8347. this.fallbackToSystemFont(i);
  8348. return;
  8349. }
  8350. amendFallbackToUnicode(i);
  8351. this.data = o;
  8352. this.type = s;
  8353. this.subtype = r;
  8354. this.fontMatrix = i.fontMatrix;
  8355. this.widths = i.widths;
  8356. this.defaultWidth = i.defaultWidth;
  8357. this.toUnicode = i.toUnicode;
  8358. this.seacMap = i.seacMap;
  8359. }
  8360. Object.defineProperty(Font.prototype, "renderer", {
  8361. get: function () { return shadow(this, "renderer", FontRendererFactory.create(this, Yi)); },
  8362. enumerable: false,
  8363. configurable: true
  8364. });
  8365. Font.prototype.exportData = function (e) {
  8366. if (e === void 0) { e = !1; }
  8367. var t = e ? tslib_1.__spreadArray(tslib_1.__spreadArray([], Ba, true), Qa, true) : Ba, i = Object.create(null);
  8368. var a, s;
  8369. for (var _b = 0, t_144 = t; _b < t_144.length; _b++) {
  8370. a = t_144[_b];
  8371. s = this[a];
  8372. void 0 !== s && (i[a] = s);
  8373. }
  8374. return i;
  8375. };
  8376. Font.prototype.fallbackToSystemFont = function (e) {
  8377. var _this = this;
  8378. this.missingFile = !0;
  8379. var _b = this, t = _b.name, i = _b.type;
  8380. var a = normalizeFontName(t);
  8381. var s = Pi(), r = Xi(), n = !!s[a], o = !(!r[a] || !s[r[a]]);
  8382. a = s[a] || r[a] || a;
  8383. var g = ea()[a];
  8384. if (g) {
  8385. isNaN(this.ascent) && (this.ascent = g.ascent / Ca);
  8386. isNaN(this.descent) && (this.descent = g.descent / Ca);
  8387. isNaN(this.capHeight) && (this.capHeight = g.capHeight / Ca);
  8388. }
  8389. this.bold = /bold/gi.test(a);
  8390. this.italic = /oblique|italic/gi.test(a);
  8391. this.black = /Black/g.test(t);
  8392. var c = /Narrow/g.test(t);
  8393. this.remeasure = (!n || c) && Object.keys(this.widths).length > 0;
  8394. if ((n || o) && "CIDFontType2" === i && this.cidEncoding.startsWith("Identity-")) {
  8395. var i_145 = e.cidToGidMap, a_123 = [];
  8396. applyStandardFontGlyphMap(a_123, Vi());
  8397. /Arial-?Black/i.test(t) ? applyStandardFontGlyphMap(a_123, zi()) : /Calibri/i.test(t) && applyStandardFontGlyphMap(a_123, _i());
  8398. if (i_145) {
  8399. for (var e_185 in a_123) {
  8400. var t_145 = a_123[e_185];
  8401. void 0 !== i_145[t_145] && (a_123[+e_185] = i_145[t_145]);
  8402. }
  8403. i_145.length !== this.toUnicode.length && e.hasIncludedToUnicodeMap && this.toUnicode instanceof IdentityToUnicodeMap && this.toUnicode.forEach((function (e, t) { var s = a_123[e]; void 0 === i_145[s] && (a_123[+e] = t); }));
  8404. }
  8405. this.toUnicode instanceof IdentityToUnicodeMap || this.toUnicode.forEach((function (e, t) { a_123[+e] = t; }));
  8406. this.toFontChar = a_123;
  8407. this.toUnicode = new ToUnicodeMap(a_123);
  8408. }
  8409. else if (/Symbol/i.test(a))
  8410. this.toFontChar = buildToFontChar(mi, Ni(), this.differences);
  8411. else if (/Dingbats/i.test(a))
  8412. this.toFontChar = buildToFontChar(yi, Gi(), this.differences);
  8413. else if (n) {
  8414. var e_186 = buildToFontChar(this.defaultEncoding, Ni(), this.differences);
  8415. "CIDFontType2" !== i || this.cidEncoding.startsWith("Identity-") || this.toUnicode instanceof IdentityToUnicodeMap || this.toUnicode.forEach((function (t, i) { e_186[+t] = i; }));
  8416. this.toFontChar = e_186;
  8417. }
  8418. else {
  8419. var e_187 = Ni(), i_146 = [];
  8420. this.toUnicode.forEach((function (t, a) { if (!_this.composite) {
  8421. var i_147 = getUnicodeForGlyph(_this.differences[t] || _this.defaultEncoding[t], e_187);
  8422. -1 !== i_147 && (a = i_147);
  8423. } i_146[+t] = a; }));
  8424. this.composite && this.toUnicode instanceof IdentityToUnicodeMap && /Tahoma|Verdana/i.test(t) && applyStandardFontGlyphMap(i_146, Vi());
  8425. this.toFontChar = i_146;
  8426. }
  8427. amendFallbackToUnicode(e);
  8428. this.loadedName = a.split("-", 1)[0];
  8429. };
  8430. Font.prototype.checkAndRepair = function (e, t, i) { var _b, _h, _j; var a = ["OS/2", "cmap", "head", "hhea", "hmtx", "maxp", "name", "post", "loca", "glyf", "fpgm", "prep", "cvt ", "CFF "]; function readTables(e, t) { var i = Object.create(null); i["OS/2"] = null; i.cmap = null; i.head = null; i.hhea = null; i.hmtx = null; i.maxp = null; i.name = null; i.post = null; for (var s_86 = 0; s_86 < t; s_86++) {
  8431. var t_146 = readTableEntry(e);
  8432. a.includes(t_146.tag) && (0 !== t_146.length && (i[t_146.tag] = t_146));
  8433. } return i; } function readTableEntry(e) { var t = e.getString(4), i = e.getInt32() >>> 0, a = e.getInt32() >>> 0, s = e.getInt32() >>> 0, r = e.pos; e.pos = e.start || 0; e.skip(a); var n = e.getBytes(s); e.pos = r; if ("head" === t) {
  8434. n[8] = n[9] = n[10] = n[11] = 0;
  8435. n[17] |= 32;
  8436. } return { tag: t, checksum: i, length: s, offset: a, data: n }; } function readOpenTypeHeader(e) { return { version: e.getString(4), numTables: e.getUint16(), searchRange: e.getUint16(), entrySelector: e.getUint16(), rangeShift: e.getUint16() }; } function sanitizeGlyph(e, t, i, a, s, r) { var n = { length: 0, sizeOfInstructions: 0 }; if (t < 0 || t >= e.length || i > e.length || i - t <= 12)
  8437. return n; var o = e.subarray(t, i), g = signedInt16(o[2], o[3]), c = signedInt16(o[4], o[5]), h = signedInt16(o[6], o[7]), l = signedInt16(o[8], o[9]); if (g > h) {
  8438. writeSignedInt16(o, 2, h);
  8439. writeSignedInt16(o, 6, g);
  8440. } if (c > l) {
  8441. writeSignedInt16(o, 4, l);
  8442. writeSignedInt16(o, 8, c);
  8443. } var C = signedInt16(o[0], o[1]); if (C < 0) {
  8444. if (C < -1)
  8445. return n;
  8446. a.set(o, s);
  8447. n.length = o.length;
  8448. return n;
  8449. } var Q, E = 10, u = 0; for (Q = 0; Q < C; Q++) {
  8450. u = (o[E] << 8 | o[E + 1]) + 1;
  8451. E += 2;
  8452. } var d = E, f = o[E] << 8 | o[E + 1]; n.sizeOfInstructions = f; E += 2 + f; var p = E; var m = 0; for (Q = 0; Q < u; Q++) {
  8453. var e_188 = o[E++];
  8454. 192 & e_188 && (o[E - 1] = 63 & e_188);
  8455. var t_147 = 2;
  8456. 2 & e_188 ? t_147 = 1 : 16 & e_188 && (t_147 = 0);
  8457. var i_148 = 2;
  8458. 4 & e_188 ? i_148 = 1 : 32 & e_188 && (i_148 = 0);
  8459. var a_124 = t_147 + i_148;
  8460. m += a_124;
  8461. if (8 & e_188) {
  8462. var e_189 = o[E++];
  8463. 0 === e_189 && (o[E - 1] ^= 8);
  8464. Q += e_189;
  8465. m += e_189 * a_124;
  8466. }
  8467. } if (0 === m)
  8468. return n; var y = E + m; if (y > o.length)
  8469. return n; if (!r && f > 0) {
  8470. a.set(o.subarray(0, d), s);
  8471. a.set([0, 0], s + d);
  8472. a.set(o.subarray(p, y), s + d + 2);
  8473. y -= f;
  8474. o.length - y > 3 && (y = y + 3 & -4);
  8475. n.length = y;
  8476. return n;
  8477. } if (o.length - y > 3) {
  8478. y = y + 3 & -4;
  8479. a.set(o.subarray(0, y), s);
  8480. n.length = y;
  8481. return n;
  8482. } a.set(o, s); n.length = o.length; return n; } function readNameTable(e) { var i = (t.start || 0) + e.offset; t.pos = i; var a = [[], []], s = [], r = e.length, n = i + r; if (0 !== t.getUint16() || r < 6)
  8483. return [a, s]; var o = t.getUint16(), g = t.getUint16(); var c, h; for (c = 0; c < o && t.pos + 12 <= n; c++) {
  8484. var e_190 = { platform: t.getUint16(), encoding: t.getUint16(), language: t.getUint16(), name: t.getUint16(), length: t.getUint16(), offset: t.getUint16() };
  8485. (isMacNameRecord(e_190) || isWinNameRecord(e_190)) && s.push(e_190);
  8486. } for (c = 0, h = s.length; c < h; c++) {
  8487. var e_191 = s[c];
  8488. if (e_191.length <= 0)
  8489. continue;
  8490. var r_61 = i + g + e_191.offset;
  8491. if (r_61 + e_191.length > n)
  8492. continue;
  8493. t.pos = r_61;
  8494. var o_28 = e_191.name;
  8495. if (e_191.encoding) {
  8496. var i_149 = "";
  8497. for (var a_125 = 0, s_87 = e_191.length; a_125 < s_87; a_125 += 2)
  8498. i_149 += String.fromCharCode(t.getUint16());
  8499. a[1][o_28] = i_149;
  8500. }
  8501. else
  8502. a[0][o_28] = t.getString(e_191.length);
  8503. } return [a, s]; } var s = [0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, 0, 0, -2, -5, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, -1, 1, -1, -999, 0, 1, 0, -1, -2, 0, -1, -2, -1, -1, 0, -1, -1, 0, 0, -999, -999, -1, -1, -1, -1, -2, -999, -2, -2, -999, 0, -2, -2, 0, 0, -2, 0, -2, 0, 0, 0, -2, -1, -1, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -999, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -999, -999, -999, -999, -999, -1, -1, -2, -2, 0, 0, 0, 0, -1, -1, -999, -2, -2, 0, 0, -1, -2, -2, 0, 0, 0, -1, -1, -1, -2]; function sanitizeTTProgram(e, t) { var i, a, r, n, o, g = e.data, c = 0, h = 0, l = 0; var C = [], Q = [], E = []; var u = t.tooComplexToFollowFunctions, d = !1, f = 0, p = 0; for (var e_192 = g.length; c < e_192;) {
  8504. var e_193 = g[c++];
  8505. if (64 === e_193) {
  8506. a = g[c++];
  8507. if (d || p)
  8508. c += a;
  8509. else
  8510. for (i = 0; i < a; i++)
  8511. C.push(g[c++]);
  8512. }
  8513. else if (65 === e_193) {
  8514. a = g[c++];
  8515. if (d || p)
  8516. c += 2 * a;
  8517. else
  8518. for (i = 0; i < a; i++) {
  8519. r = g[c++];
  8520. C.push(r << 8 | g[c++]);
  8521. }
  8522. }
  8523. else if (176 == (248 & e_193)) {
  8524. a = e_193 - 176 + 1;
  8525. if (d || p)
  8526. c += a;
  8527. else
  8528. for (i = 0; i < a; i++)
  8529. C.push(g[c++]);
  8530. }
  8531. else if (184 == (248 & e_193)) {
  8532. a = e_193 - 184 + 1;
  8533. if (d || p)
  8534. c += 2 * a;
  8535. else
  8536. for (i = 0; i < a; i++) {
  8537. r = g[c++];
  8538. C.push(r << 8 | g[c++]);
  8539. }
  8540. }
  8541. else if (43 !== e_193 || u)
  8542. if (44 !== e_193 || u) {
  8543. if (45 === e_193)
  8544. if (d) {
  8545. d = !1;
  8546. h = c;
  8547. }
  8548. else {
  8549. o = Q.pop();
  8550. if (!o) {
  8551. warn("TT: ENDF bad stack");
  8552. t.hintsValid = !1;
  8553. return;
  8554. }
  8555. n = E.pop();
  8556. g = o.data;
  8557. c = o.i;
  8558. t.functionsStackDeltas[n] = C.length - o.stackTop;
  8559. }
  8560. else if (137 === e_193) {
  8561. if (d || p) {
  8562. warn("TT: nested IDEFs not allowed");
  8563. u = !0;
  8564. }
  8565. d = !0;
  8566. l = c;
  8567. }
  8568. else if (88 === e_193)
  8569. ++f;
  8570. else if (27 === e_193)
  8571. p = f;
  8572. else if (89 === e_193) {
  8573. p === f && (p = 0);
  8574. --f;
  8575. }
  8576. else if (28 === e_193 && !d && !p) {
  8577. var e_194 = C.at(-1);
  8578. e_194 > 0 && (c += e_194 - 1);
  8579. }
  8580. }
  8581. else {
  8582. if (d || p) {
  8583. warn("TT: nested FDEFs not allowed");
  8584. u = !0;
  8585. }
  8586. d = !0;
  8587. l = c;
  8588. n = C.pop();
  8589. t.functionsDefined[n] = { data: g, i: c };
  8590. }
  8591. else if (!d && !p) {
  8592. n = C.at(-1);
  8593. if (isNaN(n))
  8594. info("TT: CALL empty stack (or invalid entry).");
  8595. else {
  8596. t.functionsUsed[n] = !0;
  8597. if (n in t.functionsStackDeltas) {
  8598. var e_195 = C.length + t.functionsStackDeltas[n];
  8599. if (e_195 < 0) {
  8600. warn("TT: CALL invalid functions stack delta.");
  8601. t.hintsValid = !1;
  8602. return;
  8603. }
  8604. C.length = e_195;
  8605. }
  8606. else if (n in t.functionsDefined && !E.includes(n)) {
  8607. Q.push({ data: g, i: c, stackTop: C.length - 1 });
  8608. E.push(n);
  8609. o = t.functionsDefined[n];
  8610. if (!o) {
  8611. warn("TT: CALL non-existent function");
  8612. t.hintsValid = !1;
  8613. return;
  8614. }
  8615. g = o.data;
  8616. c = o.i;
  8617. }
  8618. }
  8619. }
  8620. if (!d && !p) {
  8621. var t_148 = 0;
  8622. e_193 <= 142 ? t_148 = s[e_193] : e_193 >= 192 && e_193 <= 223 ? t_148 = -1 : e_193 >= 224 && (t_148 = -2);
  8623. if (e_193 >= 113 && e_193 <= 117) {
  8624. a = C.pop();
  8625. isNaN(a) || (t_148 = 2 * -a);
  8626. }
  8627. for (; t_148 < 0 && C.length > 0;) {
  8628. C.pop();
  8629. t_148++;
  8630. }
  8631. for (; t_148 > 0;) {
  8632. C.push(NaN);
  8633. t_148--;
  8634. }
  8635. }
  8636. } t.tooComplexToFollowFunctions = u; var m = [g]; c > g.length && m.push(new Uint8Array(c - g.length)); if (l > h) {
  8637. warn("TT: complementing a missing function tail");
  8638. m.push(new Uint8Array([34, 45]));
  8639. } !function foldTTTable(e, t) { if (t.length > 1) {
  8640. var i_150, a_126, s_88 = 0;
  8641. for (i_150 = 0, a_126 = t.length; i_150 < a_126; i_150++)
  8642. s_88 += t[i_150].length;
  8643. s_88 = s_88 + 3 & -4;
  8644. var r_62 = new Uint8Array(s_88);
  8645. var n_43 = 0;
  8646. for (i_150 = 0, a_126 = t.length; i_150 < a_126; i_150++) {
  8647. r_62.set(t[i_150], n_43);
  8648. n_43 += t[i_150].length;
  8649. }
  8650. e.data = r_62;
  8651. e.length = s_88;
  8652. } }(e, m); } var r, n, o, g; if (isTrueTypeCollectionFile(t = new Stream(new Uint8Array(t.getBytes())))) {
  8653. var e_196 = function readTrueTypeCollectionData(e, t) { var _b; var _h = function readTrueTypeCollectionHeader(e) { var t = e.getString(4); assert("ttcf" === t, "Must be a TrueType Collection font."); var i = e.getUint16(), a = e.getUint16(), s = e.getInt32() >>> 0, r = []; for (var t_149 = 0; t_149 < s; t_149++)
  8654. r.push(e.getInt32() >>> 0); var n = { ttcTag: t, majorVersion: i, minorVersion: a, numFonts: s, offsetTable: r }; switch (i) {
  8655. case 1: return n;
  8656. case 2:
  8657. n.dsigTag = e.getInt32() >>> 0;
  8658. n.dsigLength = e.getInt32() >>> 0;
  8659. n.dsigOffset = e.getInt32() >>> 0;
  8660. return n;
  8661. } throw new FormatError("Invalid TrueType Collection majorVersion: ".concat(i, ".")); }(e), i = _h.numFonts, a = _h.offsetTable, s = t.split("+"); var r; for (var n_44 = 0; n_44 < i; n_44++) {
  8662. e.pos = (e.start || 0) + a[n_44];
  8663. var i_151 = readOpenTypeHeader(e), o_29 = readTables(e, i_151.numTables);
  8664. if (!o_29.name)
  8665. throw new FormatError('TrueType Collection font must contain a "name" table.');
  8666. var g_22 = readNameTable(o_29.name)[0];
  8667. for (var e_197 = 0, a_127 = g_22.length; e_197 < a_127; e_197++)
  8668. for (var a_128 = 0, n_45 = g_22[e_197].length; a_128 < n_45; a_128++) {
  8669. var n_46 = (_b = g_22[e_197][a_128]) === null || _b === void 0 ? void 0 : _b.replaceAll(/\s/g, "");
  8670. if (n_46) {
  8671. if (n_46 === t)
  8672. return { header: i_151, tables: o_29 };
  8673. if (!(s.length < 2))
  8674. for (var _j = 0, s_89 = s; _j < s_89.length; _j++) {
  8675. var e_198 = s_89[_j];
  8676. n_46 === e_198 && (r = { name: e_198, header: i_151, tables: o_29 });
  8677. }
  8678. }
  8679. }
  8680. } if (r) {
  8681. warn("TrueType Collection does not contain \"".concat(t, "\" font, falling back to \"").concat(r.name, "\" font instead."));
  8682. return { header: r.header, tables: r.tables };
  8683. } throw new FormatError("TrueType Collection does not contain \"".concat(t, "\" font.")); }(t, this.name);
  8684. r = e_196.header;
  8685. n = e_196.tables;
  8686. }
  8687. else {
  8688. r = readOpenTypeHeader(t);
  8689. n = readTables(t, r.numTables);
  8690. } var c = !n["CFF "]; if (c) {
  8691. if (!n.loca)
  8692. throw new FormatError('Required "loca" table is not found');
  8693. if (!n.glyf) {
  8694. warn('Required "glyf" table is not found -- trying to recover.');
  8695. n.glyf = { tag: "glyf", data: new Uint8Array(0) };
  8696. }
  8697. this.isOpenType = !1;
  8698. }
  8699. else {
  8700. var t_150 = i.composite && (((_b = i.cidToGidMap) === null || _b === void 0 ? void 0 : _b.length) > 0 || !(i.cMap instanceof IdentityCMap));
  8701. if ("OTTO" === r.version && !t_150 || !n.head || !n.hhea || !n.maxp || !n.post) {
  8702. g = new Stream(n["CFF "].data);
  8703. o = new CFFFont(g, i);
  8704. adjustWidths(i);
  8705. return this.convert(e, o, i);
  8706. }
  8707. delete n.glyf;
  8708. delete n.loca;
  8709. delete n.fpgm;
  8710. delete n.prep;
  8711. delete n["cvt "];
  8712. this.isOpenType = !0;
  8713. } if (!n.maxp)
  8714. throw new FormatError('Required "maxp" table is not found'); t.pos = (t.start || 0) + n.maxp.offset; var h = t.getInt32(); var l = t.getUint16(); if (65536 !== h && 20480 !== h) {
  8715. if (6 === n.maxp.length)
  8716. h = 20480;
  8717. else {
  8718. if (!(n.maxp.length >= 32))
  8719. throw new FormatError('"maxp" table has a wrong version number');
  8720. h = 65536;
  8721. }
  8722. !function writeUint32(e, t, i) { e[t + 3] = 255 & i; e[t + 2] = i >>> 8; e[t + 1] = i >>> 16; e[t] = i >>> 24; }(n.maxp.data, 0, h);
  8723. } if (((_h = i.scaleFactors) === null || _h === void 0 ? void 0 : _h.length) === l && c) {
  8724. var e_199 = i.scaleFactors, t_151 = int16(n.head.data[50], n.head.data[51]), a_129 = new GlyfTable({ glyfTable: n.glyf.data, isGlyphLocationsLong: t_151, locaTable: n.loca.data, numGlyphs: l });
  8725. a_129.scale(e_199);
  8726. var _k = a_129.write(), s_90 = _k.glyf, r_63 = _k.loca, o_30 = _k.isLocationLong;
  8727. n.glyf.data = s_90;
  8728. n.loca.data = r_63;
  8729. if (o_30 !== !!t_151) {
  8730. n.head.data[50] = 0;
  8731. n.head.data[51] = o_30 ? 1 : 0;
  8732. }
  8733. var g_23 = n.hmtx.data;
  8734. for (var t_152 = 0; t_152 < l; t_152++) {
  8735. var i_152 = 4 * t_152, a_130 = Math.round(e_199[t_152] * int16(g_23[i_152], g_23[i_152 + 1]));
  8736. g_23[i_152] = a_130 >> 8 & 255;
  8737. g_23[i_152 + 1] = 255 & a_130;
  8738. writeSignedInt16(g_23, i_152 + 2, Math.round(e_199[t_152] * signedInt16(g_23[i_152 + 2], g_23[i_152 + 3])));
  8739. }
  8740. } var C = l + 1, Q = !0; if (C > 65535) {
  8741. Q = !1;
  8742. C = l;
  8743. warn("Not enough space in glyfs to duplicate first glyph.");
  8744. } var E = 0, u = 0; if (h >= 65536 && n.maxp.length >= 32) {
  8745. t.pos += 8;
  8746. if (t.getUint16() > 2) {
  8747. n.maxp.data[14] = 0;
  8748. n.maxp.data[15] = 2;
  8749. }
  8750. t.pos += 4;
  8751. E = t.getUint16();
  8752. t.pos += 4;
  8753. u = t.getUint16();
  8754. } n.maxp.data[4] = C >> 8; n.maxp.data[5] = 255 & C; var d = function sanitizeTTPrograms(e, t, i, a) { var s = { functionsDefined: [], functionsUsed: [], functionsStackDeltas: [], tooComplexToFollowFunctions: !1, hintsValid: !0 }; e && sanitizeTTProgram(e, s); t && sanitizeTTProgram(t, s); e && function checkInvalidFunctions(e, t) { if (!e.tooComplexToFollowFunctions)
  8755. if (e.functionsDefined.length > t) {
  8756. warn("TT: more functions defined than expected");
  8757. e.hintsValid = !1;
  8758. }
  8759. else
  8760. for (var i_153 = 0, a_131 = e.functionsUsed.length; i_153 < a_131; i_153++) {
  8761. if (i_153 > t) {
  8762. warn("TT: invalid function id: " + i_153);
  8763. e.hintsValid = !1;
  8764. return;
  8765. }
  8766. if (e.functionsUsed[i_153] && !e.functionsDefined[i_153]) {
  8767. warn("TT: undefined function: " + i_153);
  8768. e.hintsValid = !1;
  8769. return;
  8770. }
  8771. } }(s, a); if (i && 1 & i.length) {
  8772. var e_200 = new Uint8Array(i.length + 1);
  8773. e_200.set(i.data);
  8774. i.data = e_200;
  8775. } return s.hintsValid; }(n.fpgm, n.prep, n["cvt "], E); if (!d) {
  8776. delete n.fpgm;
  8777. delete n.prep;
  8778. delete n["cvt "];
  8779. } !function sanitizeMetrics(e, t, i, a, s, r) { if (!t) {
  8780. i && (i.data = null);
  8781. return;
  8782. } e.pos = (e.start || 0) + t.offset; e.pos += 4; e.pos += 2; e.pos += 2; e.pos += 2; e.pos += 2; e.pos += 2; e.pos += 2; e.pos += 2; e.pos += 2; e.pos += 2; var n = e.getUint16(); e.pos += 8; e.pos += 2; var o = e.getUint16(); if (0 !== n) {
  8783. if (!(2 & int16(a.data[44], a.data[45]))) {
  8784. t.data[22] = 0;
  8785. t.data[23] = 0;
  8786. }
  8787. } if (o > s) {
  8788. info("The numOfMetrics (".concat(o, ") should not be greater than the numGlyphs (").concat(s, ")."));
  8789. o = s;
  8790. t.data[34] = (65280 & o) >> 8;
  8791. t.data[35] = 255 & o;
  8792. } var g = s - o - (i.length - 4 * o >> 1); if (g > 0) {
  8793. var e_201 = new Uint8Array(i.length + 2 * g);
  8794. e_201.set(i.data);
  8795. if (r) {
  8796. e_201[i.length] = i.data[2];
  8797. e_201[i.length + 1] = i.data[3];
  8798. }
  8799. i.data = e_201;
  8800. } }(t, n.hhea, n.hmtx, n.head, C, Q); if (!n.head)
  8801. throw new FormatError('Required "head" table is not found'); !function sanitizeHead(e, t, i) { var a = e.data, s = function int32(e, t, i, a) { return (e << 24) + (t << 16) + (i << 8) + a; }(a[0], a[1], a[2], a[3]); if (s >> 16 != 1) {
  8802. info("Attempting to fix invalid version in head table: " + s);
  8803. a[0] = 0;
  8804. a[1] = 1;
  8805. a[2] = 0;
  8806. a[3] = 0;
  8807. } var r = int16(a[50], a[51]); if (r < 0 || r > 1) {
  8808. info("Attempting to fix invalid indexToLocFormat in head table: " + r);
  8809. var e_202 = t + 1;
  8810. if (i === e_202 << 1) {
  8811. a[50] = 0;
  8812. a[51] = 0;
  8813. }
  8814. else {
  8815. if (i !== e_202 << 2)
  8816. throw new FormatError("Could not fix indexToLocFormat: " + r);
  8817. a[50] = 0;
  8818. a[51] = 1;
  8819. }
  8820. } }(n.head, l, c ? n.loca.length : 0); var f = Object.create(null); if (c) {
  8821. var e_203 = int16(n.head.data[50], n.head.data[51]), t_153 = function sanitizeGlyphLocations(e, t, i, a, s, r, n) { var o, g, c; if (a) {
  8822. o = 4;
  8823. g = function fontItemDecodeLong(e, t) { return e[t] << 24 | e[t + 1] << 16 | e[t + 2] << 8 | e[t + 3]; };
  8824. c = function fontItemEncodeLong(e, t, i) { e[t] = i >>> 24 & 255; e[t + 1] = i >> 16 & 255; e[t + 2] = i >> 8 & 255; e[t + 3] = 255 & i; };
  8825. }
  8826. else {
  8827. o = 2;
  8828. g = function fontItemDecode(e, t) { return e[t] << 9 | e[t + 1] << 1; };
  8829. c = function fontItemEncode(e, t, i) { e[t] = i >> 9 & 255; e[t + 1] = i >> 1 & 255; };
  8830. } var h = r ? i + 1 : i, l = o * (1 + h), C = new Uint8Array(l); C.set(e.data.subarray(0, l)); e.data = C; var Q = t.data, E = Q.length, u = new Uint8Array(E); var d, f; var p = []; for (d = 0, f = 0; d < i + 1; d++, f += o) {
  8831. var e_204 = g(C, f);
  8832. e_204 > E && (e_204 = E);
  8833. p.push({ index: d, offset: e_204, endOffset: 0 });
  8834. } p.sort((function (e, t) { return e.offset - t.offset; })); for (d = 0; d < i; d++)
  8835. p[d].endOffset = p[d + 1].offset; p.sort((function (e, t) { return e.index - t.index; })); for (d = 0; d < i; d++) {
  8836. var _b = p[d], e_205 = _b.offset, t_154 = _b.endOffset;
  8837. if (0 !== e_205 || 0 !== t_154)
  8838. break;
  8839. var i_154 = p[d + 1].offset;
  8840. if (0 !== i_154) {
  8841. p[d].endOffset = i_154;
  8842. break;
  8843. }
  8844. } var m = p.at(-2); 0 !== m.offset && 0 === m.endOffset && (m.endOffset = E); var y = Object.create(null); var w = 0; c(C, 0, w); for (d = 0, f = o; d < i; d++, f += o) {
  8845. var e_206 = sanitizeGlyph(Q, p[d].offset, p[d].endOffset, u, w, s), t_155 = e_206.length;
  8846. 0 === t_155 && (y[d] = !0);
  8847. e_206.sizeOfInstructions > n && (n = e_206.sizeOfInstructions);
  8848. w += t_155;
  8849. c(C, f, w);
  8850. } if (0 === w) {
  8851. var e_207 = new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0]);
  8852. for (d = 0, f = o; d < h; d++, f += o)
  8853. c(C, f, e_207.length);
  8854. t.data = e_207;
  8855. }
  8856. else if (r) {
  8857. var i_155 = g(C, o);
  8858. if (u.length > i_155 + w)
  8859. t.data = u.subarray(0, i_155 + w);
  8860. else {
  8861. t.data = new Uint8Array(i_155 + w);
  8862. t.data.set(u.subarray(0, w));
  8863. }
  8864. t.data.set(u.subarray(0, i_155), w);
  8865. c(e.data, C.length - o, w + i_155);
  8866. }
  8867. else
  8868. t.data = u.subarray(0, w); return { missingGlyphs: y, maxSizeOfInstructions: n }; }(n.loca, n.glyf, l, e_203, d, Q, u);
  8869. f = t_153.missingGlyphs;
  8870. if (h >= 65536 && n.maxp.length >= 32) {
  8871. n.maxp.data[26] = t_153.maxSizeOfInstructions >> 8;
  8872. n.maxp.data[27] = 255 & t_153.maxSizeOfInstructions;
  8873. }
  8874. } if (!n.hhea)
  8875. throw new FormatError('Required "hhea" table is not found'); if (0 === n.hhea.data[10] && 0 === n.hhea.data[11]) {
  8876. n.hhea.data[10] = 255;
  8877. n.hhea.data[11] = 255;
  8878. } var p = { unitsPerEm: int16(n.head.data[18], n.head.data[19]), yMax: signedInt16(n.head.data[42], n.head.data[43]), yMin: signedInt16(n.head.data[38], n.head.data[39]), ascent: signedInt16(n.hhea.data[4], n.hhea.data[5]), descent: signedInt16(n.hhea.data[6], n.hhea.data[7]), lineGap: signedInt16(n.hhea.data[8], n.hhea.data[9]) }; this.ascent = p.ascent / p.unitsPerEm; this.descent = p.descent / p.unitsPerEm; this.lineGap = p.lineGap / p.unitsPerEm; if ((_j = this.cssFontInfo) === null || _j === void 0 ? void 0 : _j.lineHeight) {
  8879. this.lineHeight = this.cssFontInfo.metrics.lineHeight;
  8880. this.lineGap = this.cssFontInfo.metrics.lineGap;
  8881. }
  8882. else
  8883. this.lineHeight = this.ascent - this.descent + this.lineGap; n.post && function readPostScriptTable(e, i, a) { var s = (t.start || 0) + e.offset; t.pos = s; var r = s + e.length, n = t.getInt32(); t.skip(28); var o, g, c = !0; switch (n) {
  8884. case 65536:
  8885. o = Oi;
  8886. break;
  8887. case 131072:
  8888. var e_208 = t.getUint16();
  8889. if (e_208 !== a) {
  8890. c = !1;
  8891. break;
  8892. }
  8893. var s_91 = [];
  8894. for (g = 0; g < e_208; ++g) {
  8895. var e_209 = t.getUint16();
  8896. if (e_209 >= 32768) {
  8897. c = !1;
  8898. break;
  8899. }
  8900. s_91.push(e_209);
  8901. }
  8902. if (!c)
  8903. break;
  8904. var h_11 = [], l_11 = [];
  8905. for (; t.pos < r;) {
  8906. var e_210 = t.getByte();
  8907. l_11.length = e_210;
  8908. for (g = 0; g < e_210; ++g)
  8909. l_11[g] = String.fromCharCode(t.getByte());
  8910. h_11.push(l_11.join(""));
  8911. }
  8912. o = [];
  8913. for (g = 0; g < e_208; ++g) {
  8914. var e_211 = s_91[g];
  8915. e_211 < 258 ? o.push(Oi[e_211]) : o.push(h_11[e_211 - 258]);
  8916. }
  8917. break;
  8918. case 196608: break;
  8919. default:
  8920. warn("Unknown/unsupported post table version " + n);
  8921. c = !1;
  8922. i.defaultEncoding && (o = i.defaultEncoding);
  8923. } i.glyphNames = o; return c; }(n.post, i, l); n.post = { tag: "post", data: createPostTable(i) }; var m = Object.create(null); function hasGlyph(e) { return !f[e]; } if (i.composite) {
  8924. var e_212 = i.cidToGidMap || [], t_156 = 0 === e_212.length;
  8925. i.cMap.forEach((function (i, a) { "string" == typeof a && (a = convertCidString(i, a, !0)); if (a > 65535)
  8926. throw new FormatError("Max size of CID is 65,535"); var s = -1; t_156 ? s = a : void 0 !== e_212[a] && (s = e_212[a]); s >= 0 && s < l && hasGlyph(s) && (m[i] = s); }));
  8927. }
  8928. else {
  8929. var e_213 = function readCmapTable(e, t, i, a) { if (!e) {
  8930. warn("No cmap table available.");
  8931. return { platformId: -1, encodingId: -1, mappings: [], hasShortCmap: !1 };
  8932. } var s, r = (t.start || 0) + e.offset; t.pos = r; t.skip(2); var n = t.getUint16(); var o, g = !1; for (var e_214 = 0; e_214 < n; e_214++) {
  8933. var s_92 = t.getUint16(), r_64 = t.getUint16(), c_14 = t.getInt32() >>> 0;
  8934. var h_12 = !1;
  8935. if ((o === null || o === void 0 ? void 0 : o.platformId) !== s_92 || (o === null || o === void 0 ? void 0 : o.encodingId) !== r_64) {
  8936. if (0 !== s_92 || 0 !== r_64 && 1 !== r_64 && 3 !== r_64)
  8937. if (1 === s_92 && 0 === r_64)
  8938. h_12 = !0;
  8939. else if (3 !== s_92 || 1 !== r_64 || !a && o) {
  8940. if (i && 3 === s_92 && 0 === r_64) {
  8941. h_12 = !0;
  8942. var i_156 = !0;
  8943. if (e_214 < n - 1) {
  8944. var e_215 = t.peekBytes(2);
  8945. int16(e_215[0], e_215[1]) < s_92 && (i_156 = !1);
  8946. }
  8947. i_156 && (g = !0);
  8948. }
  8949. }
  8950. else {
  8951. h_12 = !0;
  8952. i || (g = !0);
  8953. }
  8954. else
  8955. h_12 = !0;
  8956. h_12 && (o = { platformId: s_92, encodingId: r_64, offset: c_14 });
  8957. if (g)
  8958. break;
  8959. }
  8960. } o && (t.pos = r + o.offset); if (!o || -1 === t.peekByte()) {
  8961. warn("Could not find a preferred cmap table.");
  8962. return { platformId: -1, encodingId: -1, mappings: [], hasShortCmap: !1 };
  8963. } var c = t.getUint16(); var h = !1; var l = []; var C, Q; if (0 === c) {
  8964. t.skip(4);
  8965. for (C = 0; C < 256; C++) {
  8966. var e_216 = t.getByte();
  8967. e_216 && l.push({ charCode: C, glyphId: e_216 });
  8968. }
  8969. h = !0;
  8970. }
  8971. else if (2 === c) {
  8972. t.skip(4);
  8973. var e_217 = [];
  8974. var i_157 = 0;
  8975. for (var a_132 = 0; a_132 < 256; a_132++) {
  8976. var a_133 = t.getUint16() >> 3;
  8977. e_217.push(a_133);
  8978. i_157 = Math.max(a_133, i_157);
  8979. }
  8980. var a_134 = [];
  8981. for (var e_218 = 0; e_218 <= i_157; e_218++)
  8982. a_134.push({ firstCode: t.getUint16(), entryCount: t.getUint16(), idDelta: signedInt16(t.getByte(), t.getByte()), idRangePos: t.pos + t.getUint16() });
  8983. for (var i_158 = 0; i_158 < 256; i_158++)
  8984. if (0 === e_217[i_158]) {
  8985. t.pos = a_134[0].idRangePos + 2 * i_158;
  8986. Q = t.getUint16();
  8987. l.push({ charCode: i_158, glyphId: Q });
  8988. }
  8989. else {
  8990. var s_93 = a_134[e_217[i_158]];
  8991. for (C = 0; C < s_93.entryCount; C++) {
  8992. var e_219 = (i_158 << 8) + C + s_93.firstCode;
  8993. t.pos = s_93.idRangePos + 2 * C;
  8994. Q = t.getUint16();
  8995. 0 !== Q && (Q = (Q + s_93.idDelta) % 65536);
  8996. l.push({ charCode: e_219, glyphId: Q });
  8997. }
  8998. }
  8999. }
  9000. else if (4 === c) {
  9001. t.skip(4);
  9002. var e_220 = t.getUint16() >> 1;
  9003. t.skip(6);
  9004. var i_159 = [];
  9005. var a_135;
  9006. for (a_135 = 0; a_135 < e_220; a_135++)
  9007. i_159.push({ end: t.getUint16() });
  9008. t.skip(2);
  9009. for (a_135 = 0; a_135 < e_220; a_135++)
  9010. i_159[a_135].start = t.getUint16();
  9011. for (a_135 = 0; a_135 < e_220; a_135++)
  9012. i_159[a_135].delta = t.getUint16();
  9013. var n_47, o_31 = 0;
  9014. for (a_135 = 0; a_135 < e_220; a_135++) {
  9015. s = i_159[a_135];
  9016. var r_65 = t.getUint16();
  9017. if (r_65) {
  9018. n_47 = (r_65 >> 1) - (e_220 - a_135);
  9019. s.offsetIndex = n_47;
  9020. o_31 = Math.max(o_31, n_47 + s.end - s.start + 1);
  9021. }
  9022. else
  9023. s.offsetIndex = -1;
  9024. }
  9025. var g_24 = [];
  9026. for (C = 0; C < o_31; C++)
  9027. g_24.push(t.getUint16());
  9028. for (a_135 = 0; a_135 < e_220; a_135++) {
  9029. s = i_159[a_135];
  9030. r = s.start;
  9031. var e_221 = s.end, t_157 = s.delta;
  9032. n_47 = s.offsetIndex;
  9033. for (C = r; C <= e_221; C++)
  9034. if (65535 !== C) {
  9035. Q = n_47 < 0 ? C : g_24[n_47 + C - r];
  9036. Q = Q + t_157 & 65535;
  9037. l.push({ charCode: C, glyphId: Q });
  9038. }
  9039. }
  9040. }
  9041. else if (6 === c) {
  9042. t.skip(4);
  9043. var e_222 = t.getUint16(), i_160 = t.getUint16();
  9044. for (C = 0; C < i_160; C++) {
  9045. Q = t.getUint16();
  9046. var i_161 = e_222 + C;
  9047. l.push({ charCode: i_161, glyphId: Q });
  9048. }
  9049. }
  9050. else {
  9051. if (12 !== c) {
  9052. warn("cmap table has unsupported format: " + c);
  9053. return { platformId: -1, encodingId: -1, mappings: [], hasShortCmap: !1 };
  9054. }
  9055. {
  9056. t.skip(10);
  9057. var e_223 = t.getInt32() >>> 0;
  9058. for (C = 0; C < e_223; C++) {
  9059. var e_224 = t.getInt32() >>> 0, i_162 = t.getInt32() >>> 0;
  9060. var a_136 = t.getInt32() >>> 0;
  9061. for (var t_158 = e_224; t_158 <= i_162; t_158++)
  9062. l.push({ charCode: t_158, glyphId: a_136++ });
  9063. }
  9064. }
  9065. } l.sort((function (e, t) { return e.charCode - t.charCode; })); for (var e_225 = 1; e_225 < l.length; e_225++)
  9066. if (l[e_225 - 1].charCode === l[e_225].charCode) {
  9067. l.splice(e_225, 1);
  9068. e_225--;
  9069. } return { platformId: o.platformId, encodingId: o.encodingId, mappings: l, hasShortCmap: h }; }(n.cmap, t, this.isSymbolicFont, i.hasEncoding), a_137 = e_213.platformId, s_94 = e_213.encodingId, r_66 = e_213.mappings;
  9070. var o_32 = [], g_25 = !1;
  9071. !i.hasEncoding || "MacRomanEncoding" !== i.baseEncodingName && "WinAnsiEncoding" !== i.baseEncodingName || (o_32 = getEncoding(i.baseEncodingName));
  9072. if (i.hasEncoding && !this.isSymbolicFont && (3 === a_137 && 1 === s_94 || 1 === a_137 && 0 === s_94)) {
  9073. var e_226 = Ni();
  9074. for (var t_159 = 0; t_159 < 256; t_159++) {
  9075. var n_48 = void 0;
  9076. n_48 = void 0 !== this.differences[t_159] ? this.differences[t_159] : o_32.length && "" !== o_32[t_159] ? o_32[t_159] : fi[t_159];
  9077. if (!n_48)
  9078. continue;
  9079. var g_26 = recoverGlyphName(n_48, e_226);
  9080. var c_15 = void 0;
  9081. 3 === a_137 && 1 === s_94 ? c_15 = e_226[g_26] : 1 === a_137 && 0 === s_94 && (c_15 = di.indexOf(g_26));
  9082. if (void 0 === c_15) {
  9083. if (!i.glyphNames && i.hasIncludedToUnicodeMap && !(this.toUnicode instanceof IdentityToUnicodeMap)) {
  9084. var e_227 = this.toUnicode.get(t_159);
  9085. e_227 && (c_15 = e_227.codePointAt(0));
  9086. }
  9087. if (void 0 === c_15)
  9088. continue;
  9089. }
  9090. for (var _l = 0, r_57 = r_66; _l < r_57.length; _l++) {
  9091. var e_228 = r_57[_l];
  9092. if (e_228.charCode === c_15) {
  9093. m[t_159] = e_228.glyphId;
  9094. break;
  9095. }
  9096. }
  9097. }
  9098. }
  9099. else if (0 === a_137) {
  9100. for (var _m = 0, r_58 = r_66; _m < r_58.length; _m++) {
  9101. var e_229 = r_58[_m];
  9102. m[e_229.charCode] = e_229.glyphId;
  9103. }
  9104. g_25 = !0;
  9105. }
  9106. else if (3 === a_137 && 0 === s_94)
  9107. for (var _o = 0, r_59 = r_66; _o < r_59.length; _o++) {
  9108. var e_230 = r_59[_o];
  9109. var t_160 = e_230.charCode;
  9110. t_160 >= 61440 && t_160 <= 61695 && (t_160 &= 255);
  9111. m[t_160] = e_230.glyphId;
  9112. }
  9113. else
  9114. for (var _p = 0, r_60 = r_66; _p < r_60.length; _p++) {
  9115. var e_231 = r_60[_p];
  9116. m[e_231.charCode] = e_231.glyphId;
  9117. }
  9118. if (i.glyphNames && (o_32.length || this.differences.length))
  9119. for (var e_232 = 0; e_232 < 256; ++e_232) {
  9120. if (!g_25 && void 0 !== m[e_232])
  9121. continue;
  9122. var t_161 = this.differences[e_232] || o_32[e_232];
  9123. if (!t_161)
  9124. continue;
  9125. var a_138 = i.glyphNames.indexOf(t_161);
  9126. a_138 > 0 && hasGlyph(a_138) && (m[e_232] = a_138);
  9127. }
  9128. } 0 === m.length && (m[0] = 0); var y = C - 1; Q || (y = 0); if (!i.cssFontInfo) {
  9129. var e_233 = adjustMapping(m, hasGlyph, y, this.toUnicode);
  9130. this.toFontChar = e_233.toFontChar;
  9131. n.cmap = { tag: "cmap", data: createCmapTable(e_233.charCodeToGlyphId, e_233.toUnicodeExtraMap, C) };
  9132. n["OS/2"] && function validateOS2Table(e, t) { t.pos = (t.start || 0) + e.offset; var i = t.getUint16(); t.skip(60); var a = t.getUint16(); if (i < 4 && 768 & a)
  9133. return !1; if (t.getUint16() > t.getUint16())
  9134. return !1; t.skip(6); if (0 === t.getUint16())
  9135. return !1; e.data[8] = e.data[9] = 0; return !0; }(n["OS/2"], t) || (n["OS/2"] = { tag: "OS/2", data: createOS2Table(i, e_233.charCodeToGlyphId, p) });
  9136. } if (!c)
  9137. try {
  9138. g = new Stream(n["CFF "].data);
  9139. o = new CFFParser(g, i, Yi).parse();
  9140. o.duplicateFirstGlyph();
  9141. var e_234 = new CFFCompiler(o);
  9142. n["CFF "].data = e_234.compile();
  9143. }
  9144. catch (_q) {
  9145. warn("Failed to compile font " + i.loadedName);
  9146. } if (n.name) {
  9147. var _u = readNameTable(n.name), t_162 = _u[0], a_139 = _u[1];
  9148. n.name.data = createNameTable(e, t_162);
  9149. this.psName = t_162[0][6] || null;
  9150. i.composite || function adjustTrueTypeToUnicode(e, t, i) { if (e.isInternalFont)
  9151. return; if (e.hasIncludedToUnicodeMap)
  9152. return; if (e.hasEncoding)
  9153. return; if (e.toUnicode instanceof IdentityToUnicodeMap)
  9154. return; if (!t)
  9155. return; if (0 === i.length)
  9156. return; if (e.defaultEncoding === pi)
  9157. return; for (var _b = 0, i_163 = i; _b < i_163.length; _b++) {
  9158. var e_235 = i_163[_b];
  9159. if (!isWinNameRecord(e_235))
  9160. return;
  9161. } var a = pi, s = [], r = Ni(); for (var e_236 in a) {
  9162. var t_163 = a[e_236];
  9163. if ("" === t_163)
  9164. continue;
  9165. var i_164 = r[t_163];
  9166. void 0 !== i_164 && (s[e_236] = String.fromCharCode(i_164));
  9167. } s.length > 0 && e.toUnicode.amend(s); }(i, this.isSymbolicFont, a_139);
  9168. }
  9169. else
  9170. n.name = { tag: "name", data: createNameTable(this.name) }; var w = new OpenTypeFileBuilder(r.version); for (var e_237 in n)
  9171. w.addTable(e_237, n[e_237].data); return w.toArray(); };
  9172. Font.prototype.convert = function (e, t, i) { i.fixedPitch = !1; i.builtInEncoding && function adjustType1ToUnicode(e, t) { if (e.isInternalFont)
  9173. return; if (e.hasIncludedToUnicodeMap)
  9174. return; if (t === e.defaultEncoding)
  9175. return; if (e.toUnicode instanceof IdentityToUnicodeMap)
  9176. return; var i = [], a = Ni(); for (var s_95 in t) {
  9177. if (e.hasEncoding && (e.baseEncodingName || void 0 !== e.differences[s_95]))
  9178. continue;
  9179. var r_67 = getUnicodeForGlyph(t[s_95], a);
  9180. -1 !== r_67 && (i[s_95] = String.fromCharCode(r_67));
  9181. } i.length > 0 && e.toUnicode.amend(i); }(i, i.builtInEncoding); var s = 1; t instanceof CFFFont && (s = t.numGlyphs - 1); var r = t.getGlyphMapping(i); var n = null, o = r, g = null; if (!i.cssFontInfo) {
  9182. n = adjustMapping(r, t.hasGlyphId.bind(t), s, this.toUnicode);
  9183. this.toFontChar = n.toFontChar;
  9184. o = n.charCodeToGlyphId;
  9185. g = n.toUnicodeExtraMap;
  9186. } var c = t.numGlyphs; function getCharCodes(e, t) { var i = null; for (var a_140 in e)
  9187. t === e[a_140] && (i || (i = [])).push(0 | a_140); return i; } function createCharCode(e, t) { for (var i_165 in e)
  9188. if (t === e[i_165])
  9189. return 0 | i_165; n.charCodeToGlyphId[n.nextAvailableFontCharCode] = t; return n.nextAvailableFontCharCode++; } var h = t.seacs; if (n && (h === null || h === void 0 ? void 0 : h.length)) {
  9190. var e_238 = i.fontMatrix || a, s_96 = t.getCharset(), o_33 = Object.create(null);
  9191. for (var t_164 in h) {
  9192. t_164 |= 0;
  9193. var i_166 = h[t_164], a_141 = fi[i_166[2]], g_27 = fi[i_166[3]], c_16 = s_96.indexOf(a_141), l_12 = s_96.indexOf(g_27);
  9194. if (c_16 < 0 || l_12 < 0)
  9195. continue;
  9196. var C_11 = { x: i_166[0] * e_238[0] + i_166[1] * e_238[2] + e_238[4], y: i_166[0] * e_238[1] + i_166[1] * e_238[3] + e_238[5] }, Q_13 = getCharCodes(r, t_164);
  9197. if (Q_13)
  9198. for (var _b = 0, Q_12 = Q_13; _b < Q_12.length; _b++) {
  9199. var e_239 = Q_12[_b];
  9200. var t_165 = n.charCodeToGlyphId, i_167 = createCharCode(t_165, c_16), a_142 = createCharCode(t_165, l_12);
  9201. o_33[e_239] = { baseFontCharCode: i_167, accentFontCharCode: a_142, accentOffset: C_11 };
  9202. }
  9203. }
  9204. i.seacMap = o_33;
  9205. } var l = 1 / (i.fontMatrix || a)[0], C = new OpenTypeFileBuilder("OTTO"); C.addTable("CFF ", t.data); C.addTable("OS/2", createOS2Table(i, o)); C.addTable("cmap", createCmapTable(o, g, c)); C.addTable("head", "\0\0\0\0\0\0\0\0\0\0_<õ\0\0" + safeString16(l) + "\0\0\0\0ž\v~'\0\0\0\0ž\v~'\0\0" + safeString16(i.descent) + "ÿ" + safeString16(i.ascent) + string16(i.italicAngle ? 2 : 0) + "\0\0\0\0\0\0\0"); C.addTable("hhea", "\0\0\0" + safeString16(i.ascent) + safeString16(i.descent) + "\0\0ÿÿ\0\0\0\0\0\0" + safeString16(i.capHeight) + safeString16(Math.tan(i.italicAngle) * i.xHeight) + "\0\0\0\0\0\0\0\0\0\0\0\0" + string16(c)); C.addTable("hmtx", function fontFieldsHmtx() { var e = t.charstrings, i = t.cff ? t.cff.widths : null; var a = "\0\0\0\0"; for (var t_166 = 1, s_97 = c; t_166 < s_97; t_166++) {
  9206. var s_98 = 0;
  9207. if (e) {
  9208. var i_168 = e[t_166 - 1];
  9209. s_98 = "width" in i_168 ? i_168.width : 0;
  9210. }
  9211. else
  9212. i && (s_98 = Math.ceil(i[t_166] || 0));
  9213. a += string16(s_98) + string16(0);
  9214. } return a; }()); C.addTable("maxp", "\0\0P\0" + string16(c)); C.addTable("name", createNameTable(e)); C.addTable("post", createPostTable(i)); return C.toArray(); };
  9215. Font.prototype._charToGlyph = function (e, t) {
  9216. var _b, _h, _j;
  9217. if (t === void 0) { t = !1; }
  9218. var i, a, s, r = this._glyphCache[e];
  9219. if ((r === null || r === void 0 ? void 0 : r.isSpace) === t)
  9220. return r;
  9221. var n = e;
  9222. if ((_b = this.cMap) === null || _b === void 0 ? void 0 : _b.contains(e)) {
  9223. n = this.cMap.lookup(e);
  9224. "string" == typeof n && (n = convertCidString(e, n));
  9225. }
  9226. a = this.widths[n];
  9227. "number" != typeof a && (a = this.defaultWidth);
  9228. var o = (_h = this.vmetrics) === null || _h === void 0 ? void 0 : _h[n];
  9229. var g = this.toUnicode.get(e) || e;
  9230. "number" == typeof g && (g = String.fromCharCode(g));
  9231. var c = void 0 !== this.toFontChar[e];
  9232. i = this.toFontChar[e] || e;
  9233. if (this.missingFile) {
  9234. var t_167 = this.differences[e] || this.defaultEncoding[e];
  9235. ".notdef" !== t_167 && "" !== t_167 || "Type1" !== this.type || (i = 32);
  9236. i = function mapSpecialUnicodeValues(e) { return e >= 65520 && e <= 65535 ? 0 : e >= 62976 && e <= 63743 ? xi()[e] || e : 173 === e ? 45 : e; }(i);
  9237. }
  9238. this.isType3Font && (s = i);
  9239. var h = null;
  9240. if ((_j = this.seacMap) === null || _j === void 0 ? void 0 : _j[e]) {
  9241. c = !0;
  9242. var t_168 = this.seacMap[e];
  9243. i = t_168.baseFontCharCode;
  9244. h = { fontChar: String.fromCodePoint(t_168.accentFontCharCode), offset: t_168.accentOffset };
  9245. }
  9246. var l = "";
  9247. "number" == typeof i && (i <= 1114111 ? l = String.fromCodePoint(i) : warn("charToGlyph - invalid fontCharCode: ".concat(i)));
  9248. r = new fonts_Glyph(e, l, g, h, a, o, s, t, c);
  9249. return this._glyphCache[e] = r;
  9250. };
  9251. Font.prototype.charsToGlyphs = function (e) { var t = this._charsCache[e]; if (t)
  9252. return t; t = []; if (this.cMap) {
  9253. var i_169 = Object.create(null), a_143 = e.length;
  9254. var s_99 = 0;
  9255. for (; s_99 < a_143;) {
  9256. this.cMap.readCharCode(e, s_99, i_169);
  9257. var a_144 = i_169.charcode, r_68 = i_169.length;
  9258. s_99 += r_68;
  9259. var n_49 = this._charToGlyph(a_144, 1 === r_68 && 32 === e.charCodeAt(s_99 - 1));
  9260. t.push(n_49);
  9261. }
  9262. }
  9263. else
  9264. for (var i_170 = 0, a_145 = e.length; i_170 < a_145; ++i_170) {
  9265. var a_146 = e.charCodeAt(i_170), s_100 = this._charToGlyph(a_146, 32 === a_146);
  9266. t.push(s_100);
  9267. } return this._charsCache[e] = t; };
  9268. Font.prototype.getCharPositions = function (e) { var t = []; if (this.cMap) {
  9269. var i_171 = Object.create(null);
  9270. var a_147 = 0;
  9271. for (; a_147 < e.length;) {
  9272. this.cMap.readCharCode(e, a_147, i_171);
  9273. var s_101 = i_171.length;
  9274. t.push([a_147, a_147 + s_101]);
  9275. a_147 += s_101;
  9276. }
  9277. }
  9278. else
  9279. for (var i_172 = 0, a_148 = e.length; i_172 < a_148; ++i_172)
  9280. t.push([i_172, i_172 + 1]); return t; };
  9281. Object.defineProperty(Font.prototype, "glyphCacheValues", {
  9282. get: function () { return Object.values(this._glyphCache); },
  9283. enumerable: false,
  9284. configurable: true
  9285. });
  9286. Font.prototype.encodeString = function (e) {
  9287. var _this = this;
  9288. var t = [], i = [], hasCurrentBufErrors = function () { return t.length % 2 == 1; }, a = this.toUnicode instanceof IdentityToUnicodeMap ? function (e) { return _this.toUnicode.charCodeOf(e); } : function (e) { return _this.toUnicode.charCodeOf(String.fromCodePoint(e)); };
  9289. for (var s_102 = 0, r_69 = e.length; s_102 < r_69; s_102++) {
  9290. var r_70 = e.codePointAt(s_102);
  9291. r_70 > 55295 && (r_70 < 57344 || r_70 > 65533) && s_102++;
  9292. if (this.toUnicode) {
  9293. var e_240 = a(r_70);
  9294. if (-1 !== e_240) {
  9295. if (hasCurrentBufErrors()) {
  9296. t.push(i.join(""));
  9297. i.length = 0;
  9298. }
  9299. for (var t_169 = (this.cMap ? this.cMap.getCharCodeLength(e_240) : 1) - 1; t_169 >= 0; t_169--)
  9300. i.push(String.fromCharCode(e_240 >> 8 * t_169 & 255));
  9301. continue;
  9302. }
  9303. }
  9304. if (!hasCurrentBufErrors()) {
  9305. t.push(i.join(""));
  9306. i.length = 0;
  9307. }
  9308. i.push(String.fromCodePoint(r_70));
  9309. }
  9310. t.push(i.join(""));
  9311. return t;
  9312. };
  9313. return Font;
  9314. }());
  9315. var ErrorFont = /** @class */ (function () {
  9316. function ErrorFont(e) {
  9317. this.error = e;
  9318. this.loadedName = "g_font_error";
  9319. this.missingFile = !0;
  9320. }
  9321. ErrorFont.prototype.charsToGlyphs = function () { return []; };
  9322. ErrorFont.prototype.encodeString = function (e) { return [e]; };
  9323. ErrorFont.prototype.exportData = function (e) {
  9324. if (e === void 0) { e = !1; }
  9325. return { error: this.error };
  9326. };
  9327. return ErrorFont;
  9328. }());
  9329. var Ea = 2, ua = 3, da = 4, fa = 5, pa = 6, ma = 7;
  9330. var Pattern = /** @class */ (function () {
  9331. function Pattern() {
  9332. unreachable("Cannot initialize Pattern.");
  9333. }
  9334. Pattern.parseShading = function (e, t, i, a, s) { var r = e instanceof BaseStream ? e.dict : e, n = r.get("ShadingType"); try {
  9335. switch (n) {
  9336. case Ea:
  9337. case ua: return new RadialAxialShading(r, t, i, a, s);
  9338. case da:
  9339. case fa:
  9340. case pa:
  9341. case ma: return new MeshShading(e, t, i, a, s);
  9342. default: throw new FormatError("Unsupported ShadingType: " + n);
  9343. }
  9344. }
  9345. catch (e) {
  9346. if (e instanceof MissingDataException)
  9347. throw e;
  9348. warn(e);
  9349. return new DummyShading;
  9350. } };
  9351. return Pattern;
  9352. }());
  9353. var BaseShading = /** @class */ (function () {
  9354. function BaseShading() {
  9355. this.constructor === BaseShading && unreachable("Cannot initialize BaseShading.");
  9356. }
  9357. BaseShading.prototype.getIR = function () { unreachable("Abstract method `getIR` called."); };
  9358. BaseShading.SMALL_NUMBER = 1e-6;
  9359. return BaseShading;
  9360. }());
  9361. var RadialAxialShading = /** @class */ (function (_super) {
  9362. tslib_1.__extends(RadialAxialShading, _super);
  9363. function RadialAxialShading(e, t, i, a, s) {
  9364. var _this = _super.call(this) || this;
  9365. _this.shadingType = e.get("ShadingType");
  9366. var r = 0;
  9367. _this.shadingType === Ea ? r = 4 : _this.shadingType === ua && (r = 6);
  9368. _this.coordsArr = e.getArray("Coords");
  9369. if (!isNumberArray(_this.coordsArr, r))
  9370. throw new FormatError("RadialAxialShading: Invalid /Coords array.");
  9371. var n = ColorSpace.parse({ cs: e.getRaw("CS") || e.getRaw("ColorSpace"), xref: t, resources: i, pdfFunctionFactory: a, localColorSpaceCache: s });
  9372. _this.bbox = lookupNormalRect(e.getArray("BBox"), null);
  9373. var o = 0, g = 1;
  9374. var c = e.getArray("Domain");
  9375. isNumberArray(c, 2) && (o = c[0], g = c[1], c);
  9376. var h = !1, l = !1;
  9377. var C = e.getArray("Extend");
  9378. (function isBooleanArray(e, t) { return Array.isArray(e) && (null === t || e.length === t) && e.every((function (e) { return "boolean" == typeof e; })); })(C, 2) && (h = C[0], l = C[1], C);
  9379. if (!(_this.shadingType !== ua || h && l)) {
  9380. var _b = _this.coordsArr, e_241 = _b[0], t_170 = _b[1], i_173 = _b[2], a_149 = _b[3], s_103 = _b[4], r_71 = _b[5], n_50 = Math.hypot(e_241 - a_149, t_170 - s_103);
  9381. i_173 <= r_71 + n_50 && r_71 <= i_173 + n_50 && warn("Unsupported radial gradient.");
  9382. }
  9383. _this.extendStart = h;
  9384. _this.extendEnd = l;
  9385. var Q = e.getRaw("Function"), E = a.createFromArray(Q), u = (g - o) / 840, d = _this.colorStops = [];
  9386. if (o >= g || u <= 0) {
  9387. info("Bad shading domain.");
  9388. return _this;
  9389. }
  9390. var f = new Float32Array(n.numComps), p = new Float32Array(1);
  9391. var m, y = 0;
  9392. p[0] = o;
  9393. E(p, 0, f, 0);
  9394. var w = n.getRgb(f, 0);
  9395. var b = Util.makeHexColor(w[0], w[1], w[2]);
  9396. d.push([0, b]);
  9397. var D = 1;
  9398. p[0] = o + u;
  9399. E(p, 0, f, 0);
  9400. var F = n.getRgb(f, 0), S = F[0] - w[0] + 1, k = F[1] - w[1] + 1, R = F[2] - w[2] + 1, N = F[0] - w[0] - 1, G = F[1] - w[1] - 1, x = F[2] - w[2] - 1;
  9401. for (var e_242 = 2; e_242 < 840; e_242++) {
  9402. p[0] = o + e_242 * u;
  9403. E(p, 0, f, 0);
  9404. m = n.getRgb(f, 0);
  9405. var t_171 = e_242 - y;
  9406. S = Math.min(S, (m[0] - w[0] + 1) / t_171);
  9407. k = Math.min(k, (m[1] - w[1] + 1) / t_171);
  9408. R = Math.min(R, (m[2] - w[2] + 1) / t_171);
  9409. N = Math.max(N, (m[0] - w[0] - 1) / t_171);
  9410. G = Math.max(G, (m[1] - w[1] - 1) / t_171);
  9411. x = Math.max(x, (m[2] - w[2] - 1) / t_171);
  9412. if (!(N <= S && G <= k && x <= R)) {
  9413. var e_243 = Util.makeHexColor(F[0], F[1], F[2]);
  9414. d.push([D / 840, e_243]);
  9415. S = m[0] - F[0] + 1;
  9416. k = m[1] - F[1] + 1;
  9417. R = m[2] - F[2] + 1;
  9418. N = m[0] - F[0] - 1;
  9419. G = m[1] - F[1] - 1;
  9420. x = m[2] - F[2] - 1;
  9421. y = D;
  9422. w = F;
  9423. }
  9424. D = e_242;
  9425. F = m;
  9426. }
  9427. var M = Util.makeHexColor(F[0], F[1], F[2]);
  9428. d.push([1, M]);
  9429. var U = "transparent";
  9430. if (e.has("Background")) {
  9431. m = n.getRgb(e.get("Background"), 0);
  9432. U = Util.makeHexColor(m[0], m[1], m[2]);
  9433. }
  9434. if (!h) {
  9435. d.unshift([0, U]);
  9436. d[1][0] += BaseShading.SMALL_NUMBER;
  9437. }
  9438. if (!l) {
  9439. d.at(-1)[0] -= BaseShading.SMALL_NUMBER;
  9440. d.push([1, U]);
  9441. }
  9442. _this.colorStops = d;
  9443. return _this;
  9444. }
  9445. RadialAxialShading.prototype.getIR = function () { var _b = this, e = _b.coordsArr, t = _b.shadingType; var i, a, s, r, n; if (t === Ea) {
  9446. a = [e[0], e[1]];
  9447. s = [e[2], e[3]];
  9448. r = null;
  9449. n = null;
  9450. i = "axial";
  9451. }
  9452. else if (t === ua) {
  9453. a = [e[0], e[1]];
  9454. s = [e[3], e[4]];
  9455. r = e[2];
  9456. n = e[5];
  9457. i = "radial";
  9458. }
  9459. else
  9460. unreachable("getPattern type unknown: ".concat(t)); return ["RadialAxial", i, this.bbox, this.colorStops, a, s, r, n]; };
  9461. return RadialAxialShading;
  9462. }(BaseShading));
  9463. var MeshStreamReader = /** @class */ (function () {
  9464. function MeshStreamReader(e, t) {
  9465. this.stream = e;
  9466. this.context = t;
  9467. this.buffer = 0;
  9468. this.bufferLength = 0;
  9469. var i = t.numComps;
  9470. this.tmpCompsBuf = new Float32Array(i);
  9471. var a = t.colorSpace.numComps;
  9472. this.tmpCsCompsBuf = t.colorFn ? new Float32Array(a) : this.tmpCompsBuf;
  9473. }
  9474. Object.defineProperty(MeshStreamReader.prototype, "hasData", {
  9475. get: function () { if (this.stream.end)
  9476. return this.stream.pos < this.stream.end; if (this.bufferLength > 0)
  9477. return !0; var e = this.stream.getByte(); if (e < 0)
  9478. return !1; this.buffer = e; this.bufferLength = 8; return !0; },
  9479. enumerable: false,
  9480. configurable: true
  9481. });
  9482. MeshStreamReader.prototype.readBits = function (e) { var t = this.buffer, i = this.bufferLength; if (32 === e) {
  9483. if (0 === i)
  9484. return (this.stream.getByte() << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte()) >>> 0;
  9485. t = t << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte();
  9486. var e_244 = this.stream.getByte();
  9487. this.buffer = e_244 & (1 << i) - 1;
  9488. return (t << 8 - i | (255 & e_244) >> i) >>> 0;
  9489. } if (8 === e && 0 === i)
  9490. return this.stream.getByte(); for (; i < e;) {
  9491. t = t << 8 | this.stream.getByte();
  9492. i += 8;
  9493. } i -= e; this.bufferLength = i; this.buffer = t & (1 << i) - 1; return t >> i; };
  9494. MeshStreamReader.prototype.align = function () { this.buffer = 0; this.bufferLength = 0; };
  9495. MeshStreamReader.prototype.readFlag = function () { return this.readBits(this.context.bitsPerFlag); };
  9496. MeshStreamReader.prototype.readCoordinate = function () { var e = this.context.bitsPerCoordinate, t = this.readBits(e), i = this.readBits(e), a = this.context.decode, s = e < 32 ? 1 / ((1 << e) - 1) : 2.3283064365386963e-10; return [t * s * (a[1] - a[0]) + a[0], i * s * (a[3] - a[2]) + a[2]]; };
  9497. MeshStreamReader.prototype.readComponents = function () { var e = this.context.numComps, t = this.context.bitsPerComponent, i = t < 32 ? 1 / ((1 << t) - 1) : 2.3283064365386963e-10, a = this.context.decode, s = this.tmpCompsBuf; for (var r_72 = 0, n_51 = 4; r_72 < e; r_72++, n_51 += 2) {
  9498. var e_245 = this.readBits(t);
  9499. s[r_72] = e_245 * i * (a[n_51 + 1] - a[n_51]) + a[n_51];
  9500. } var r = this.tmpCsCompsBuf; this.context.colorFn && this.context.colorFn(s, 0, r, 0); return this.context.colorSpace.getRgb(r, 0); };
  9501. return MeshStreamReader;
  9502. }());
  9503. var ya = Object.create(null);
  9504. function getB(e) { return ya[e] || (ya[e] = function buildB(e) { var t = []; for (var i_174 = 0; i_174 <= e; i_174++) {
  9505. var a_150 = i_174 / e, s_104 = 1 - a_150;
  9506. t.push(new Float32Array([Math.pow(s_104, 3), 3 * a_150 * Math.pow(s_104, 2), 3 * Math.pow(a_150, 2) * s_104, Math.pow(a_150, 3)]));
  9507. } return t; }(e)); }
  9508. var MeshShading = /** @class */ (function (_super) {
  9509. tslib_1.__extends(MeshShading, _super);
  9510. function MeshShading(e, t, i, a, s) {
  9511. var _this = _super.call(this) || this;
  9512. if (!(e instanceof BaseStream))
  9513. throw new FormatError("Mesh data is not a stream");
  9514. var r = e.dict;
  9515. _this.shadingType = r.get("ShadingType");
  9516. _this.bbox = lookupNormalRect(r.getArray("BBox"), null);
  9517. var n = ColorSpace.parse({ cs: r.getRaw("CS") || r.getRaw("ColorSpace"), xref: t, resources: i, pdfFunctionFactory: a, localColorSpaceCache: s });
  9518. _this.background = r.has("Background") ? n.getRgb(r.get("Background"), 0) : null;
  9519. var o = r.getRaw("Function"), g = o ? a.createFromArray(o) : null;
  9520. _this.coords = [];
  9521. _this.colors = [];
  9522. _this.figures = [];
  9523. var c = { bitsPerCoordinate: r.get("BitsPerCoordinate"), bitsPerComponent: r.get("BitsPerComponent"), bitsPerFlag: r.get("BitsPerFlag"), decode: r.getArray("Decode"), colorFn: g, colorSpace: n, numComps: g ? 1 : n.numComps }, h = new MeshStreamReader(e, c);
  9524. var l = !1;
  9525. switch (_this.shadingType) {
  9526. case da:
  9527. _this._decodeType4Shading(h);
  9528. break;
  9529. case fa:
  9530. var e_246 = 0 | r.get("VerticesPerRow");
  9531. if (e_246 < 2)
  9532. throw new FormatError("Invalid VerticesPerRow");
  9533. _this._decodeType5Shading(h, e_246);
  9534. break;
  9535. case pa:
  9536. _this._decodeType6Shading(h);
  9537. l = !0;
  9538. break;
  9539. case ma:
  9540. _this._decodeType7Shading(h);
  9541. l = !0;
  9542. break;
  9543. default: unreachable("Unsupported mesh type.");
  9544. }
  9545. if (l) {
  9546. _this._updateBounds();
  9547. for (var e_247 = 0, t_172 = _this.figures.length; e_247 < t_172; e_247++)
  9548. _this._buildFigureFromPatch(e_247);
  9549. }
  9550. _this._updateBounds();
  9551. _this._packData();
  9552. return _this;
  9553. }
  9554. MeshShading.prototype._decodeType4Shading = function (e) { var t = this.coords, i = this.colors, a = [], s = []; var r = 0; for (; e.hasData;) {
  9555. var n_52 = e.readFlag(), o_34 = e.readCoordinate(), g_28 = e.readComponents();
  9556. if (0 === r) {
  9557. if (!(0 <= n_52 && n_52 <= 2))
  9558. throw new FormatError("Unknown type4 flag");
  9559. switch (n_52) {
  9560. case 0:
  9561. r = 3;
  9562. break;
  9563. case 1:
  9564. s.push(s.at(-2), s.at(-1));
  9565. r = 1;
  9566. break;
  9567. case 2:
  9568. s.push(s.at(-3), s.at(-1));
  9569. r = 1;
  9570. }
  9571. a.push(n_52);
  9572. }
  9573. s.push(t.length);
  9574. t.push(o_34);
  9575. i.push(g_28);
  9576. r--;
  9577. e.align();
  9578. } this.figures.push({ type: "triangles", coords: new Int32Array(s), colors: new Int32Array(s) }); };
  9579. MeshShading.prototype._decodeType5Shading = function (e, t) { var i = this.coords, a = this.colors, s = []; for (; e.hasData;) {
  9580. var t_173 = e.readCoordinate(), r_73 = e.readComponents();
  9581. s.push(i.length);
  9582. i.push(t_173);
  9583. a.push(r_73);
  9584. } this.figures.push({ type: "lattice", coords: new Int32Array(s), colors: new Int32Array(s), verticesPerRow: t }); };
  9585. MeshShading.prototype._decodeType6Shading = function (e) { var t = this.coords, i = this.colors, a = new Int32Array(16), s = new Int32Array(4); for (; e.hasData;) {
  9586. var r_74 = e.readFlag();
  9587. if (!(0 <= r_74 && r_74 <= 3))
  9588. throw new FormatError("Unknown type6 flag");
  9589. var n_53 = t.length;
  9590. for (var i_175 = 0, a_151 = 0 !== r_74 ? 8 : 12; i_175 < a_151; i_175++)
  9591. t.push(e.readCoordinate());
  9592. var o_35 = i.length;
  9593. for (var t_174 = 0, a_152 = 0 !== r_74 ? 2 : 4; t_174 < a_152; t_174++)
  9594. i.push(e.readComponents());
  9595. var g_29 = void 0, c_17 = void 0, h_13 = void 0, l_13 = void 0;
  9596. switch (r_74) {
  9597. case 0:
  9598. a[12] = n_53 + 3;
  9599. a[13] = n_53 + 4;
  9600. a[14] = n_53 + 5;
  9601. a[15] = n_53 + 6;
  9602. a[8] = n_53 + 2;
  9603. a[11] = n_53 + 7;
  9604. a[4] = n_53 + 1;
  9605. a[7] = n_53 + 8;
  9606. a[0] = n_53;
  9607. a[1] = n_53 + 11;
  9608. a[2] = n_53 + 10;
  9609. a[3] = n_53 + 9;
  9610. s[2] = o_35 + 1;
  9611. s[3] = o_35 + 2;
  9612. s[0] = o_35;
  9613. s[1] = o_35 + 3;
  9614. break;
  9615. case 1:
  9616. g_29 = a[12];
  9617. c_17 = a[13];
  9618. h_13 = a[14];
  9619. l_13 = a[15];
  9620. a[12] = l_13;
  9621. a[13] = n_53 + 0;
  9622. a[14] = n_53 + 1;
  9623. a[15] = n_53 + 2;
  9624. a[8] = h_13;
  9625. a[11] = n_53 + 3;
  9626. a[4] = c_17;
  9627. a[7] = n_53 + 4;
  9628. a[0] = g_29;
  9629. a[1] = n_53 + 7;
  9630. a[2] = n_53 + 6;
  9631. a[3] = n_53 + 5;
  9632. g_29 = s[2];
  9633. c_17 = s[3];
  9634. s[2] = c_17;
  9635. s[3] = o_35;
  9636. s[0] = g_29;
  9637. s[1] = o_35 + 1;
  9638. break;
  9639. case 2:
  9640. g_29 = a[15];
  9641. c_17 = a[11];
  9642. a[12] = a[3];
  9643. a[13] = n_53 + 0;
  9644. a[14] = n_53 + 1;
  9645. a[15] = n_53 + 2;
  9646. a[8] = a[7];
  9647. a[11] = n_53 + 3;
  9648. a[4] = c_17;
  9649. a[7] = n_53 + 4;
  9650. a[0] = g_29;
  9651. a[1] = n_53 + 7;
  9652. a[2] = n_53 + 6;
  9653. a[3] = n_53 + 5;
  9654. g_29 = s[3];
  9655. s[2] = s[1];
  9656. s[3] = o_35;
  9657. s[0] = g_29;
  9658. s[1] = o_35 + 1;
  9659. break;
  9660. case 3:
  9661. a[12] = a[0];
  9662. a[13] = n_53 + 0;
  9663. a[14] = n_53 + 1;
  9664. a[15] = n_53 + 2;
  9665. a[8] = a[1];
  9666. a[11] = n_53 + 3;
  9667. a[4] = a[2];
  9668. a[7] = n_53 + 4;
  9669. a[0] = a[3];
  9670. a[1] = n_53 + 7;
  9671. a[2] = n_53 + 6;
  9672. a[3] = n_53 + 5;
  9673. s[2] = s[0];
  9674. s[3] = o_35;
  9675. s[0] = s[1];
  9676. s[1] = o_35 + 1;
  9677. }
  9678. a[5] = t.length;
  9679. t.push([(-4 * t[a[0]][0] - t[a[15]][0] + 6 * (t[a[4]][0] + t[a[1]][0]) - 2 * (t[a[12]][0] + t[a[3]][0]) + 3 * (t[a[13]][0] + t[a[7]][0])) / 9, (-4 * t[a[0]][1] - t[a[15]][1] + 6 * (t[a[4]][1] + t[a[1]][1]) - 2 * (t[a[12]][1] + t[a[3]][1]) + 3 * (t[a[13]][1] + t[a[7]][1])) / 9]);
  9680. a[6] = t.length;
  9681. t.push([(-4 * t[a[3]][0] - t[a[12]][0] + 6 * (t[a[2]][0] + t[a[7]][0]) - 2 * (t[a[0]][0] + t[a[15]][0]) + 3 * (t[a[4]][0] + t[a[14]][0])) / 9, (-4 * t[a[3]][1] - t[a[12]][1] + 6 * (t[a[2]][1] + t[a[7]][1]) - 2 * (t[a[0]][1] + t[a[15]][1]) + 3 * (t[a[4]][1] + t[a[14]][1])) / 9]);
  9682. a[9] = t.length;
  9683. t.push([(-4 * t[a[12]][0] - t[a[3]][0] + 6 * (t[a[8]][0] + t[a[13]][0]) - 2 * (t[a[0]][0] + t[a[15]][0]) + 3 * (t[a[11]][0] + t[a[1]][0])) / 9, (-4 * t[a[12]][1] - t[a[3]][1] + 6 * (t[a[8]][1] + t[a[13]][1]) - 2 * (t[a[0]][1] + t[a[15]][1]) + 3 * (t[a[11]][1] + t[a[1]][1])) / 9]);
  9684. a[10] = t.length;
  9685. t.push([(-4 * t[a[15]][0] - t[a[0]][0] + 6 * (t[a[11]][0] + t[a[14]][0]) - 2 * (t[a[12]][0] + t[a[3]][0]) + 3 * (t[a[2]][0] + t[a[8]][0])) / 9, (-4 * t[a[15]][1] - t[a[0]][1] + 6 * (t[a[11]][1] + t[a[14]][1]) - 2 * (t[a[12]][1] + t[a[3]][1]) + 3 * (t[a[2]][1] + t[a[8]][1])) / 9]);
  9686. this.figures.push({ type: "patch", coords: new Int32Array(a), colors: new Int32Array(s) });
  9687. } };
  9688. MeshShading.prototype._decodeType7Shading = function (e) { var t = this.coords, i = this.colors, a = new Int32Array(16), s = new Int32Array(4); for (; e.hasData;) {
  9689. var r_75 = e.readFlag();
  9690. if (!(0 <= r_75 && r_75 <= 3))
  9691. throw new FormatError("Unknown type7 flag");
  9692. var n_54 = t.length;
  9693. for (var i_176 = 0, a_153 = 0 !== r_75 ? 12 : 16; i_176 < a_153; i_176++)
  9694. t.push(e.readCoordinate());
  9695. var o_36 = i.length;
  9696. for (var t_175 = 0, a_154 = 0 !== r_75 ? 2 : 4; t_175 < a_154; t_175++)
  9697. i.push(e.readComponents());
  9698. var g_30 = void 0, c_18 = void 0, h_14 = void 0, l_14 = void 0;
  9699. switch (r_75) {
  9700. case 0:
  9701. a[12] = n_54 + 3;
  9702. a[13] = n_54 + 4;
  9703. a[14] = n_54 + 5;
  9704. a[15] = n_54 + 6;
  9705. a[8] = n_54 + 2;
  9706. a[9] = n_54 + 13;
  9707. a[10] = n_54 + 14;
  9708. a[11] = n_54 + 7;
  9709. a[4] = n_54 + 1;
  9710. a[5] = n_54 + 12;
  9711. a[6] = n_54 + 15;
  9712. a[7] = n_54 + 8;
  9713. a[0] = n_54;
  9714. a[1] = n_54 + 11;
  9715. a[2] = n_54 + 10;
  9716. a[3] = n_54 + 9;
  9717. s[2] = o_36 + 1;
  9718. s[3] = o_36 + 2;
  9719. s[0] = o_36;
  9720. s[1] = o_36 + 3;
  9721. break;
  9722. case 1:
  9723. g_30 = a[12];
  9724. c_18 = a[13];
  9725. h_14 = a[14];
  9726. l_14 = a[15];
  9727. a[12] = l_14;
  9728. a[13] = n_54 + 0;
  9729. a[14] = n_54 + 1;
  9730. a[15] = n_54 + 2;
  9731. a[8] = h_14;
  9732. a[9] = n_54 + 9;
  9733. a[10] = n_54 + 10;
  9734. a[11] = n_54 + 3;
  9735. a[4] = c_18;
  9736. a[5] = n_54 + 8;
  9737. a[6] = n_54 + 11;
  9738. a[7] = n_54 + 4;
  9739. a[0] = g_30;
  9740. a[1] = n_54 + 7;
  9741. a[2] = n_54 + 6;
  9742. a[3] = n_54 + 5;
  9743. g_30 = s[2];
  9744. c_18 = s[3];
  9745. s[2] = c_18;
  9746. s[3] = o_36;
  9747. s[0] = g_30;
  9748. s[1] = o_36 + 1;
  9749. break;
  9750. case 2:
  9751. g_30 = a[15];
  9752. c_18 = a[11];
  9753. a[12] = a[3];
  9754. a[13] = n_54 + 0;
  9755. a[14] = n_54 + 1;
  9756. a[15] = n_54 + 2;
  9757. a[8] = a[7];
  9758. a[9] = n_54 + 9;
  9759. a[10] = n_54 + 10;
  9760. a[11] = n_54 + 3;
  9761. a[4] = c_18;
  9762. a[5] = n_54 + 8;
  9763. a[6] = n_54 + 11;
  9764. a[7] = n_54 + 4;
  9765. a[0] = g_30;
  9766. a[1] = n_54 + 7;
  9767. a[2] = n_54 + 6;
  9768. a[3] = n_54 + 5;
  9769. g_30 = s[3];
  9770. s[2] = s[1];
  9771. s[3] = o_36;
  9772. s[0] = g_30;
  9773. s[1] = o_36 + 1;
  9774. break;
  9775. case 3:
  9776. a[12] = a[0];
  9777. a[13] = n_54 + 0;
  9778. a[14] = n_54 + 1;
  9779. a[15] = n_54 + 2;
  9780. a[8] = a[1];
  9781. a[9] = n_54 + 9;
  9782. a[10] = n_54 + 10;
  9783. a[11] = n_54 + 3;
  9784. a[4] = a[2];
  9785. a[5] = n_54 + 8;
  9786. a[6] = n_54 + 11;
  9787. a[7] = n_54 + 4;
  9788. a[0] = a[3];
  9789. a[1] = n_54 + 7;
  9790. a[2] = n_54 + 6;
  9791. a[3] = n_54 + 5;
  9792. s[2] = s[0];
  9793. s[3] = o_36;
  9794. s[0] = s[1];
  9795. s[1] = o_36 + 1;
  9796. }
  9797. this.figures.push({ type: "patch", coords: new Int32Array(a), colors: new Int32Array(s) });
  9798. } };
  9799. MeshShading.prototype._buildFigureFromPatch = function (e) { var t = this.figures[e]; assert("patch" === t.type, "Unexpected patch mesh figure"); var i = this.coords, a = this.colors, s = t.coords, r = t.colors, n = Math.min(i[s[0]][0], i[s[3]][0], i[s[12]][0], i[s[15]][0]), o = Math.min(i[s[0]][1], i[s[3]][1], i[s[12]][1], i[s[15]][1]), g = Math.max(i[s[0]][0], i[s[3]][0], i[s[12]][0], i[s[15]][0]), c = Math.max(i[s[0]][1], i[s[3]][1], i[s[12]][1], i[s[15]][1]); var h = Math.ceil((g - n) * MeshShading.TRIANGLE_DENSITY / (this.bounds[2] - this.bounds[0])); h = Math.max(MeshShading.MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MeshShading.MAX_SPLIT_PATCH_CHUNKS_AMOUNT, h)); var l = Math.ceil((c - o) * MeshShading.TRIANGLE_DENSITY / (this.bounds[3] - this.bounds[1])); l = Math.max(MeshShading.MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MeshShading.MAX_SPLIT_PATCH_CHUNKS_AMOUNT, l)); var C = h + 1, Q = new Int32Array((l + 1) * C), E = new Int32Array((l + 1) * C); var u = 0; var d = new Uint8Array(3), f = new Uint8Array(3), p = a[r[0]], m = a[r[1]], y = a[r[2]], w = a[r[3]], b = getB(l), D = getB(h); for (var e_248 = 0; e_248 <= l; e_248++) {
  9800. d[0] = (p[0] * (l - e_248) + y[0] * e_248) / l | 0;
  9801. d[1] = (p[1] * (l - e_248) + y[1] * e_248) / l | 0;
  9802. d[2] = (p[2] * (l - e_248) + y[2] * e_248) / l | 0;
  9803. f[0] = (m[0] * (l - e_248) + w[0] * e_248) / l | 0;
  9804. f[1] = (m[1] * (l - e_248) + w[1] * e_248) / l | 0;
  9805. f[2] = (m[2] * (l - e_248) + w[2] * e_248) / l | 0;
  9806. for (var t_176 = 0; t_176 <= h; t_176++, u++) {
  9807. if (!(0 !== e_248 && e_248 !== l || 0 !== t_176 && t_176 !== h))
  9808. continue;
  9809. var r_76 = 0, n_55 = 0, o_37 = 0;
  9810. for (var a_155 = 0; a_155 <= 3; a_155++)
  9811. for (var g_31 = 0; g_31 <= 3; g_31++, o_37++) {
  9812. var c_19 = b[e_248][a_155] * D[t_176][g_31];
  9813. r_76 += i[s[o_37]][0] * c_19;
  9814. n_55 += i[s[o_37]][1] * c_19;
  9815. }
  9816. Q[u] = i.length;
  9817. i.push([r_76, n_55]);
  9818. E[u] = a.length;
  9819. var g_32 = new Uint8Array(3);
  9820. g_32[0] = (d[0] * (h - t_176) + f[0] * t_176) / h | 0;
  9821. g_32[1] = (d[1] * (h - t_176) + f[1] * t_176) / h | 0;
  9822. g_32[2] = (d[2] * (h - t_176) + f[2] * t_176) / h | 0;
  9823. a.push(g_32);
  9824. }
  9825. } Q[0] = s[0]; E[0] = r[0]; Q[h] = s[3]; E[h] = r[1]; Q[C * l] = s[12]; E[C * l] = r[2]; Q[C * l + h] = s[15]; E[C * l + h] = r[3]; this.figures[e] = { type: "lattice", coords: Q, colors: E, verticesPerRow: C }; };
  9826. MeshShading.prototype._updateBounds = function () { var e = this.coords[0][0], t = this.coords[0][1], i = e, a = t; for (var s_105 = 1, r_77 = this.coords.length; s_105 < r_77; s_105++) {
  9827. var r_78 = this.coords[s_105][0], n_56 = this.coords[s_105][1];
  9828. e = e > r_78 ? r_78 : e;
  9829. t = t > n_56 ? n_56 : t;
  9830. i = i < r_78 ? r_78 : i;
  9831. a = a < n_56 ? n_56 : a;
  9832. } this.bounds = [e, t, i, a]; };
  9833. MeshShading.prototype._packData = function () { var e, t, i, a; var s = this.coords, r = new Float32Array(2 * s.length); for (e = 0, i = 0, t = s.length; e < t; e++) {
  9834. var t_177 = s[e];
  9835. r[i++] = t_177[0];
  9836. r[i++] = t_177[1];
  9837. } this.coords = r; var n = this.colors, o = new Uint8Array(3 * n.length); for (e = 0, i = 0, t = n.length; e < t; e++) {
  9838. var t_178 = n[e];
  9839. o[i++] = t_178[0];
  9840. o[i++] = t_178[1];
  9841. o[i++] = t_178[2];
  9842. } this.colors = o; var g = this.figures; for (e = 0, t = g.length; e < t; e++) {
  9843. var t_179 = g[e], s_106 = t_179.coords, r_79 = t_179.colors;
  9844. for (i = 0, a = s_106.length; i < a; i++) {
  9845. s_106[i] *= 2;
  9846. r_79[i] *= 3;
  9847. }
  9848. } };
  9849. MeshShading.prototype.getIR = function () { var e = this.bounds; if (e[2] - e[0] == 0 || e[3] - e[1] == 0)
  9850. throw new FormatError("Invalid MeshShading bounds: [".concat(e, "].")); return ["Mesh", this.shadingType, this.coords, this.colors, this.figures, e, this.bbox, this.background]; };
  9851. MeshShading.MIN_SPLIT_PATCH_CHUNKS_AMOUNT = 3;
  9852. MeshShading.MAX_SPLIT_PATCH_CHUNKS_AMOUNT = 20;
  9853. MeshShading.TRIANGLE_DENSITY = 20;
  9854. return MeshShading;
  9855. }(BaseShading));
  9856. var DummyShading = /** @class */ (function (_super) {
  9857. tslib_1.__extends(DummyShading, _super);
  9858. function DummyShading() {
  9859. return _super !== null && _super.apply(this, arguments) || this;
  9860. }
  9861. DummyShading.prototype.getIR = function () { return ["Dummy"]; };
  9862. return DummyShading;
  9863. }(BaseShading));
  9864. function getTilingPatternIR(e, t, a) { var s = lookupMatrix(t.getArray("Matrix"), i), r = lookupNormalRect(t.getArray("BBox"), null); if (!r || r[2] - r[0] == 0 || r[3] - r[1] == 0)
  9865. throw new FormatError("Invalid getTilingPatternIR /BBox array."); var n = t.get("XStep"); if ("number" != typeof n)
  9866. throw new FormatError("Invalid getTilingPatternIR /XStep value."); var o = t.get("YStep"); if ("number" != typeof o)
  9867. throw new FormatError("Invalid getTilingPatternIR /YStep value."); var g = t.get("PaintType"); if (!Number.isInteger(g))
  9868. throw new FormatError("Invalid getTilingPatternIR /PaintType value."); var c = t.get("TilingType"); if (!Number.isInteger(c))
  9869. throw new FormatError("Invalid getTilingPatternIR /TilingType value."); return ["TilingPattern", a, e, s, r, n, o, g, c]; }
  9870. var wa = [1.3877, 1, 1, 1, .97801, .92482, .89552, .91133, .81988, .97566, .98152, .93548, .93548, 1.2798, .85284, .92794, 1, .96134, 1.54657, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .82845, .82845, .85284, .85284, .85284, .75859, .92138, .83908, .7762, .73293, .87289, .73133, .7514, .81921, .87356, .95958, .59526, .75727, .69225, 1.04924, .9121, .86943, .79795, .88198, .77958, .70864, .81055, .90399, .88653, .96017, .82577, .77892, .78257, .97507, 1.54657, .97507, .85284, .89552, .90176, .88762, .8785, .75241, .8785, .90518, .95015, .77618, .8785, .88401, .91916, .86304, .88401, .91488, .8785, .8801, .8785, .8785, .91343, .7173, 1.04106, .8785, .85075, .95794, .82616, .85162, .79492, .88331, 1.69808, .88331, .85284, .97801, .89552, .91133, .89552, .91133, 1.7801, .89552, 1.24487, 1.13254, 1.12401, .96839, .85284, .68787, .70645, .85592, .90747, 1.01466, 1.0088, .90323, 1, 1.07463, 1, .91056, .75806, 1.19118, .96839, .78864, .82845, .84133, .75859, .83908, .83908, .83908, .83908, .83908, .83908, .77539, .73293, .73133, .73133, .73133, .73133, .95958, .95958, .95958, .95958, .88506, .9121, .86943, .86943, .86943, .86943, .86943, .85284, .87508, .90399, .90399, .90399, .90399, .77892, .79795, .90807, .88762, .88762, .88762, .88762, .88762, .88762, .8715, .75241, .90518, .90518, .90518, .90518, .88401, .88401, .88401, .88401, .8785, .8785, .8801, .8801, .8801, .8801, .8801, .90747, .89049, .8785, .8785, .8785, .8785, .85162, .8785, .85162, .83908, .88762, .83908, .88762, .83908, .88762, .73293, .75241, .73293, .75241, .73293, .75241, .73293, .75241, .87289, .83016, .88506, .93125, .73133, .90518, .73133, .90518, .73133, .90518, .73133, .90518, .73133, .90518, .81921, .77618, .81921, .77618, .81921, .77618, 1, 1, .87356, .8785, .91075, .89608, .95958, .88401, .95958, .88401, .95958, .88401, .95958, .88401, .95958, .88401, .76229, .90167, .59526, .91916, 1, 1, .86304, .69225, .88401, 1, 1, .70424, .79468, .91926, .88175, .70823, .94903, .9121, .8785, 1, 1, .9121, .8785, .87802, .88656, .8785, .86943, .8801, .86943, .8801, .86943, .8801, .87402, .89291, .77958, .91343, 1, 1, .77958, .91343, .70864, .7173, .70864, .7173, .70864, .7173, .70864, .7173, 1, 1, .81055, .75841, .81055, 1.06452, .90399, .8785, .90399, .8785, .90399, .8785, .90399, .8785, .90399, .8785, .90399, .8785, .96017, .95794, .77892, .85162, .77892, .78257, .79492, .78257, .79492, .78257, .79492, .9297, .56892, .83908, .88762, .77539, .8715, .87508, .89049, 1, 1, .81055, 1.04106, 1.20528, 1.20528, 1, 1.15543, .70674, .98387, .94721, 1.33431, 1.45894, .95161, 1.06303, .83908, .80352, .57184, .6965, .56289, .82001, .56029, .81235, 1.02988, .83908, .7762, .68156, .80367, .73133, .78257, .87356, .86943, .95958, .75727, .89019, 1.04924, .9121, .7648, .86943, .87356, .79795, .78275, .81055, .77892, .9762, .82577, .99819, .84896, .95958, .77892, .96108, 1.01407, .89049, 1.02988, .94211, .96108, .8936, .84021, .87842, .96399, .79109, .89049, 1.00813, 1.02988, .86077, .87445, .92099, .84723, .86513, .8801, .75638, .85714, .78216, .79586, .87965, .94211, .97747, .78287, .97926, .84971, 1.02988, .94211, .8801, .94211, .84971, .73133, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .90264, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .90518, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .90548, 1, 1, 1, 1, 1, 1, .96017, .95794, .96017, .95794, .96017, .95794, .77892, .85162, 1, 1, .89552, .90527, 1, .90363, .92794, .92794, .92794, .92794, .87012, .87012, .87012, .89552, .89552, 1.42259, .71143, 1.06152, 1, 1, 1.03372, 1.03372, .97171, 1.4956, 2.2807, .93835, .83406, .91133, .84107, .91133, 1, 1, 1, .72021, 1, 1.23108, .83489, .88525, .88525, .81499, .90527, 1.81055, .90527, 1.81055, 1.31006, 1.53711, .94434, 1.08696, 1, .95018, .77192, .85284, .90747, 1.17534, .69825, .9716, 1.37077, .90747, .90747, .85356, .90747, .90747, 1.44947, .85284, .8941, .8941, .70572, .8, .70572, .70572, .70572, .70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .99862, .99862, 1, 1, 1, 1, 1, 1.08004, .91027, 1, 1, 1, .99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .90727, .90727, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], ba = { lineHeight: 1.2207, lineGap: .2207 }, Da = [1.3877, 1, 1, 1, .97801, .92482, .89552, .91133, .81988, .97566, .98152, .93548, .93548, 1.2798, .85284, .92794, 1, .96134, 1.56239, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .82845, .82845, .85284, .85284, .85284, .75859, .92138, .83908, .7762, .71805, .87289, .73133, .7514, .81921, .87356, .95958, .59526, .75727, .69225, 1.04924, .90872, .85938, .79795, .87068, .77958, .69766, .81055, .90399, .88653, .96068, .82577, .77892, .78257, .97507, 1.529, .97507, .85284, .89552, .90176, .94908, .86411, .74012, .86411, .88323, .95015, .86411, .86331, .88401, .91916, .86304, .88401, .9039, .86331, .86331, .86411, .86411, .90464, .70852, 1.04106, .86331, .84372, .95794, .82616, .84548, .79492, .88331, 1.69808, .88331, .85284, .97801, .89552, .91133, .89552, .91133, 1.7801, .89552, 1.24487, 1.13254, 1.19129, .96839, .85284, .68787, .70645, .85592, .90747, 1.01466, 1.0088, .90323, 1, 1.07463, 1, .91056, .75806, 1.19118, .96839, .78864, .82845, .84133, .75859, .83908, .83908, .83908, .83908, .83908, .83908, .77539, .71805, .73133, .73133, .73133, .73133, .95958, .95958, .95958, .95958, .88506, .90872, .85938, .85938, .85938, .85938, .85938, .85284, .87068, .90399, .90399, .90399, .90399, .77892, .79795, .90807, .94908, .94908, .94908, .94908, .94908, .94908, .85887, .74012, .88323, .88323, .88323, .88323, .88401, .88401, .88401, .88401, .8785, .86331, .86331, .86331, .86331, .86331, .86331, .90747, .89049, .86331, .86331, .86331, .86331, .84548, .86411, .84548, .83908, .94908, .83908, .94908, .83908, .94908, .71805, .74012, .71805, .74012, .71805, .74012, .71805, .74012, .87289, .79538, .88506, .92726, .73133, .88323, .73133, .88323, .73133, .88323, .73133, .88323, .73133, .88323, .81921, .86411, .81921, .86411, .81921, .86411, 1, 1, .87356, .86331, .91075, .8777, .95958, .88401, .95958, .88401, .95958, .88401, .95958, .88401, .95958, .88401, .76467, .90167, .59526, .91916, 1, 1, .86304, .69225, .88401, 1, 1, .70424, .77312, .91926, .88175, .70823, .94903, .90872, .86331, 1, 1, .90872, .86331, .86906, .88116, .86331, .85938, .86331, .85938, .86331, .85938, .86331, .87402, .86549, .77958, .90464, 1, 1, .77958, .90464, .69766, .70852, .69766, .70852, .69766, .70852, .69766, .70852, 1, 1, .81055, .75841, .81055, 1.06452, .90399, .86331, .90399, .86331, .90399, .86331, .90399, .86331, .90399, .86331, .90399, .86331, .96068, .95794, .77892, .84548, .77892, .78257, .79492, .78257, .79492, .78257, .79492, .9297, .56892, .83908, .94908, .77539, .85887, .87068, .89049, 1, 1, .81055, 1.04106, 1.20528, 1.20528, 1, 1.15543, .70088, .98387, .94721, 1.33431, 1.45894, .95161, 1.48387, .83908, .80352, .57118, .6965, .56347, .79179, .55853, .80346, 1.02988, .83908, .7762, .67174, .86036, .73133, .78257, .87356, .86441, .95958, .75727, .89019, 1.04924, .90872, .74889, .85938, .87891, .79795, .7957, .81055, .77892, .97447, .82577, .97466, .87179, .95958, .77892, .94252, .95612, .8753, 1.02988, .92733, .94252, .87411, .84021, .8728, .95612, .74081, .8753, 1.02189, 1.02988, .84814, .87445, .91822, .84723, .85668, .86331, .81344, .87581, .76422, .82046, .96057, .92733, .99375, .78022, .95452, .86015, 1.02988, .92733, .86331, .92733, .86015, .73133, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .90631, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .88323, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .85174, 1, 1, 1, 1, 1, 1, .96068, .95794, .96068, .95794, .96068, .95794, .77892, .84548, 1, 1, .89552, .90527, 1, .90363, .92794, .92794, .92794, .89807, .87012, .87012, .87012, .89552, .89552, 1.42259, .71094, 1.06152, 1, 1, 1.03372, 1.03372, .97171, 1.4956, 2.2807, .92972, .83406, .91133, .83326, .91133, 1, 1, 1, .72021, 1, 1.23108, .83489, .88525, .88525, .81499, .90616, 1.81055, .90527, 1.81055, 1.3107, 1.53711, .94434, 1.08696, 1, .95018, .77192, .85284, .90747, 1.17534, .69825, .9716, 1.37077, .90747, .90747, .85356, .90747, .90747, 1.44947, .85284, .8941, .8941, .70572, .8, .70572, .70572, .70572, .70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .99862, .99862, 1, 1, 1, 1, 1, 1.08004, .91027, 1, 1, 1, .99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .90727, .90727, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], Fa = { lineHeight: 1.2207, lineGap: .2207 }, Sa = [1.3877, 1, 1, 1, 1.17223, 1.1293, .89552, .91133, .80395, 1.02269, 1.15601, .91056, .91056, 1.2798, .85284, .89807, 1, .90861, 1.39543, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .96309, .96309, .85284, .85284, .85284, .83319, .88071, .8675, .81552, .72346, .85193, .73206, .7522, .81105, .86275, .90685, .6377, .77892, .75593, 1.02638, .89249, .84118, .77452, .85374, .75186, .67789, .79776, .88844, .85066, .94309, .77818, .7306, .76659, 1.10369, 1.38313, 1.10369, 1.06139, .89552, .8739, .9245, .9245, .83203, .9245, .85865, 1.09842, .9245, .9245, 1.03297, 1.07692, .90918, 1.03297, .94959, .9245, .92274, .9245, .9245, 1.02933, .77832, 1.20562, .9245, .8916, .98986, .86621, .89453, .79004, .94152, 1.77256, .94152, .85284, .97801, .89552, .91133, .89552, .91133, 1.91729, .89552, 1.17889, 1.13254, 1.16359, .92098, .85284, .68787, .71353, .84737, .90747, 1.0088, 1.0044, .87683, 1, 1.09091, 1, .92229, .739, 1.15642, .92098, .76288, .80504, .80972, .75859, .8675, .8675, .8675, .8675, .8675, .8675, .76318, .72346, .73206, .73206, .73206, .73206, .90685, .90685, .90685, .90685, .86477, .89249, .84118, .84118, .84118, .84118, .84118, .85284, .84557, .88844, .88844, .88844, .88844, .7306, .77452, .86331, .9245, .9245, .9245, .9245, .9245, .9245, .84843, .83203, .85865, .85865, .85865, .85865, .82601, .82601, .82601, .82601, .94469, .9245, .92274, .92274, .92274, .92274, .92274, .90747, .86651, .9245, .9245, .9245, .9245, .89453, .9245, .89453, .8675, .9245, .8675, .9245, .8675, .9245, .72346, .83203, .72346, .83203, .72346, .83203, .72346, .83203, .85193, .8875, .86477, .99034, .73206, .85865, .73206, .85865, .73206, .85865, .73206, .85865, .73206, .85865, .81105, .9245, .81105, .9245, .81105, .9245, 1, 1, .86275, .9245, .90872, .93591, .90685, .82601, .90685, .82601, .90685, .82601, .90685, 1.03297, .90685, .82601, .77896, 1.05611, .6377, 1.07692, 1, 1, .90918, .75593, 1.03297, 1, 1, .76032, .9375, .98156, .93407, .77261, 1.11429, .89249, .9245, 1, 1, .89249, .9245, .92534, .86698, .9245, .84118, .92274, .84118, .92274, .84118, .92274, .8667, .86291, .75186, 1.02933, 1, 1, .75186, 1.02933, .67789, .77832, .67789, .77832, .67789, .77832, .67789, .77832, 1, 1, .79776, .97655, .79776, 1.23023, .88844, .9245, .88844, .9245, .88844, .9245, .88844, .9245, .88844, .9245, .88844, .9245, .94309, .98986, .7306, .89453, .7306, .76659, .79004, .76659, .79004, .76659, .79004, 1.09231, .54873, .8675, .9245, .76318, .84843, .84557, .86651, 1, 1, .79776, 1.20562, 1.18622, 1.18622, 1, 1.1437, .67009, .96334, .93695, 1.35191, 1.40909, .95161, 1.48387, .8675, .90861, .6192, .7363, .64824, .82411, .56321, .85696, 1.23516, .8675, .81552, .7286, .84134, .73206, .76659, .86275, .84369, .90685, .77892, .85871, 1.02638, .89249, .75828, .84118, .85984, .77452, .76466, .79776, .7306, .90782, .77818, .903, .87291, .90685, .7306, .99058, 1.03667, .94635, 1.23516, .9849, .99058, .92393, .8916, .942, 1.03667, .75026, .94635, 1.0297, 1.23516, .90918, .94048, .98217, .89746, .84153, .92274, .82507, .88832, .84438, .88178, 1.03525, .9849, 1.00225, .78086, .97248, .89404, 1.23516, .9849, .92274, .9849, .89404, .73206, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .89693, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .85865, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .90933, 1, 1, 1, 1, 1, 1, .94309, .98986, .94309, .98986, .94309, .98986, .7306, .89453, 1, 1, .89552, .90527, 1, .90186, 1.12308, 1.12308, 1.12308, 1.12308, 1.2566, 1.2566, 1.2566, .89552, .89552, 1.42259, .68994, 1.03809, 1, 1, 1.0176, 1.0176, 1.11523, 1.4956, 2.01462, .97858, .82616, .91133, .83437, .91133, 1, 1, 1, .70508, 1, 1.23108, .79801, .84426, .84426, .774, .90572, 1.81055, .90749, 1.81055, 1.28809, 1.55469, .94434, 1.07806, 1, .97094, .7589, .85284, .90747, 1.19658, .69825, .97622, 1.33512, .90747, .90747, .85284, .90747, .90747, 1.44947, .85284, .8941, .8941, .70572, .8, .70572, .70572, .70572, .70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .99862, .99862, 1, 1, 1, 1, 1, 1.0336, .91027, 1, 1, 1, .99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.05859, 1.05859, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], ka = { lineHeight: 1.2207, lineGap: .2207 }, Ra = [1.3877, 1, 1, 1, 1.17223, 1.1293, .89552, .91133, .80395, 1.02269, 1.15601, .91056, .91056, 1.2798, .85284, .89807, 1, .90861, 1.39016, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .91133, .96309, .96309, .85284, .85284, .85284, .83319, .88071, .8675, .81552, .73834, .85193, .73206, .7522, .81105, .86275, .90685, .6377, .77892, .75593, 1.02638, .89385, .85122, .77452, .86503, .75186, .68887, .79776, .88844, .85066, .94258, .77818, .7306, .76659, 1.10369, 1.39016, 1.10369, 1.06139, .89552, .8739, .86128, .94469, .8457, .94469, .89464, 1.09842, .84636, .94469, 1.03297, 1.07692, .90918, 1.03297, .95897, .94469, .9482, .94469, .94469, 1.04692, .78223, 1.20562, .94469, .90332, .98986, .86621, .90527, .79004, .94152, 1.77256, .94152, .85284, .97801, .89552, .91133, .89552, .91133, 1.91729, .89552, 1.17889, 1.13254, 1.08707, .92098, .85284, .68787, .71353, .84737, .90747, 1.0088, 1.0044, .87683, 1, 1.09091, 1, .92229, .739, 1.15642, .92098, .76288, .80504, .80972, .75859, .8675, .8675, .8675, .8675, .8675, .8675, .76318, .73834, .73206, .73206, .73206, .73206, .90685, .90685, .90685, .90685, .86477, .89385, .85122, .85122, .85122, .85122, .85122, .85284, .85311, .88844, .88844, .88844, .88844, .7306, .77452, .86331, .86128, .86128, .86128, .86128, .86128, .86128, .8693, .8457, .89464, .89464, .89464, .89464, .82601, .82601, .82601, .82601, .94469, .94469, .9482, .9482, .9482, .9482, .9482, .90747, .86651, .94469, .94469, .94469, .94469, .90527, .94469, .90527, .8675, .86128, .8675, .86128, .8675, .86128, .73834, .8457, .73834, .8457, .73834, .8457, .73834, .8457, .85193, .92454, .86477, .9921, .73206, .89464, .73206, .89464, .73206, .89464, .73206, .89464, .73206, .89464, .81105, .84636, .81105, .84636, .81105, .84636, 1, 1, .86275, .94469, .90872, .95786, .90685, .82601, .90685, .82601, .90685, .82601, .90685, 1.03297, .90685, .82601, .77741, 1.05611, .6377, 1.07692, 1, 1, .90918, .75593, 1.03297, 1, 1, .76032, .90452, .98156, 1.11842, .77261, 1.11429, .89385, .94469, 1, 1, .89385, .94469, .95877, .86901, .94469, .85122, .9482, .85122, .9482, .85122, .9482, .8667, .90016, .75186, 1.04692, 1, 1, .75186, 1.04692, .68887, .78223, .68887, .78223, .68887, .78223, .68887, .78223, 1, 1, .79776, .92188, .79776, 1.23023, .88844, .94469, .88844, .94469, .88844, .94469, .88844, .94469, .88844, .94469, .88844, .94469, .94258, .98986, .7306, .90527, .7306, .76659, .79004, .76659, .79004, .76659, .79004, 1.09231, .54873, .8675, .86128, .76318, .8693, .85311, .86651, 1, 1, .79776, 1.20562, 1.18622, 1.18622, 1, 1.1437, .67742, .96334, .93695, 1.35191, 1.40909, .95161, 1.48387, .86686, .90861, .62267, .74359, .65649, .85498, .56963, .88254, 1.23516, .8675, .81552, .75443, .84503, .73206, .76659, .86275, .85122, .90685, .77892, .85746, 1.02638, .89385, .75657, .85122, .86275, .77452, .74171, .79776, .7306, .95165, .77818, .89772, .88831, .90685, .7306, .98142, 1.02191, .96576, 1.23516, .99018, .98142, .9236, .89258, .94035, 1.02191, .78848, .96576, .9561, 1.23516, .90918, .92578, .95424, .89746, .83969, .9482, .80113, .89442, .85208, .86155, .98022, .99018, 1.00452, .81209, .99247, .89181, 1.23516, .99018, .9482, .99018, .89181, .73206, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .88844, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .89464, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .96766, 1, 1, 1, 1, 1, 1, .94258, .98986, .94258, .98986, .94258, .98986, .7306, .90527, 1, 1, .89552, .90527, 1, .90186, 1.12308, 1.12308, 1.12308, 1.12308, 1.2566, 1.2566, 1.2566, .89552, .89552, 1.42259, .69043, 1.03809, 1, 1, 1.0176, 1.0176, 1.11523, 1.4956, 2.01462, .99331, .82616, .91133, .84286, .91133, 1, 1, 1, .70508, 1, 1.23108, .79801, .84426, .84426, .774, .90527, 1.81055, .90527, 1.81055, 1.28809, 1.55469, .94434, 1.07806, 1, .97094, .7589, .85284, .90747, 1.19658, .69825, .97622, 1.33512, .90747, .90747, .85356, .90747, .90747, 1.44947, .85284, .8941, .8941, .70572, .8, .70572, .70572, .70572, .70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .99862, .99862, 1, 1, 1, 1, 1, 1.0336, .91027, 1, 1, 1, .99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.05859, 1.05859, 1, 1, 1, 1.07185, .99413, .96334, 1.08065, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], Na = { lineHeight: 1.2207, lineGap: .2207 }, Ga = [.76116, 1, 1, 1.0006, .99998, .99974, .99973, .99973, .99982, .99977, 1.00087, .99998, .99998, .99959, 1.00003, 1.0006, .99998, 1.0006, 1.0006, .99973, .99973, .99973, .99973, .99973, .99973, .99973, .99973, .99973, .99973, .99998, 1, 1.00003, 1.00003, 1.00003, 1.00026, .9999, .99977, .99977, .99977, .99977, 1.00001, 1.00026, 1.00022, .99977, 1.0006, .99973, .99977, 1.00026, .99999, .99977, 1.00022, 1.00001, 1.00022, .99977, 1.00001, 1.00026, .99977, 1.00001, 1.00016, 1.00001, 1.00001, 1.00026, .99998, 1.0006, .99998, 1.00003, .99973, .99998, .99973, 1.00026, .99973, 1.00026, .99973, .99998, 1.00026, 1.00026, 1.0006, 1.0006, .99973, 1.0006, .99982, 1.00026, 1.00026, 1.00026, 1.00026, .99959, .99973, .99998, 1.00026, .99973, 1.00022, .99973, .99973, 1, .99959, 1.00077, .99959, 1.00003, .99998, .99973, .99973, .99973, .99973, 1.00077, .99973, .99998, 1.00025, .99968, .99973, 1.00003, 1.00025, .60299, 1.00024, 1.06409, 1, 1, .99998, 1, .99973, 1.0006, .99998, 1, .99936, .99973, 1.00002, 1.00002, 1.00002, 1.00026, .99977, .99977, .99977, .99977, .99977, .99977, 1, .99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006, 1.0006, 1.0006, .99977, .99977, 1.00022, 1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, .99977, .99977, .99977, .99977, 1.00001, 1.00001, 1.00026, .99973, .99973, .99973, .99973, .99973, .99973, .99982, .99973, .99973, .99973, .99973, .99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.06409, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, .99973, 1.00026, .99973, .99977, .99973, .99977, .99973, .99977, .99973, .99977, .99973, .99977, .99973, .99977, .99973, .99977, .99973, .99977, 1.03374, .99977, 1.00026, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, .99977, 1.00026, .99977, 1.00026, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.00042, .99973, .99973, 1.0006, .99977, .99973, .99973, 1.00026, 1.0006, 1.00026, 1.0006, 1.00026, 1.03828, 1.00026, .99999, 1.00026, 1.0006, .99977, 1.00026, .99977, 1.00026, .99977, 1.00026, .9993, .9998, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1, 1.00016, .99977, .99959, .99977, .99959, .99977, .99959, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00026, .99998, 1.00026, .8121, 1.00026, .99998, .99977, 1.00026, .99977, 1.00026, .99977, 1.00026, .99977, 1.00026, .99977, 1.00026, .99977, 1.00026, 1.00016, 1.00022, 1.00001, .99973, 1.00001, 1.00026, 1, 1.00026, 1, 1.00026, 1, 1.0006, .99973, .99977, .99973, 1, .99982, 1.00022, 1.00026, 1.00001, .99973, 1.00026, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, 1.00034, .99977, 1, .99997, 1.00026, 1.00078, 1.00036, .99973, 1.00013, 1.0006, .99977, .99977, .99988, .85148, 1.00001, 1.00026, .99977, 1.00022, 1.0006, .99977, 1.00001, .99999, .99977, 1.00069, 1.00022, .99977, 1.00001, .99984, 1.00026, 1.00001, 1.00024, 1.00001, .9999, 1, 1.0006, 1.00001, 1.00041, .99962, 1.00026, 1.0006, .99995, 1.00041, .99942, .99973, .99927, 1.00082, .99902, 1.00026, 1.00087, 1.0006, 1.00069, .99973, .99867, .99973, .9993, 1.00026, 1.00049, 1.00056, 1, .99988, .99935, .99995, .99954, 1.00055, .99945, 1.00032, 1.0006, .99995, 1.00026, .99995, 1.00032, 1.00001, 1.00008, .99971, 1.00019, .9994, 1.00001, 1.0006, 1.00044, .99973, 1.00023, 1.00047, 1, .99942, .99561, .99989, 1.00035, .99977, 1.00035, .99977, 1.00019, .99944, 1.00001, 1.00021, .99926, 1.00035, 1.00035, .99942, 1.00048, .99999, .99977, 1.00022, 1.00035, 1.00001, .99977, 1.00026, .99989, 1.00057, 1.00001, .99936, 1.00052, 1.00012, .99996, 1.00043, 1, 1.00035, .9994, .99976, 1.00035, .99973, 1.00052, 1.00041, 1.00119, 1.00037, .99973, 1.00002, .99986, 1.00041, 1.00041, .99902, .9996, 1.00034, .99999, 1.00026, .99999, 1.00026, .99973, 1.00052, .99973, 1, .99973, 1.00041, 1.00075, .9994, 1.0003, .99999, 1, 1.00041, .99955, 1, .99915, .99973, .99973, 1.00026, 1.00119, .99955, .99973, 1.0006, .99911, 1.0006, 1.00026, .99972, 1.00026, .99902, 1.00041, .99973, .99999, 1, 1, 1.00038, 1.0005, 1.00016, 1.00022, 1.00016, 1.00022, 1.00016, 1.00022, 1.00001, .99973, 1, 1, .99973, 1, 1, .99955, 1.0006, 1.0006, 1.0006, 1.0006, 1, 1, 1, .99973, .99973, .99972, 1, 1, 1.00106, .99999, .99998, .99998, .99999, .99998, 1.66475, 1, .99973, .99973, 1.00023, .99973, .99971, 1.00047, 1.00023, 1, .99991, .99984, 1.00002, 1.00002, 1.00002, 1.00002, 1, 1, 1, 1, 1, 1, 1, .99972, 1, 1.20985, 1.39713, 1.00003, 1.00031, 1.00015, 1, .99561, 1.00027, 1.00031, 1.00031, .99915, 1.00031, 1.00031, .99999, 1.00003, .99999, .99999, 1.41144, 1.6, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.40579, 1.40579, 1.36625, .99999, 1, .99861, .99861, 1, 1.00026, 1.00026, 1.00026, 1.00026, .99972, .99999, .99999, .99999, .99999, 1.40483, 1, .99977, 1.00054, 1, 1, .99953, .99962, 1.00042, .9995, 1, 1, 1, 1, 1, 1, 1, 1, .99998, .99998, .99998, .99998, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], xa = { lineHeight: 1.2, lineGap: .2 }, Ma = [.76116, 1, 1, 1.0006, .99998, .99974, .99973, .99973, .99982, .99977, 1.00087, .99998, .99998, .99959, 1.00003, 1.0006, .99998, 1.0006, 1.0006, .99973, .99973, .99973, .99973, .99973, .99973, .99973, .99973, .99973, .99973, .99998, 1, 1.00003, 1.00003, 1.00003, 1.00026, .9999, .99977, .99977, .99977, .99977, 1.00001, 1.00026, 1.00022, .99977, 1.0006, .99973, .99977, 1.00026, .99999, .99977, 1.00022, 1.00001, 1.00022, .99977, 1.00001, 1.00026, .99977, 1.00001, 1.00016, 1.00001, 1.00001, 1.00026, .99998, 1.0006, .99998, 1.00003, .99973, .99998, .99973, 1.00026, .99973, 1.00026, .99973, .99998, 1.00026, 1.00026, 1.0006, 1.0006, .99973, 1.0006, .99982, 1.00026, 1.00026, 1.00026, 1.00026, .99959, .99973, .99998, 1.00026, .99973, 1.00022, .99973, .99973, 1, .99959, 1.00077, .99959, 1.00003, .99998, .99973, .99973, .99973, .99973, 1.00077, .99973, .99998, 1.00025, .99968, .99973, 1.00003, 1.00025, .60299, 1.00024, 1.06409, 1, 1, .99998, 1, .99973, 1.0006, .99998, 1, .99936, .99973, 1.00002, 1.00002, 1.00002, 1.00026, .99977, .99977, .99977, .99977, .99977, .99977, 1, .99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006, 1.0006, 1.0006, .99977, .99977, 1.00022, 1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, .99977, .99977, .99977, .99977, 1.00001, 1.00001, 1.00026, .99973, .99973, .99973, .99973, .99973, .99973, .99982, .99973, .99973, .99973, .99973, .99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.06409, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, .99973, 1.00026, .99973, .99977, .99973, .99977, .99973, .99977, .99973, .99977, .99973, .99977, .99973, .99977, .99973, .99977, .99973, .99977, 1.0044, .99977, 1.00026, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, .99977, 1.00026, .99977, 1.00026, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, .99971, .99973, .99973, 1.0006, .99977, .99973, .99973, 1.00026, 1.0006, 1.00026, 1.0006, 1.00026, 1.01011, 1.00026, .99999, 1.00026, 1.0006, .99977, 1.00026, .99977, 1.00026, .99977, 1.00026, .9993, .9998, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1, 1.00016, .99977, .99959, .99977, .99959, .99977, .99959, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00026, .99998, 1.00026, .8121, 1.00026, .99998, .99977, 1.00026, .99977, 1.00026, .99977, 1.00026, .99977, 1.00026, .99977, 1.00026, .99977, 1.00026, 1.00016, 1.00022, 1.00001, .99973, 1.00001, 1.00026, 1, 1.00026, 1, 1.00026, 1, 1.0006, .99973, .99977, .99973, 1, .99982, 1.00022, 1.00026, 1.00001, .99973, 1.00026, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99977, 1, 1, 1.00026, .99969, .99972, .99981, .9998, 1.0006, .99977, .99977, 1.00022, .91155, 1.00001, 1.00026, .99977, 1.00022, 1.0006, .99977, 1.00001, .99999, .99977, .99966, 1.00022, 1.00032, 1.00001, .99944, 1.00026, 1.00001, .99968, 1.00001, 1.00047, 1, 1.0006, 1.00001, .99981, 1.00101, 1.00026, 1.0006, .99948, .99981, 1.00064, .99973, .99942, 1.00101, 1.00061, 1.00026, 1.00069, 1.0006, 1.00014, .99973, 1.01322, .99973, 1.00065, 1.00026, 1.00012, .99923, 1, 1.00064, 1.00076, .99948, 1.00055, 1.00063, 1.00007, .99943, 1.0006, .99948, 1.00026, .99948, .99943, 1.00001, 1.00001, 1.00029, 1.00038, 1.00035, 1.00001, 1.0006, 1.0006, .99973, .99978, 1.00001, 1.00057, .99989, .99967, .99964, .99967, .99977, .99999, .99977, 1.00038, .99977, 1.00001, .99973, 1.00066, .99967, .99967, 1.00041, .99998, .99999, .99977, 1.00022, .99967, 1.00001, .99977, 1.00026, .99964, 1.00031, 1.00001, .99999, .99999, 1, 1.00023, 1, 1, .99999, 1.00035, 1.00001, .99999, .99973, .99977, .99999, 1.00058, .99973, .99973, .99955, .9995, 1.00026, 1.00026, 1.00032, .99989, 1.00034, .99999, 1.00026, 1.00026, 1.00026, .99973, .45998, .99973, 1.00026, .99973, 1.00001, .99999, .99982, .99994, .99996, 1, 1.00042, 1.00044, 1.00029, 1.00023, .99973, .99973, 1.00026, .99949, 1.00002, .99973, 1.0006, 1.0006, 1.0006, .99975, 1.00026, 1.00026, 1.00032, .98685, .99973, 1.00026, 1, 1, .99966, 1.00044, 1.00016, 1.00022, 1.00016, 1.00022, 1.00016, 1.00022, 1.00001, .99973, 1, 1, .99973, 1, 1, .99955, 1.0006, 1.0006, 1.0006, 1.0006, 1, 1, 1, .99973, .99973, .99972, 1, 1, 1.00106, .99999, .99998, .99998, .99999, .99998, 1.66475, 1, .99973, .99973, 1, .99973, .99971, .99978, 1, 1, .99991, .99984, 1.00002, 1.00002, 1.00002, 1.00002, 1.00098, 1, 1, 1, 1.00049, 1, 1, .99972, 1, 1.20985, 1.39713, 1.00003, 1.00031, 1.00015, 1, .99561, 1.00027, 1.00031, 1.00031, .99915, 1.00031, 1.00031, .99999, 1.00003, .99999, .99999, 1.41144, 1.6, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.40579, 1.40579, 1.36625, .99999, 1, .99861, .99861, 1, 1.00026, 1.00026, 1.00026, 1.00026, .99972, .99999, .99999, .99999, .99999, 1.40483, 1, .99977, 1.00054, 1, 1, .99953, .99962, 1.00042, .9995, 1, 1, 1, 1, 1, 1, 1, 1, .99998, .99998, .99998, .99998, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], Ua = { lineHeight: 1.35, lineGap: .2 }, La = [.76116, 1, 1, 1.0006, 1.0006, 1.00006, .99973, .99973, .99982, 1.00001, 1.00043, .99998, .99998, .99959, 1.00003, 1.0006, .99998, 1.0006, 1.0006, .99973, .99973, .99973, .99973, .99973, .99973, .99973, .99973, .99973, .99973, 1.0006, 1, 1.00003, 1.00003, 1.00003, .99973, .99987, 1.00001, 1.00001, .99977, .99977, 1.00001, 1.00026, 1.00022, .99977, 1.0006, 1, 1.00001, .99973, .99999, .99977, 1.00022, 1.00001, 1.00022, .99977, 1.00001, 1.00026, .99977, 1.00001, 1.00016, 1.00001, 1.00001, 1.00026, 1.0006, 1.0006, 1.0006, .99949, .99973, .99998, .99973, .99973, 1, .99973, .99973, 1.0006, .99973, .99973, .99924, .99924, 1, .99924, .99999, .99973, .99973, .99973, .99973, .99998, 1, 1.0006, .99973, 1, .99977, 1, 1, 1, 1.00005, 1.0009, 1.00005, 1.00003, .99998, .99973, .99973, .99973, .99973, 1.0009, .99973, .99998, 1.00025, .99968, .99973, 1.00003, 1.00025, .60299, 1.00024, 1.06409, 1, 1, .99998, 1, .9998, 1.0006, .99998, 1, .99936, .99973, 1.00002, 1.00002, 1.00002, 1.00026, 1.00001, 1.00001, 1.00001, 1.00001, 1.00001, 1.00001, 1, .99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006, 1.0006, 1.0006, .99977, .99977, 1.00022, 1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, .99977, .99977, .99977, .99977, 1.00001, 1.00001, 1.00026, .99973, .99973, .99973, .99973, .99973, .99973, .99982, 1, .99973, .99973, .99973, .99973, 1.0006, 1.0006, 1.0006, 1.0006, .99973, .99973, .99973, .99973, .99973, .99973, .99973, 1.06409, 1.00026, .99973, .99973, .99973, .99973, 1, .99973, 1, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, .99977, 1, .99977, 1, .99977, 1, .99977, 1, .99977, 1.0288, .99977, .99973, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00022, .99973, 1.00022, .99973, 1.00022, .99973, 1.00022, .99973, .99977, .99973, .99977, .99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, .99924, 1.0006, 1.0006, .99946, 1.00034, 1, .99924, 1.00001, 1, 1, .99973, .99924, .99973, .99924, .99973, 1.06311, .99973, 1.00024, .99973, .99924, .99977, .99973, .99977, .99973, .99977, .99973, 1.00041, .9998, .99973, 1.00022, .99973, 1.00022, .99973, 1.00022, .99973, 1, 1.00016, .99977, .99998, .99977, .99998, .99977, .99998, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00026, 1.0006, 1.00026, .89547, 1.00026, 1.0006, .99977, .99973, .99977, .99973, .99977, .99973, .99977, .99973, .99977, .99973, .99977, .99973, 1.00016, .99977, 1.00001, 1, 1.00001, 1.00026, 1, 1.00026, 1, 1.00026, 1, .99924, .99973, 1.00001, .99973, 1, .99982, 1.00022, 1.00026, 1.00001, 1, 1.00026, 1.0006, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, 1.00001, 1, 1.00054, .99977, 1.00084, 1.00007, .99973, 1.00013, .99924, 1.00001, 1.00001, .99945, .91221, 1.00001, 1.00026, .99977, 1.00022, 1.0006, 1.00001, 1.00001, .99999, .99977, .99933, 1.00022, 1.00054, 1.00001, 1.00065, 1.00026, 1.00001, 1.0001, 1.00001, 1.00052, 1, 1.0006, 1.00001, .99945, .99897, .99968, .99924, 1.00036, .99945, .99949, 1, 1.0006, .99897, .99918, .99968, .99911, .99924, 1, .99962, 1.01487, 1, 1.0005, .99973, 1.00012, 1.00043, 1, .99995, .99994, 1.00036, .99947, 1.00019, 1.00063, 1.00025, .99924, 1.00036, .99973, 1.00036, 1.00025, 1.00001, 1.00001, 1.00027, 1.0001, 1.00068, 1.00001, 1.0006, 1.0006, 1, 1.00008, .99957, .99972, .9994, .99954, .99975, 1.00051, 1.00001, 1.00019, 1.00001, 1.0001, .99986, 1.00001, 1.00001, 1.00038, .99954, .99954, .9994, 1.00066, .99999, .99977, 1.00022, 1.00054, 1.00001, .99977, 1.00026, .99975, 1.0001, 1.00001, .99993, .9995, .99955, 1.00016, .99978, .99974, 1.00019, 1.00022, .99955, 1.00053, .99973, 1.00089, 1.00005, .99967, 1.00048, .99973, 1.00002, 1.00034, .99973, .99973, .99964, 1.00006, 1.00066, .99947, .99973, .98894, .99973, 1, .44898, 1, .99946, 1, 1.00039, 1.00082, .99991, .99991, .99985, 1.00022, 1.00023, 1.00061, 1.00006, .99966, .99973, .99973, .99973, 1.00019, 1.0008, 1, .99924, .99924, .99924, .99983, 1.00044, .99973, .99964, .98332, 1, .99973, 1, 1, .99962, .99895, 1.00016, .99977, 1.00016, .99977, 1.00016, .99977, 1.00001, 1, 1, 1, .99973, 1, 1, .99955, .99924, .99924, .99924, .99924, .99998, .99998, .99998, .99973, .99973, .99972, 1, 1, 1.00267, .99999, .99998, .99998, 1, .99998, 1.66475, 1, .99973, .99973, 1.00023, .99973, 1.00423, .99925, .99999, 1, .99991, .99984, 1.00002, 1.00002, 1.00002, 1.00002, 1.00049, 1, 1.00245, 1, 1, 1, 1, .96329, 1, 1.20985, 1.39713, 1.00003, .8254, 1.00015, 1, 1.00035, 1.00027, 1.00031, 1.00031, 1.00003, 1.00031, 1.00031, .99999, 1.00003, .99999, .99999, 1.41144, 1.6, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.40579, 1.40579, 1.36625, .99999, 1, .99861, .99861, 1, 1.00026, 1.00026, 1.00026, 1.00026, .95317, .99999, .99999, .99999, .99999, 1.40483, 1, .99977, 1.00054, 1, 1, .99953, .99962, 1.00042, .9995, 1, 1, 1, 1, 1, 1, 1, 1, .99998, .99998, .99998, .99998, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], Ja = { lineHeight: 1.35, lineGap: .2 }, Ha = [.76116, 1, 1, 1.0006, 1.0006, 1.00006, .99973, .99973, .99982, 1.00001, 1.00043, .99998, .99998, .99959, 1.00003, 1.0006, .99998, 1.0006, 1.0006, .99973, .99973, .99973, .99973, .99973, .99973, .99973, .99973, .99973, .99973, 1.0006, 1, 1.00003, 1.00003, 1.00003, .99973, .99987, 1.00001, 1.00001, .99977, .99977, 1.00001, 1.00026, 1.00022, .99977, 1.0006, 1, 1.00001, .99973, .99999, .99977, 1.00022, 1.00001, 1.00022, .99977, 1.00001, 1.00026, .99977, 1.00001, 1.00016, 1.00001, 1.00001, 1.00026, 1.0006, 1.0006, 1.0006, .99949, .99973, .99998, .99973, .99973, 1, .99973, .99973, 1.0006, .99973, .99973, .99924, .99924, 1, .99924, .99999, .99973, .99973, .99973, .99973, .99998, 1, 1.0006, .99973, 1, .99977, 1, 1, 1, 1.00005, 1.0009, 1.00005, 1.00003, .99998, .99973, .99973, .99973, .99973, 1.0009, .99973, .99998, 1.00025, .99968, .99973, 1.00003, 1.00025, .60299, 1.00024, 1.06409, 1, 1, .99998, 1, .9998, 1.0006, .99998, 1, .99936, .99973, 1.00002, 1.00002, 1.00002, 1.00026, 1.00001, 1.00001, 1.00001, 1.00001, 1.00001, 1.00001, 1, .99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006, 1.0006, 1.0006, .99977, .99977, 1.00022, 1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, .99977, .99977, .99977, .99977, 1.00001, 1.00001, 1.00026, .99973, .99973, .99973, .99973, .99973, .99973, .99982, 1, .99973, .99973, .99973, .99973, 1.0006, 1.0006, 1.0006, 1.0006, .99973, .99973, .99973, .99973, .99973, .99973, .99973, 1.06409, 1.00026, .99973, .99973, .99973, .99973, 1, .99973, 1, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, .99977, 1, .99977, 1, .99977, 1, .99977, 1, .99977, 1.04596, .99977, .99973, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00001, .99973, 1.00022, .99973, 1.00022, .99973, 1.00022, .99973, 1.00022, .99973, .99977, .99973, .99977, .99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, .99924, 1.0006, 1.0006, 1.00019, 1.00034, 1, .99924, 1.00001, 1, 1, .99973, .99924, .99973, .99924, .99973, 1.02572, .99973, 1.00005, .99973, .99924, .99977, .99973, .99977, .99973, .99977, .99973, .99999, .9998, .99973, 1.00022, .99973, 1.00022, .99973, 1.00022, .99973, 1, 1.00016, .99977, .99998, .99977, .99998, .99977, .99998, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00026, 1.0006, 1.00026, .84533, 1.00026, 1.0006, .99977, .99973, .99977, .99973, .99977, .99973, .99977, .99973, .99977, .99973, .99977, .99973, 1.00016, .99977, 1.00001, 1, 1.00001, 1.00026, 1, 1.00026, 1, 1.00026, 1, .99924, .99973, 1.00001, .99973, 1, .99982, 1.00022, 1.00026, 1.00001, 1, 1.00026, 1.0006, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99998, .99928, 1, .99977, 1.00013, 1.00055, .99947, .99945, .99941, .99924, 1.00001, 1.00001, 1.0004, .91621, 1.00001, 1.00026, .99977, 1.00022, 1.0006, 1.00001, 1.00005, .99999, .99977, 1.00015, 1.00022, .99977, 1.00001, .99973, 1.00026, 1.00001, 1.00019, 1.00001, .99946, 1, 1.0006, 1.00001, .99978, 1.00045, .99973, .99924, 1.00023, .99978, .99966, 1, 1.00065, 1.00045, 1.00019, .99973, .99973, .99924, 1, 1, .96499, 1, 1.00055, .99973, 1.00008, 1.00027, 1, .9997, .99995, 1.00023, .99933, 1.00019, 1.00015, 1.00031, .99924, 1.00023, .99973, 1.00023, 1.00031, 1.00001, .99928, 1.00029, 1.00092, 1.00035, 1.00001, 1.0006, 1.0006, 1, .99988, .99975, 1, 1.00082, .99561, .9996, 1.00035, 1.00001, .99962, 1.00001, 1.00092, .99964, 1.00001, .99963, .99999, 1.00035, 1.00035, 1.00082, .99962, .99999, .99977, 1.00022, 1.00035, 1.00001, .99977, 1.00026, .9996, .99967, 1.00001, 1.00034, 1.00074, 1.00054, 1.00053, 1.00063, .99971, .99962, 1.00035, .99975, .99977, .99973, 1.00043, .99953, 1.0007, .99915, .99973, 1.00008, .99892, 1.00073, 1.00073, 1.00114, .99915, 1.00073, .99955, .99973, 1.00092, .99973, 1, .99998, 1, 1.0003, 1, 1.00043, 1.00001, .99969, 1.0003, 1, 1.00035, 1.00001, .9995, 1, 1.00092, .99973, .99973, .99973, 1.0007, .9995, 1, .99924, 1.0006, .99924, .99972, 1.00062, .99973, 1.00114, 1.00073, 1, .99955, 1, 1, 1.00047, .99968, 1.00016, .99977, 1.00016, .99977, 1.00016, .99977, 1.00001, 1, 1, 1, .99973, 1, 1, .99955, .99924, .99924, .99924, .99924, .99998, .99998, .99998, .99973, .99973, .99972, 1, 1, 1.00267, .99999, .99998, .99998, 1, .99998, 1.66475, 1, .99973, .99973, 1.00023, .99973, .99971, .99925, 1.00023, 1, .99991, .99984, 1.00002, 1.00002, 1.00002, 1.00002, 1, 1, 1, 1, 1, 1, 1, .96329, 1, 1.20985, 1.39713, 1.00003, .8254, 1.00015, 1, 1.00035, 1.00027, 1.00031, 1.00031, .99915, 1.00031, 1.00031, .99999, 1.00003, .99999, .99999, 1.41144, 1.6, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.40579, 1.40579, 1.36625, .99999, 1, .99861, .99861, 1, 1.00026, 1.00026, 1.00026, 1.00026, .95317, .99999, .99999, .99999, .99999, 1.40483, 1, .99977, 1.00054, 1, 1, .99953, .99962, 1.00042, .9995, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], Ya = { lineHeight: 1.2, lineGap: .2 }, va = [365, 0, 333, 278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 333, 333, 584, 584, 584, 611, 975, 722, 722, 722, 722, 667, 611, 778, 722, 278, 556, 722, 611, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 333, 278, 333, 584, 556, 333, 556, 611, 556, 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, 611, 611, 611, 611, 389, 556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389, 584, 333, 556, 556, 556, 556, 280, 556, 333, 737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 556, 278, 333, 333, 365, 556, 834, 834, 834, 611, 722, 722, 722, 722, 722, 722, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 556, 556, 556, 556, 556, 278, 278, 278, 278, 611, 611, 611, 611, 611, 611, 611, 549, 611, 611, 611, 611, 611, 556, 611, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 719, 722, 611, 667, 556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 611, 778, 611, 778, 611, 778, 611, 722, 611, 722, 611, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 785, 556, 556, 278, 722, 556, 556, 611, 278, 611, 278, 611, 385, 611, 479, 611, 278, 722, 611, 722, 611, 722, 611, 708, 723, 611, 778, 611, 778, 611, 778, 611, 1e3, 944, 722, 389, 722, 389, 722, 389, 667, 556, 667, 556, 667, 556, 667, 556, 611, 333, 611, 479, 611, 333, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 944, 778, 667, 556, 667, 611, 500, 611, 500, 611, 500, 278, 556, 722, 556, 1e3, 889, 778, 611, 667, 556, 611, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 465, 722, 333, 853, 906, 474, 825, 927, 838, 278, 722, 722, 601, 719, 667, 611, 722, 778, 278, 722, 667, 833, 722, 644, 778, 722, 667, 600, 611, 667, 821, 667, 809, 802, 278, 667, 615, 451, 611, 278, 582, 615, 610, 556, 606, 475, 460, 611, 541, 278, 558, 556, 612, 556, 445, 611, 766, 619, 520, 684, 446, 582, 715, 576, 753, 845, 278, 582, 611, 582, 845, 667, 669, 885, 567, 711, 667, 278, 276, 556, 1094, 1062, 875, 610, 722, 622, 719, 722, 719, 722, 567, 712, 667, 904, 626, 719, 719, 610, 702, 833, 722, 778, 719, 667, 722, 611, 622, 854, 667, 730, 703, 1005, 1019, 870, 979, 719, 711, 1031, 719, 556, 618, 615, 417, 635, 556, 709, 497, 615, 615, 500, 635, 740, 604, 611, 604, 611, 556, 490, 556, 875, 556, 615, 581, 833, 844, 729, 854, 615, 552, 854, 583, 556, 556, 611, 417, 552, 556, 278, 281, 278, 969, 906, 611, 500, 615, 556, 604, 778, 611, 487, 447, 944, 778, 944, 778, 944, 778, 667, 556, 333, 333, 556, 1e3, 1e3, 552, 278, 278, 278, 278, 500, 500, 500, 556, 556, 350, 1e3, 1e3, 240, 479, 333, 333, 604, 333, 167, 396, 556, 556, 1094, 556, 885, 489, 1115, 1e3, 768, 600, 834, 834, 834, 834, 1e3, 500, 1e3, 500, 1e3, 500, 500, 494, 612, 823, 713, 584, 549, 713, 979, 722, 274, 549, 549, 583, 549, 549, 604, 584, 604, 604, 708, 625, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 729, 604, 604, 354, 354, 1e3, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917, 750, 750, 531, 656, 594, 510, 500, 750, 750, 611, 611, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222, 333, 333, 333, 333, 333, 333, 333, 333], Ka = [-1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539, 710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211, 8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249, 8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541, 8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747, 8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516, 9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567, 9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616, 9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702, 9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], Ta = [365, 0, 333, 278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 333, 333, 584, 584, 584, 611, 975, 722, 722, 722, 722, 667, 611, 778, 722, 278, 556, 722, 611, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 333, 278, 333, 584, 556, 333, 556, 611, 556, 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, 611, 611, 611, 611, 389, 556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389, 584, 333, 556, 556, 556, 556, 280, 556, 333, 737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 556, 278, 333, 333, 365, 556, 834, 834, 834, 611, 722, 722, 722, 722, 722, 722, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 556, 556, 556, 556, 556, 278, 278, 278, 278, 611, 611, 611, 611, 611, 611, 611, 549, 611, 611, 611, 611, 611, 556, 611, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 740, 722, 611, 667, 556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 611, 778, 611, 778, 611, 778, 611, 722, 611, 722, 611, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 782, 556, 556, 278, 722, 556, 556, 611, 278, 611, 278, 611, 396, 611, 479, 611, 278, 722, 611, 722, 611, 722, 611, 708, 723, 611, 778, 611, 778, 611, 778, 611, 1e3, 944, 722, 389, 722, 389, 722, 389, 667, 556, 667, 556, 667, 556, 667, 556, 611, 333, 611, 479, 611, 333, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 944, 778, 667, 556, 667, 611, 500, 611, 500, 611, 500, 278, 556, 722, 556, 1e3, 889, 778, 611, 667, 556, 611, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 722, 333, 854, 906, 473, 844, 930, 847, 278, 722, 722, 610, 671, 667, 611, 722, 778, 278, 722, 667, 833, 722, 657, 778, 718, 667, 590, 611, 667, 822, 667, 829, 781, 278, 667, 620, 479, 611, 278, 591, 620, 621, 556, 610, 479, 492, 611, 558, 278, 566, 556, 603, 556, 450, 611, 712, 605, 532, 664, 409, 591, 704, 578, 773, 834, 278, 591, 611, 591, 834, 667, 667, 886, 614, 719, 667, 278, 278, 556, 1094, 1042, 854, 622, 719, 677, 719, 722, 708, 722, 614, 722, 667, 927, 643, 719, 719, 615, 687, 833, 722, 778, 719, 667, 722, 611, 677, 781, 667, 729, 708, 979, 989, 854, 1e3, 708, 719, 1042, 729, 556, 619, 604, 534, 618, 556, 736, 510, 611, 611, 507, 622, 740, 604, 611, 611, 611, 556, 889, 556, 885, 556, 646, 583, 889, 935, 707, 854, 594, 552, 865, 589, 556, 556, 611, 469, 563, 556, 278, 278, 278, 969, 906, 611, 507, 619, 556, 611, 778, 611, 575, 467, 944, 778, 944, 778, 944, 778, 667, 556, 333, 333, 556, 1e3, 1e3, 552, 278, 278, 278, 278, 500, 500, 500, 556, 556, 350, 1e3, 1e3, 240, 479, 333, 333, 604, 333, 167, 396, 556, 556, 1104, 556, 885, 516, 1146, 1e3, 768, 600, 834, 834, 834, 834, 999, 500, 1e3, 500, 1e3, 500, 500, 494, 612, 823, 713, 584, 549, 713, 979, 722, 274, 549, 549, 583, 549, 549, 604, 584, 604, 604, 708, 625, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 729, 604, 604, 354, 354, 1e3, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917, 750, 750, 531, 656, 594, 510, 500, 750, 750, 611, 611, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222, 333, 333, 333, 333, 333, 333, 333, 333], qa = [-1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539, 710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211, 8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249, 8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541, 8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747, 8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516, 9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567, 9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616, 9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702, 9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], Oa = [365, 0, 333, 278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 278, 278, 584, 584, 584, 556, 1015, 667, 667, 722, 722, 667, 611, 778, 722, 278, 500, 667, 556, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278, 278, 469, 556, 333, 556, 556, 500, 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, 556, 556, 556, 556, 333, 500, 278, 556, 500, 722, 500, 500, 500, 334, 260, 334, 584, 333, 556, 556, 556, 556, 260, 556, 333, 737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 537, 278, 333, 333, 365, 556, 834, 834, 834, 611, 667, 667, 667, 667, 667, 667, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 500, 556, 556, 556, 556, 278, 278, 278, 278, 556, 556, 556, 556, 556, 556, 556, 549, 611, 556, 556, 556, 556, 500, 556, 500, 667, 556, 667, 556, 667, 556, 722, 500, 722, 500, 722, 500, 722, 500, 722, 625, 722, 556, 667, 556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 556, 778, 556, 778, 556, 778, 556, 722, 556, 722, 556, 278, 278, 278, 278, 278, 278, 278, 222, 278, 278, 733, 444, 500, 222, 667, 500, 500, 556, 222, 556, 222, 556, 281, 556, 400, 556, 222, 722, 556, 722, 556, 722, 556, 615, 723, 556, 778, 556, 778, 556, 778, 556, 1e3, 944, 722, 333, 722, 333, 722, 333, 667, 500, 667, 500, 667, 500, 667, 500, 611, 278, 611, 354, 611, 278, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 944, 722, 667, 500, 667, 611, 500, 611, 500, 611, 500, 222, 556, 667, 556, 1e3, 889, 778, 611, 667, 500, 611, 278, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 667, 278, 789, 846, 389, 794, 865, 775, 222, 667, 667, 570, 671, 667, 611, 722, 778, 278, 667, 667, 833, 722, 648, 778, 725, 667, 600, 611, 667, 837, 667, 831, 761, 278, 667, 570, 439, 555, 222, 550, 570, 571, 500, 556, 439, 463, 555, 542, 222, 500, 492, 548, 500, 447, 556, 670, 573, 486, 603, 374, 550, 652, 546, 728, 779, 222, 550, 556, 550, 779, 667, 667, 843, 544, 708, 667, 278, 278, 500, 1066, 982, 844, 589, 715, 639, 724, 667, 651, 667, 544, 704, 667, 917, 614, 715, 715, 589, 686, 833, 722, 778, 725, 667, 722, 611, 639, 795, 667, 727, 673, 920, 923, 805, 886, 651, 694, 1022, 682, 556, 562, 522, 493, 553, 556, 688, 465, 556, 556, 472, 564, 686, 550, 556, 556, 556, 500, 833, 500, 835, 500, 572, 518, 830, 851, 621, 736, 526, 492, 752, 534, 556, 556, 556, 378, 496, 500, 222, 222, 222, 910, 828, 556, 472, 565, 500, 556, 778, 556, 492, 339, 944, 722, 944, 722, 944, 722, 667, 500, 333, 333, 556, 1e3, 1e3, 552, 222, 222, 222, 222, 333, 333, 333, 556, 556, 350, 1e3, 1e3, 188, 354, 333, 333, 500, 333, 167, 365, 556, 556, 1094, 556, 885, 323, 1083, 1e3, 768, 600, 834, 834, 834, 834, 1e3, 500, 998, 500, 1e3, 500, 500, 494, 612, 823, 713, 584, 549, 713, 979, 719, 274, 549, 549, 584, 549, 549, 604, 584, 604, 604, 708, 625, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 729, 604, 604, 354, 354, 1e3, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917, 750, 750, 531, 656, 594, 510, 500, 750, 750, 500, 500, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222, 294, 294, 324, 324, 316, 328, 398, 285], Pa = [-1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539, 710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211, 8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249, 8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541, 8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747, 8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516, 9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567, 9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616, 9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702, 9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], Wa = [365, 0, 333, 278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 278, 278, 584, 584, 584, 556, 1015, 667, 667, 722, 722, 667, 611, 778, 722, 278, 500, 667, 556, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278, 278, 469, 556, 333, 556, 556, 500, 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, 556, 556, 556, 556, 333, 500, 278, 556, 500, 722, 500, 500, 500, 334, 260, 334, 584, 333, 556, 556, 556, 556, 260, 556, 333, 737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 537, 278, 333, 333, 365, 556, 834, 834, 834, 611, 667, 667, 667, 667, 667, 667, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 500, 556, 556, 556, 556, 278, 278, 278, 278, 556, 556, 556, 556, 556, 556, 556, 549, 611, 556, 556, 556, 556, 500, 556, 500, 667, 556, 667, 556, 667, 556, 722, 500, 722, 500, 722, 500, 722, 500, 722, 615, 722, 556, 667, 556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 556, 778, 556, 778, 556, 778, 556, 722, 556, 722, 556, 278, 278, 278, 278, 278, 278, 278, 222, 278, 278, 735, 444, 500, 222, 667, 500, 500, 556, 222, 556, 222, 556, 292, 556, 334, 556, 222, 722, 556, 722, 556, 722, 556, 604, 723, 556, 778, 556, 778, 556, 778, 556, 1e3, 944, 722, 333, 722, 333, 722, 333, 667, 500, 667, 500, 667, 500, 667, 500, 611, 278, 611, 375, 611, 278, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 944, 722, 667, 500, 667, 611, 500, 611, 500, 611, 500, 222, 556, 667, 556, 1e3, 889, 778, 611, 667, 500, 611, 278, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 667, 278, 784, 838, 384, 774, 855, 752, 222, 667, 667, 551, 668, 667, 611, 722, 778, 278, 667, 668, 833, 722, 650, 778, 722, 667, 618, 611, 667, 798, 667, 835, 748, 278, 667, 578, 446, 556, 222, 547, 578, 575, 500, 557, 446, 441, 556, 556, 222, 500, 500, 576, 500, 448, 556, 690, 569, 482, 617, 395, 547, 648, 525, 713, 781, 222, 547, 556, 547, 781, 667, 667, 865, 542, 719, 667, 278, 278, 500, 1057, 1010, 854, 583, 722, 635, 719, 667, 656, 667, 542, 677, 667, 923, 604, 719, 719, 583, 656, 833, 722, 778, 719, 667, 722, 611, 635, 760, 667, 740, 667, 917, 938, 792, 885, 656, 719, 1010, 722, 556, 573, 531, 365, 583, 556, 669, 458, 559, 559, 438, 583, 688, 552, 556, 542, 556, 500, 458, 500, 823, 500, 573, 521, 802, 823, 625, 719, 521, 510, 750, 542, 556, 556, 556, 365, 510, 500, 222, 278, 222, 906, 812, 556, 438, 559, 500, 552, 778, 556, 489, 411, 944, 722, 944, 722, 944, 722, 667, 500, 333, 333, 556, 1e3, 1e3, 552, 222, 222, 222, 222, 333, 333, 333, 556, 556, 350, 1e3, 1e3, 188, 354, 333, 333, 500, 333, 167, 365, 556, 556, 1094, 556, 885, 323, 1073, 1e3, 768, 600, 834, 834, 834, 834, 1e3, 500, 1e3, 500, 1e3, 500, 500, 494, 612, 823, 713, 584, 549, 713, 979, 719, 274, 549, 549, 583, 549, 549, 604, 584, 604, 604, 708, 625, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 729, 604, 604, 354, 354, 1e3, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917, 750, 750, 531, 656, 594, 510, 500, 750, 750, 500, 500, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222, 294, 294, 324, 324, 316, 328, 398, 285], Xa = [-1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539, 710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211, 8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249, 8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541, 8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747, 8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516, 9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567, 9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616, 9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702, 9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], ja = [1.36898, 1, 1, .72706, .80479, .83734, .98894, .99793, .9897, .93884, .86209, .94292, .94292, 1.16661, 1.02058, .93582, .96694, .93582, 1.19137, .99793, .99793, .99793, .99793, .99793, .99793, .99793, .99793, .99793, .99793, .78076, .78076, 1.02058, 1.02058, 1.02058, .72851, .78966, .90838, .83637, .82391, .96376, .80061, .86275, .8768, .95407, 1.0258, .73901, .85022, .83655, 1.0156, .95546, .92179, .87107, .92179, .82114, .8096, .89713, .94438, .95353, .94083, .91905, .90406, .9446, .94292, 1.18777, .94292, 1.02058, .89903, .90088, .94938, .97898, .81093, .97571, .94938, 1.024, .9577, .95933, .98621, 1.0474, .97455, .98981, .9672, .95933, .9446, .97898, .97407, .97646, .78036, 1.10208, .95442, .95298, .97579, .9332, .94039, .938, .80687, 1.01149, .80687, 1.02058, .80479, .99793, .99793, .99793, .99793, 1.01149, 1.00872, .90088, .91882, 1.0213, .8361, 1.02058, .62295, .54324, .89022, 1.08595, 1, 1, .90088, 1, .97455, .93582, .90088, 1, 1.05686, .8361, .99642, .99642, .99642, .72851, .90838, .90838, .90838, .90838, .90838, .90838, .868, .82391, .80061, .80061, .80061, .80061, 1.0258, 1.0258, 1.0258, 1.0258, .97484, .95546, .92179, .92179, .92179, .92179, .92179, 1.02058, .92179, .94438, .94438, .94438, .94438, .90406, .86958, .98225, .94938, .94938, .94938, .94938, .94938, .94938, .9031, .81093, .94938, .94938, .94938, .94938, .98621, .98621, .98621, .98621, .93969, .95933, .9446, .9446, .9446, .9446, .9446, 1.08595, .9446, .95442, .95442, .95442, .95442, .94039, .97898, .94039, .90838, .94938, .90838, .94938, .90838, .94938, .82391, .81093, .82391, .81093, .82391, .81093, .82391, .81093, .96376, .84313, .97484, .97571, .80061, .94938, .80061, .94938, .80061, .94938, .80061, .94938, .80061, .94938, .8768, .9577, .8768, .9577, .8768, .9577, 1, 1, .95407, .95933, .97069, .95933, 1.0258, .98621, 1.0258, .98621, 1.0258, .98621, 1.0258, .98621, 1.0258, .98621, .887, 1.01591, .73901, 1.0474, 1, 1, .97455, .83655, .98981, 1, 1, .83655, .73977, .83655, .73903, .84638, 1.033, .95546, .95933, 1, 1, .95546, .95933, .8271, .95417, .95933, .92179, .9446, .92179, .9446, .92179, .9446, .936, .91964, .82114, .97646, 1, 1, .82114, .97646, .8096, .78036, .8096, .78036, 1, 1, .8096, .78036, 1, 1, .89713, .77452, .89713, 1.10208, .94438, .95442, .94438, .95442, .94438, .95442, .94438, .95442, .94438, .95442, .94438, .95442, .94083, .97579, .90406, .94039, .90406, .9446, .938, .9446, .938, .9446, .938, 1, .99793, .90838, .94938, .868, .9031, .92179, .9446, 1, 1, .89713, 1.10208, .90088, .90088, .90088, .90088, .90088, .90088, .90088, .90088, .90088, .90989, .9358, .91945, .83181, .75261, .87992, .82976, .96034, .83689, .97268, 1.0078, .90838, .83637, .8019, .90157, .80061, .9446, .95407, .92436, 1.0258, .85022, .97153, 1.0156, .95546, .89192, .92179, .92361, .87107, .96318, .89713, .93704, .95638, .91905, .91709, .92796, 1.0258, .93704, .94836, 1.0373, .95933, 1.0078, .95871, .94836, .96174, .92601, .9498, .98607, .95776, .95933, 1.05453, 1.0078, .98275, .9314, .95617, .91701, 1.05993, .9446, .78367, .9553, 1, .86832, 1.0128, .95871, .99394, .87548, .96361, .86774, 1.0078, .95871, .9446, .95871, .86774, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .94083, .97579, .94083, .97579, .94083, .97579, .90406, .94039, .96694, 1, .89903, 1, 1, 1, .93582, .93582, .93582, 1, .908, .908, .918, .94219, .94219, .96544, 1, 1.285, 1, 1, .81079, .81079, 1, 1, .74854, 1, 1, 1, 1, .99793, 1, 1, 1, .65, 1, 1.36145, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.17173, 1, .80535, .76169, 1.02058, 1.0732, 1.05486, 1, 1, 1.30692, 1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.16161, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], Za = { lineHeight: 1.2, lineGap: .2 }, Va = [1.36898, 1, 1, .66227, .80779, .81625, .97276, .97276, .97733, .92222, .83266, .94292, .94292, 1.16148, 1.02058, .93582, .96694, .93582, 1.17337, .97276, .97276, .97276, .97276, .97276, .97276, .97276, .97276, .97276, .97276, .78076, .78076, 1.02058, 1.02058, 1.02058, .71541, .76813, .85576, .80591, .80729, .94299, .77512, .83655, .86523, .92222, .98621, .71743, .81698, .79726, .98558, .92222, .90637, .83809, .90637, .80729, .76463, .86275, .90699, .91605, .9154, .85308, .85458, .90531, .94292, 1.21296, .94292, 1.02058, .89903, 1.18616, .99613, .91677, .78216, .91677, .90083, .98796, .9135, .92168, .95381, .98981, .95298, .95381, .93459, .92168, .91513, .92004, .91677, .95077, .748, 1.04502, .91677, .92061, .94236, .89544, .89364, .9, .80687, .8578, .80687, 1.02058, .80779, .97276, .97276, .97276, .97276, .8578, .99973, 1.18616, .91339, 1.08074, .82891, 1.02058, .55509, .71526, .89022, 1.08595, 1, 1, 1.18616, 1, .96736, .93582, 1.18616, 1, 1.04864, .82711, .99043, .99043, .99043, .71541, .85576, .85576, .85576, .85576, .85576, .85576, .845, .80729, .77512, .77512, .77512, .77512, .98621, .98621, .98621, .98621, .95961, .92222, .90637, .90637, .90637, .90637, .90637, 1.02058, .90251, .90699, .90699, .90699, .90699, .85458, .83659, .94951, .99613, .99613, .99613, .99613, .99613, .99613, .85811, .78216, .90083, .90083, .90083, .90083, .95381, .95381, .95381, .95381, .9135, .92168, .91513, .91513, .91513, .91513, .91513, 1.08595, .91677, .91677, .91677, .91677, .91677, .89364, .92332, .89364, .85576, .99613, .85576, .99613, .85576, .99613, .80729, .78216, .80729, .78216, .80729, .78216, .80729, .78216, .94299, .76783, .95961, .91677, .77512, .90083, .77512, .90083, .77512, .90083, .77512, .90083, .77512, .90083, .86523, .9135, .86523, .9135, .86523, .9135, 1, 1, .92222, .92168, .92222, .92168, .98621, .95381, .98621, .95381, .98621, .95381, .98621, .95381, .98621, .95381, .86036, .97096, .71743, .98981, 1, 1, .95298, .79726, .95381, 1, 1, .79726, .6894, .79726, .74321, .81691, 1.0006, .92222, .92168, 1, 1, .92222, .92168, .79464, .92098, .92168, .90637, .91513, .90637, .91513, .90637, .91513, .909, .87514, .80729, .95077, 1, 1, .80729, .95077, .76463, .748, .76463, .748, 1, 1, .76463, .748, 1, 1, .86275, .72651, .86275, 1.04502, .90699, .91677, .90699, .91677, .90699, .91677, .90699, .91677, .90699, .91677, .90699, .91677, .9154, .94236, .85458, .89364, .85458, .90531, .9, .90531, .9, .90531, .9, 1, .97276, .85576, .99613, .845, .85811, .90251, .91677, 1, 1, .86275, 1.04502, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.00899, 1.30628, .85576, .80178, .66862, .7927, .69323, .88127, .72459, .89711, .95381, .85576, .80591, .7805, .94729, .77512, .90531, .92222, .90637, .98621, .81698, .92655, .98558, .92222, .85359, .90637, .90976, .83809, .94523, .86275, .83509, .93157, .85308, .83392, .92346, .98621, .83509, .92886, .91324, .92168, .95381, .90646, .92886, .90557, .86847, .90276, .91324, .86842, .92168, .99531, .95381, .9224, .85408, .92699, .86847, 1.0051, .91513, .80487, .93481, 1, .88159, 1.05214, .90646, .97355, .81539, .89398, .85923, .95381, .90646, .91513, .90646, .85923, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .9154, .94236, .9154, .94236, .9154, .94236, .85458, .89364, .96694, 1, .89903, 1, 1, 1, .91782, .91782, .91782, 1, .896, .896, .896, .9332, .9332, .95973, 1, 1.26, 1, 1, .80479, .80178, 1, 1, .85633, 1, 1, 1, 1, .97276, 1, 1, 1, .698, 1, 1.36145, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.14542, 1, .79199, .78694, 1.02058, 1.03493, 1.05486, 1, 1, 1.23026, 1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.20006, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], za = { lineHeight: 1.2, lineGap: .2 }, _a = [1.36898, 1, 1, .65507, .84943, .85639, .88465, .88465, .86936, .88307, .86948, .85283, .85283, 1.06383, 1.02058, .75945, .9219, .75945, 1.17337, .88465, .88465, .88465, .88465, .88465, .88465, .88465, .88465, .88465, .88465, .75945, .75945, 1.02058, 1.02058, 1.02058, .69046, .70926, .85158, .77812, .76852, .89591, .70466, .76125, .80094, .86822, .83864, .728, .77212, .79475, .93637, .87514, .8588, .76013, .8588, .72421, .69866, .77598, .85991, .80811, .87832, .78112, .77512, .8562, 1.0222, 1.18417, 1.0222, 1.27014, .89903, 1.15012, .93859, .94399, .846, .94399, .81453, 1.0186, .94219, .96017, 1.03075, 1.02175, .912, 1.03075, .96998, .96017, .93859, .94399, .94399, .95493, .746, 1.12658, .94578, .91, .979, .882, .882, .83, .85034, .83537, .85034, 1.02058, .70869, .88465, .88465, .88465, .88465, .83537, .90083, 1.15012, .9161, .94565, .73541, 1.02058, .53609, .69353, .79519, 1.08595, 1, 1, 1.15012, 1, .91974, .75945, 1.15012, 1, .9446, .73361, .9005, .9005, .9005, .62864, .85158, .85158, .85158, .85158, .85158, .85158, .773, .76852, .70466, .70466, .70466, .70466, .83864, .83864, .83864, .83864, .90561, .87514, .8588, .8588, .8588, .8588, .8588, 1.02058, .85751, .85991, .85991, .85991, .85991, .77512, .76013, .88075, .93859, .93859, .93859, .93859, .93859, .93859, .8075, .846, .81453, .81453, .81453, .81453, .82424, .82424, .82424, .82424, .9278, .96017, .93859, .93859, .93859, .93859, .93859, 1.08595, .8562, .94578, .94578, .94578, .94578, .882, .94578, .882, .85158, .93859, .85158, .93859, .85158, .93859, .76852, .846, .76852, .846, .76852, .846, .76852, .846, .89591, .8544, .90561, .94399, .70466, .81453, .70466, .81453, .70466, .81453, .70466, .81453, .70466, .81453, .80094, .94219, .80094, .94219, .80094, .94219, 1, 1, .86822, .96017, .86822, .96017, .83864, .82424, .83864, .82424, .83864, .82424, .83864, 1.03075, .83864, .82424, .81402, 1.02738, .728, 1.02175, 1, 1, .912, .79475, 1.03075, 1, 1, .79475, .83911, .79475, .66266, .80553, 1.06676, .87514, .96017, 1, 1, .87514, .96017, .86865, .87396, .96017, .8588, .93859, .8588, .93859, .8588, .93859, .867, .84759, .72421, .95493, 1, 1, .72421, .95493, .69866, .746, .69866, .746, 1, 1, .69866, .746, 1, 1, .77598, .88417, .77598, 1.12658, .85991, .94578, .85991, .94578, .85991, .94578, .85991, .94578, .85991, .94578, .85991, .94578, .87832, .979, .77512, .882, .77512, .8562, .83, .8562, .83, .8562, .83, 1, .88465, .85158, .93859, .773, .8075, .85751, .8562, 1, 1, .77598, 1.12658, 1.15012, 1.15012, 1.15012, 1.15012, 1.15012, 1.15313, 1.15012, 1.15012, 1.15012, 1.08106, 1.03901, .85158, .77025, .62264, .7646, .65351, .86026, .69461, .89947, 1.03075, .85158, .77812, .76449, .88836, .70466, .8562, .86822, .8588, .83864, .77212, .85308, .93637, .87514, .82352, .8588, .85701, .76013, .89058, .77598, .8156, .82565, .78112, .77899, .89386, .83864, .8156, .9486, .92388, .96186, 1.03075, .91123, .9486, .93298, .878, .93942, .92388, .84596, .96186, .95119, 1.03075, .922, .88787, .95829, .88, .93559, .93859, .78815, .93758, 1, .89217, 1.03737, .91123, .93969, .77487, .85769, .86799, 1.03075, .91123, .93859, .91123, .86799, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .87832, .979, .87832, .979, .87832, .979, .77512, .882, .9219, 1, .89903, 1, 1, 1, .87321, .87321, .87321, 1, 1.027, 1.027, 1.027, .86847, .86847, .79121, 1, 1.124, 1, 1, .73572, .73572, 1, 1, .85034, 1, 1, 1, 1, .88465, 1, 1, 1, .669, 1, 1.36145, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.04828, 1, .74948, .75187, 1.02058, .98391, 1.02119, 1, 1, 1.06233, 1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.05233, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], $a = { lineHeight: 1.2, lineGap: .2 }, As = [1.36898, 1, 1, .76305, .82784, .94935, .89364, .92241, .89073, .90706, .98472, .85283, .85283, 1.0664, 1.02058, .74505, .9219, .74505, 1.23456, .92241, .92241, .92241, .92241, .92241, .92241, .92241, .92241, .92241, .92241, .74505, .74505, 1.02058, 1.02058, 1.02058, .73002, .72601, .91755, .8126, .80314, .92222, .73764, .79726, .83051, .90284, .86023, .74, .8126, .84869, .96518, .91115, .8858, .79761, .8858, .74498, .73914, .81363, .89591, .83659, .89633, .85608, .8111, .90531, 1.0222, 1.22736, 1.0222, 1.27014, .89903, .90088, .86667, 1.0231, .896, 1.01411, .90083, 1.05099, 1.00512, .99793, 1.05326, 1.09377, .938, 1.06226, 1.00119, .99793, .98714, 1.0231, 1.01231, .98196, .792, 1.19137, .99074, .962, 1.01915, .926, .942, .856, .85034, .92006, .85034, 1.02058, .69067, .92241, .92241, .92241, .92241, .92006, .9332, .90088, .91882, .93484, .75339, 1.02058, .56866, .54324, .79519, 1.08595, 1, 1, .90088, 1, .95325, .74505, .90088, 1, .97198, .75339, .91009, .91009, .91009, .66466, .91755, .91755, .91755, .91755, .91755, .91755, .788, .80314, .73764, .73764, .73764, .73764, .86023, .86023, .86023, .86023, .92915, .91115, .8858, .8858, .8858, .8858, .8858, 1.02058, .8858, .89591, .89591, .89591, .89591, .8111, .79611, .89713, .86667, .86667, .86667, .86667, .86667, .86667, .86936, .896, .90083, .90083, .90083, .90083, .84224, .84224, .84224, .84224, .97276, .99793, .98714, .98714, .98714, .98714, .98714, 1.08595, .89876, .99074, .99074, .99074, .99074, .942, 1.0231, .942, .91755, .86667, .91755, .86667, .91755, .86667, .80314, .896, .80314, .896, .80314, .896, .80314, .896, .92222, .93372, .92915, 1.01411, .73764, .90083, .73764, .90083, .73764, .90083, .73764, .90083, .73764, .90083, .83051, 1.00512, .83051, 1.00512, .83051, 1.00512, 1, 1, .90284, .99793, .90976, .99793, .86023, .84224, .86023, .84224, .86023, .84224, .86023, 1.05326, .86023, .84224, .82873, 1.07469, .74, 1.09377, 1, 1, .938, .84869, 1.06226, 1, 1, .84869, .83704, .84869, .81441, .85588, 1.08927, .91115, .99793, 1, 1, .91115, .99793, .91887, .90991, .99793, .8858, .98714, .8858, .98714, .8858, .98714, .894, .91434, .74498, .98196, 1, 1, .74498, .98196, .73914, .792, .73914, .792, 1, 1, .73914, .792, 1, 1, .81363, .904, .81363, 1.19137, .89591, .99074, .89591, .99074, .89591, .99074, .89591, .99074, .89591, .99074, .89591, .99074, .89633, 1.01915, .8111, .942, .8111, .90531, .856, .90531, .856, .90531, .856, 1, .92241, .91755, .86667, .788, .86936, .8858, .89876, 1, 1, .81363, 1.19137, .90088, .90088, .90088, .90088, .90088, .90088, .90088, .90088, .90088, .90388, 1.03901, .92138, .78105, .7154, .86169, .80513, .94007, .82528, .98612, 1.06226, .91755, .8126, .81884, .92819, .73764, .90531, .90284, .8858, .86023, .8126, .91172, .96518, .91115, .83089, .8858, .87791, .79761, .89297, .81363, .88157, .89992, .85608, .81992, .94307, .86023, .88157, .95308, .98699, .99793, 1.06226, .95817, .95308, .97358, .928, .98088, .98699, .92761, .99793, .96017, 1.06226, .986, .944, .95978, .938, .96705, .98714, .80442, .98972, 1, .89762, 1.04552, .95817, .99007, .87064, .91879, .88888, 1.06226, .95817, .98714, .95817, .88888, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .89633, 1.01915, .89633, 1.01915, .89633, 1.01915, .8111, .942, .9219, 1, .89903, 1, 1, 1, .93173, .93173, .93173, 1, 1.06304, 1.06304, 1.06904, .89903, .89903, .80549, 1, 1.156, 1, 1, .76575, .76575, 1, 1, .72458, 1, 1, 1, 1, .92241, 1, 1, 1, .619, 1, 1.36145, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.07257, 1, .74705, .71119, 1.02058, 1.024, 1.02119, 1, 1, 1.1536, 1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.05638, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], es = { lineHeight: 1.2, lineGap: .2 }, ts = [1.76738, 1, 1, .99297, .9824, 1.04016, 1.06497, 1.03424, .97529, 1.17647, 1.23203, 1.1085, 1.1085, 1.16939, 1.2107, .9754, 1.21408, .9754, 1.59578, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424, .81378, .81378, 1.2107, 1.2107, 1.2107, .71703, .97847, .97363, .88776, .8641, 1.02096, .79795, .85132, .914, 1.06085, 1.1406, .8007, .89858, .83693, 1.14889, 1.09398, .97489, .92094, .97489, .90399, .84041, .95923, 1.00135, 1, 1.06467, .98243, .90996, .99361, 1.1085, 1.56942, 1.1085, 1.2107, .74627, .94282, .96752, 1.01519, .86304, 1.01359, .97278, 1.15103, 1.01359, .98561, 1.02285, 1.02285, 1.00527, 1.02285, 1.0302, .99041, 1.0008, 1.01519, 1.01359, 1.02258, .79104, 1.16862, .99041, .97454, 1.02511, .99298, .96752, .95801, .94856, 1.16579, .94856, 1.2107, .9824, 1.03424, 1.03424, 1, 1.03424, 1.16579, .8727, 1.3871, 1.18622, 1.10818, 1.04478, 1.2107, 1.18622, .75155, .94994, 1.28826, 1.21408, 1.21408, .91056, 1, .91572, .9754, .64663, 1.18328, 1.24866, 1.04478, 1.14169, 1.15749, 1.17389, .71703, .97363, .97363, .97363, .97363, .97363, .97363, .93506, .8641, .79795, .79795, .79795, .79795, 1.1406, 1.1406, 1.1406, 1.1406, 1.02096, 1.09398, .97426, .97426, .97426, .97426, .97426, 1.2107, .97489, 1.00135, 1.00135, 1.00135, 1.00135, .90996, .92094, 1.02798, .96752, .96752, .96752, .96752, .96752, .96752, .93136, .86304, .97278, .97278, .97278, .97278, 1.02285, 1.02285, 1.02285, 1.02285, .97122, .99041, 1, 1, 1, 1, 1, 1.28826, 1.0008, .99041, .99041, .99041, .99041, .96752, 1.01519, .96752, .97363, .96752, .97363, .96752, .97363, .96752, .8641, .86304, .8641, .86304, .8641, .86304, .8641, .86304, 1.02096, 1.03057, 1.02096, 1.03517, .79795, .97278, .79795, .97278, .79795, .97278, .79795, .97278, .79795, .97278, .914, 1.01359, .914, 1.01359, .914, 1.01359, 1, 1, 1.06085, .98561, 1.06085, 1.00879, 1.1406, 1.02285, 1.1406, 1.02285, 1.1406, 1.02285, 1.1406, 1.02285, 1.1406, 1.02285, .97138, 1.08692, .8007, 1.02285, 1, 1, 1.00527, .83693, 1.02285, 1, 1, .83693, .9455, .83693, .90418, .83693, 1.13005, 1.09398, .99041, 1, 1, 1.09398, .99041, .96692, 1.09251, .99041, .97489, 1.0008, .97489, 1.0008, .97489, 1.0008, .93994, .97931, .90399, 1.02258, 1, 1, .90399, 1.02258, .84041, .79104, .84041, .79104, .84041, .79104, .84041, .79104, 1, 1, .95923, 1.07034, .95923, 1.16862, 1.00135, .99041, 1.00135, .99041, 1.00135, .99041, 1.00135, .99041, 1.00135, .99041, 1.00135, .99041, 1.06467, 1.02511, .90996, .96752, .90996, .99361, .95801, .99361, .95801, .99361, .95801, 1.07733, 1.03424, .97363, .96752, .93506, .93136, .97489, 1.0008, 1, 1, .95923, 1.16862, 1.15103, 1.15103, 1.01173, 1.03959, .75953, .81378, .79912, 1.15103, 1.21994, .95161, .87815, 1.01149, .81525, .7676, .98167, 1.01134, 1.02546, .84097, 1.03089, 1.18102, .97363, .88776, .85134, .97826, .79795, .99361, 1.06085, .97489, 1.1406, .89858, 1.0388, 1.14889, 1.09398, .86039, .97489, 1.0595, .92094, .94793, .95923, .90996, .99346, .98243, 1.02112, .95493, 1.1406, .90996, 1.03574, 1.02597, 1.0008, 1.18102, 1.06628, 1.03574, 1.0192, 1.01932, 1.00886, .97531, 1.0106, 1.0008, 1.13189, 1.18102, 1.02277, .98683, 1.0016, .99561, 1.07237, 1.0008, .90434, .99921, .93803, .8965, 1.23085, 1.06628, 1.04983, .96268, 1.0499, .98439, 1.18102, 1.06628, 1.0008, 1.06628, .98439, .79795, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.09466, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .97278, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.02065, 1, 1, 1, 1, 1, 1, 1.06467, 1.02511, 1.06467, 1.02511, 1.06467, 1.02511, .90996, .96752, 1, 1.21408, .89903, 1, 1, .75155, 1.04394, 1.04394, 1.04394, 1.04394, .98633, .98633, .98633, .73047, .73047, 1.20642, .91211, 1.25635, 1.222, 1.02956, 1.03372, 1.03372, .96039, 1.24633, 1, 1.12454, .93503, 1.03424, 1.19687, 1.03424, 1, 1, 1, .771, 1, 1, 1.15749, 1.15749, 1.15749, 1.10948, .86279, .94434, .86279, .94434, .86182, 1, 1, 1.16897, 1, .96085, .90137, 1.2107, 1.18416, 1.13973, .69825, .9716, 2.10339, 1.29004, 1.29004, 1.21172, 1.29004, 1.29004, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.42603, 1, .99862, .99862, 1, .87025, .87025, .87025, .87025, 1.18874, 1.42603, 1, 1.42603, 1.42603, .99862, 1, 1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.09193, 1.09193, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], is = { lineHeight: 1.33008, lineGap: 0 }, as = [1.76738, 1, 1, .98946, 1.03959, 1.04016, 1.02809, 1.036, .97639, 1.10953, 1.23203, 1.11144, 1.11144, 1.16939, 1.21237, .9754, 1.21261, .9754, 1.59754, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036, .81378, .81378, 1.21237, 1.21237, 1.21237, .73541, .97847, .97363, .89723, .87897, 1.0426, .79429, .85292, .91149, 1.05815, 1.1406, .79631, .90128, .83853, 1.04396, 1.10615, .97552, .94436, .97552, .88641, .80527, .96083, 1.00135, 1, 1.06777, .9817, .91142, .99361, 1.11144, 1.57293, 1.11144, 1.21237, .74627, 1.31818, 1.06585, .97042, .83055, .97042, .93503, 1.1261, .97042, .97922, 1.14236, .94552, 1.01054, 1.14236, 1.02471, .97922, .94165, .97042, .97042, 1.0276, .78929, 1.1261, .97922, .95874, 1.02197, .98507, .96752, .97168, .95107, 1.16579, .95107, 1.21237, 1.03959, 1.036, 1.036, 1, 1.036, 1.16579, .87357, 1.31818, 1.18754, 1.26781, 1.05356, 1.21237, 1.18622, .79487, .94994, 1.29004, 1.24047, 1.24047, 1.31818, 1, .91484, .9754, 1.31818, 1.1349, 1.24866, 1.05356, 1.13934, 1.15574, 1.17389, .73541, .97363, .97363, .97363, .97363, .97363, .97363, .94385, .87897, .79429, .79429, .79429, .79429, 1.1406, 1.1406, 1.1406, 1.1406, 1.0426, 1.10615, .97552, .97552, .97552, .97552, .97552, 1.21237, .97552, 1.00135, 1.00135, 1.00135, 1.00135, .91142, .94436, .98721, 1.06585, 1.06585, 1.06585, 1.06585, 1.06585, 1.06585, .96705, .83055, .93503, .93503, .93503, .93503, 1.14236, 1.14236, 1.14236, 1.14236, .93125, .97922, .94165, .94165, .94165, .94165, .94165, 1.29004, .94165, .97922, .97922, .97922, .97922, .96752, .97042, .96752, .97363, 1.06585, .97363, 1.06585, .97363, 1.06585, .87897, .83055, .87897, .83055, .87897, .83055, .87897, .83055, 1.0426, 1.0033, 1.0426, .97042, .79429, .93503, .79429, .93503, .79429, .93503, .79429, .93503, .79429, .93503, .91149, .97042, .91149, .97042, .91149, .97042, 1, 1, 1.05815, .97922, 1.05815, .97922, 1.1406, 1.14236, 1.1406, 1.14236, 1.1406, 1.14236, 1.1406, 1.14236, 1.1406, 1.14236, .97441, 1.04302, .79631, 1.01582, 1, 1, 1.01054, .83853, 1.14236, 1, 1, .83853, 1.09125, .83853, .90418, .83853, 1.19508, 1.10615, .97922, 1, 1, 1.10615, .97922, 1.01034, 1.10466, .97922, .97552, .94165, .97552, .94165, .97552, .94165, .91602, .91981, .88641, 1.0276, 1, 1, .88641, 1.0276, .80527, .78929, .80527, .78929, .80527, .78929, .80527, .78929, 1, 1, .96083, 1.05403, .95923, 1.16862, 1.00135, .97922, 1.00135, .97922, 1.00135, .97922, 1.00135, .97922, 1.00135, .97922, 1.00135, .97922, 1.06777, 1.02197, .91142, .96752, .91142, .99361, .97168, .99361, .97168, .99361, .97168, 1.23199, 1.036, .97363, 1.06585, .94385, .96705, .97552, .94165, 1, 1, .96083, 1.1261, 1.31818, 1.31818, 1.31818, 1.31818, 1.31818, 1.31818, 1.31818, 1.31818, 1.31818, .95161, 1.27126, 1.00811, .83284, .77702, .99137, .95253, 1.0347, .86142, 1.07205, 1.14236, .97363, .89723, .86869, 1.09818, .79429, .99361, 1.05815, .97552, 1.1406, .90128, 1.06662, 1.04396, 1.10615, .84918, .97552, 1.04694, .94436, .98015, .96083, .91142, 1.00356, .9817, 1.01945, .98999, 1.1406, .91142, 1.04961, .9898, 1.00639, 1.14236, 1.07514, 1.04961, .99607, 1.02897, 1.008, .9898, .95134, 1.00639, 1.11121, 1.14236, 1.00518, .97981, 1.02186, 1, 1.08578, .94165, .99314, .98387, .93028, .93377, 1.35125, 1.07514, 1.10687, .93491, 1.04232, 1.00351, 1.14236, 1.07514, .94165, 1.07514, 1.00351, .79429, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.09097, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .93503, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .96609, 1, 1, 1, 1, 1, 1, 1.06777, 1.02197, 1.06777, 1.02197, 1.06777, 1.02197, .91142, .96752, 1, 1.21261, .89903, 1, 1, .75155, 1.04745, 1.04745, 1.04745, 1.04394, .98633, .98633, .98633, .72959, .72959, 1.20502, .91406, 1.26514, 1.222, 1.02956, 1.03372, 1.03372, .96039, 1.24633, 1, 1.09125, .93327, 1.03336, 1.16541, 1.036, 1, 1, 1, .771, 1, 1, 1.15574, 1.15574, 1.15574, 1.15574, .86364, .94434, .86279, .94434, .86224, 1, 1, 1.16798, 1, .96085, .90068, 1.21237, 1.18416, 1.13904, .69825, .9716, 2.10339, 1.29004, 1.29004, 1.21339, 1.29004, 1.29004, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.42603, 1, .99862, .99862, 1, .87025, .87025, .87025, .87025, 1.18775, 1.42603, 1, 1.42603, 1.42603, .99862, 1, 1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.13269, 1.13269, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], ss = { lineHeight: 1.33008, lineGap: 0 }, rs = [1.76738, 1, 1, .98946, 1.14763, 1.05365, 1.06234, .96927, .92586, 1.15373, 1.18414, .91349, .91349, 1.07403, 1.17308, .78383, 1.20088, .78383, 1.42531, .96927, .96927, .96927, .96927, .96927, .96927, .96927, .96927, .96927, .96927, .78383, .78383, 1.17308, 1.17308, 1.17308, .77349, .94565, .94729, .85944, .88506, .9858, .74817, .80016, .88449, .98039, .95782, .69238, .89898, .83231, .98183, 1.03989, .96924, .86237, .96924, .80595, .74524, .86091, .95402, .94143, .98448, .8858, .83089, .93285, 1.0949, 1.39016, 1.0949, 1.45994, .74627, 1.04839, .97454, .97454, .87207, .97454, .87533, 1.06151, .97454, 1.00176, 1.16484, 1.08132, .98047, 1.16484, 1.02989, 1.01054, .96225, .97454, .97454, 1.06598, .79004, 1.16344, 1.00351, .94629, .9973, .91016, .96777, .9043, .91082, .92481, .91082, 1.17308, .95748, .96927, .96927, 1, .96927, .92481, .80597, 1.04839, 1.23393, 1.1781, .9245, 1.17308, 1.20808, .63218, .94261, 1.24822, 1.09971, 1.09971, 1.04839, 1, .85273, .78032, 1.04839, 1.09971, 1.22326, .9245, 1.09836, 1.13525, 1.15222, .70424, .94729, .94729, .94729, .94729, .94729, .94729, .85498, .88506, .74817, .74817, .74817, .74817, .95782, .95782, .95782, .95782, .9858, 1.03989, .96924, .96924, .96924, .96924, .96924, 1.17308, .96924, .95402, .95402, .95402, .95402, .83089, .86237, .88409, .97454, .97454, .97454, .97454, .97454, .97454, .92916, .87207, .87533, .87533, .87533, .87533, .93146, .93146, .93146, .93146, .93854, 1.01054, .96225, .96225, .96225, .96225, .96225, 1.24822, .8761, 1.00351, 1.00351, 1.00351, 1.00351, .96777, .97454, .96777, .94729, .97454, .94729, .97454, .94729, .97454, .88506, .87207, .88506, .87207, .88506, .87207, .88506, .87207, .9858, .95391, .9858, .97454, .74817, .87533, .74817, .87533, .74817, .87533, .74817, .87533, .74817, .87533, .88449, .97454, .88449, .97454, .88449, .97454, 1, 1, .98039, 1.00176, .98039, 1.00176, .95782, .93146, .95782, .93146, .95782, .93146, .95782, 1.16484, .95782, .93146, .84421, 1.12761, .69238, 1.08132, 1, 1, .98047, .83231, 1.16484, 1, 1, .84723, 1.04861, .84723, .78755, .83231, 1.23736, 1.03989, 1.01054, 1, 1, 1.03989, 1.01054, .9857, 1.03849, 1.01054, .96924, .96225, .96924, .96225, .96924, .96225, .92383, .90171, .80595, 1.06598, 1, 1, .80595, 1.06598, .74524, .79004, .74524, .79004, .74524, .79004, .74524, .79004, 1, 1, .86091, 1.02759, .85771, 1.16344, .95402, 1.00351, .95402, 1.00351, .95402, 1.00351, .95402, 1.00351, .95402, 1.00351, .95402, 1.00351, .98448, .9973, .83089, .96777, .83089, .93285, .9043, .93285, .9043, .93285, .9043, 1.31868, .96927, .94729, .97454, .85498, .92916, .96924, .8761, 1, 1, .86091, 1.16344, 1.04839, 1.04839, 1.04839, 1.04839, 1.04839, 1.04839, 1.04839, 1.04839, 1.04839, .81965, .81965, .94729, .78032, .71022, .90883, .84171, .99877, .77596, 1.05734, 1.2, .94729, .85944, .82791, .9607, .74817, .93285, .98039, .96924, .95782, .89898, .98316, .98183, 1.03989, .78614, .96924, .97642, .86237, .86075, .86091, .83089, .90082, .8858, .97296, 1.01284, .95782, .83089, 1.0976, 1.04, 1.03342, 1.2, 1.0675, 1.0976, .98205, 1.03809, 1.05097, 1.04, .95364, 1.03342, 1.05401, 1.2, 1.02148, 1.0119, 1.04724, 1.0127, 1.02732, .96225, .8965, .97783, .93574, .94818, 1.30679, 1.0675, 1.11826, .99821, 1.0557, 1.0326, 1.2, 1.0675, .96225, 1.0675, 1.0326, .74817, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.03754, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .87533, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .98705, 1, 1, 1, 1, 1, 1, .98448, .9973, .98448, .9973, .98448, .9973, .83089, .96777, 1, 1.20088, .89903, 1, 1, .75155, .94945, .94945, .94945, .94945, 1.12317, 1.12317, 1.12317, .67603, .67603, 1.15621, .73584, 1.21191, 1.22135, 1.06483, .94868, .94868, .95996, 1.24633, 1, 1.07497, .87709, .96927, 1.01473, .96927, 1, 1, 1, .77295, 1, 1, 1.09836, 1.09836, 1.09836, 1.01522, .86321, .94434, .8649, .94434, .86182, 1, 1, 1.083, 1, .91578, .86438, 1.17308, 1.18416, 1.14589, .69825, .97622, 1.96791, 1.24822, 1.24822, 1.17308, 1.24822, 1.24822, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.42603, 1, .99862, .99862, 1, .87025, .87025, .87025, .87025, 1.17984, 1.42603, 1, 1.42603, 1.42603, .99862, 1, 1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.10742, 1.10742, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], ns = { lineHeight: 1.33008, lineGap: 0 }, os = [1.76738, 1, 1, .98594, 1.02285, 1.10454, 1.06234, .96927, .92037, 1.19985, 1.2046, .90616, .90616, 1.07152, 1.1714, .78032, 1.20088, .78032, 1.40246, .96927, .96927, .96927, .96927, .96927, .96927, .96927, .96927, .96927, .96927, .78032, .78032, 1.1714, 1.1714, 1.1714, .80597, .94084, .96706, .85944, .85734, .97093, .75842, .79936, .88198, .9831, .95782, .71387, .86969, .84636, 1.07796, 1.03584, .96924, .83968, .96924, .82826, .79649, .85771, .95132, .93119, .98965, .88433, .8287, .93365, 1.08612, 1.3638, 1.08612, 1.45786, .74627, .80499, .91484, 1.05707, .92383, 1.05882, .9403, 1.12654, 1.05882, 1.01756, 1.09011, 1.09011, .99414, 1.09011, 1.034, 1.01756, 1.05356, 1.05707, 1.05882, 1.04399, .84863, 1.21968, 1.01756, .95801, 1.00068, .91797, .96777, .9043, .90351, .92105, .90351, 1.1714, .85337, .96927, .96927, .99912, .96927, .92105, .80597, 1.2434, 1.20808, 1.05937, .90957, 1.1714, 1.20808, .75155, .94261, 1.24644, 1.09971, 1.09971, .84751, 1, .85273, .78032, .61584, 1.05425, 1.17914, .90957, 1.08665, 1.11593, 1.14169, .73381, .96706, .96706, .96706, .96706, .96706, .96706, .86035, .85734, .75842, .75842, .75842, .75842, .95782, .95782, .95782, .95782, .97093, 1.03584, .96924, .96924, .96924, .96924, .96924, 1.1714, .96924, .95132, .95132, .95132, .95132, .8287, .83968, .89049, .91484, .91484, .91484, .91484, .91484, .91484, .93575, .92383, .9403, .9403, .9403, .9403, .8717, .8717, .8717, .8717, 1.00527, 1.01756, 1.05356, 1.05356, 1.05356, 1.05356, 1.05356, 1.24644, .95923, 1.01756, 1.01756, 1.01756, 1.01756, .96777, 1.05707, .96777, .96706, .91484, .96706, .91484, .96706, .91484, .85734, .92383, .85734, .92383, .85734, .92383, .85734, .92383, .97093, 1.0969, .97093, 1.05882, .75842, .9403, .75842, .9403, .75842, .9403, .75842, .9403, .75842, .9403, .88198, 1.05882, .88198, 1.05882, .88198, 1.05882, 1, 1, .9831, 1.01756, .9831, 1.01756, .95782, .8717, .95782, .8717, .95782, .8717, .95782, 1.09011, .95782, .8717, .84784, 1.11551, .71387, 1.09011, 1, 1, .99414, .84636, 1.09011, 1, 1, .84636, 1.0536, .84636, .94298, .84636, 1.23297, 1.03584, 1.01756, 1, 1, 1.03584, 1.01756, 1.00323, 1.03444, 1.01756, .96924, 1.05356, .96924, 1.05356, .96924, 1.05356, .93066, .98293, .82826, 1.04399, 1, 1, .82826, 1.04399, .79649, .84863, .79649, .84863, .79649, .84863, .79649, .84863, 1, 1, .85771, 1.17318, .85771, 1.21968, .95132, 1.01756, .95132, 1.01756, .95132, 1.01756, .95132, 1.01756, .95132, 1.01756, .95132, 1.01756, .98965, 1.00068, .8287, .96777, .8287, .93365, .9043, .93365, .9043, .93365, .9043, 1.08571, .96927, .96706, .91484, .86035, .93575, .96924, .95923, 1, 1, .85771, 1.21968, 1.11437, 1.11437, .93109, .91202, .60411, .84164, .55572, 1.01173, .97361, .81818, .81818, .96635, .78032, .72727, .92366, .98601, 1.03405, .77968, 1.09799, 1.2, .96706, .85944, .85638, .96491, .75842, .93365, .9831, .96924, .95782, .86969, .94152, 1.07796, 1.03584, .78437, .96924, .98715, .83968, .83491, .85771, .8287, .94492, .88433, .9287, 1.0098, .95782, .8287, 1.0625, .98248, 1.03424, 1.2, 1.01071, 1.0625, .95246, 1.03809, 1.04912, .98248, 1.00221, 1.03424, 1.05443, 1.2, 1.04785, .99609, 1.00169, 1.05176, .99346, 1.05356, .9087, 1.03004, .95542, .93117, 1.23362, 1.01071, 1.07831, 1.02512, 1.05205, 1.03502, 1.2, 1.01071, 1.05356, 1.01071, 1.03502, .75842, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.03719, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, .9403, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.04021, 1, 1, 1, 1, 1, 1, .98965, 1.00068, .98965, 1.00068, .98965, 1.00068, .8287, .96777, 1, 1.20088, .89903, 1, 1, .75155, 1.03077, 1.03077, 1.03077, 1.03077, 1.13196, 1.13196, 1.13196, .67428, .67428, 1.16039, .73291, 1.20996, 1.22135, 1.06483, .94868, .94868, .95996, 1.24633, 1, 1.07497, .87796, .96927, 1.01518, .96927, 1, 1, 1, .77295, 1, 1, 1.10539, 1.10539, 1.11358, 1.06967, .86279, .94434, .86279, .94434, .86182, 1, 1, 1.083, 1, .91578, .86507, 1.1714, 1.18416, 1.14589, .69825, .97622, 1.9697, 1.24822, 1.24822, 1.17238, 1.24822, 1.24822, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.42603, 1, .99862, .99862, 1, .87025, .87025, .87025, .87025, 1.18083, 1.42603, 1, 1.42603, 1.42603, .99862, 1, 1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.10938, 1.10938, 1, 1, 1, 1.05425, 1.09971, 1.09971, 1.09971, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], gs = { lineHeight: 1.33008, lineGap: 0 }, Is = getLookupTableFactory((function (e) { e["MyriadPro-Regular"] = e["PdfJS-Fallback-Regular"] = { name: "LiberationSans-Regular", factors: As, baseWidths: Wa, baseMapping: Xa, metrics: es }; e["MyriadPro-Bold"] = e["PdfJS-Fallback-Bold"] = { name: "LiberationSans-Bold", factors: ja, baseWidths: va, baseMapping: Ka, metrics: Za }; e["MyriadPro-It"] = e["MyriadPro-Italic"] = e["PdfJS-Fallback-Italic"] = { name: "LiberationSans-Italic", factors: _a, baseWidths: Oa, baseMapping: Pa, metrics: $a }; e["MyriadPro-BoldIt"] = e["MyriadPro-BoldItalic"] = e["PdfJS-Fallback-BoldItalic"] = { name: "LiberationSans-BoldItalic", factors: Va, baseWidths: Ta, baseMapping: qa, metrics: za }; e.ArialMT = e.Arial = e["Arial-Regular"] = { name: "LiberationSans-Regular", baseWidths: Wa, baseMapping: Xa }; e["Arial-BoldMT"] = e["Arial-Bold"] = { name: "LiberationSans-Bold", baseWidths: va, baseMapping: Ka }; e["Arial-ItalicMT"] = e["Arial-Italic"] = { name: "LiberationSans-Italic", baseWidths: Oa, baseMapping: Pa }; e["Arial-BoldItalicMT"] = e["Arial-BoldItalic"] = { name: "LiberationSans-BoldItalic", baseWidths: Ta, baseMapping: qa }; e["Calibri-Regular"] = { name: "LiberationSans-Regular", factors: Ra, baseWidths: Wa, baseMapping: Xa, metrics: Na }; e["Calibri-Bold"] = { name: "LiberationSans-Bold", factors: wa, baseWidths: va, baseMapping: Ka, metrics: ba }; e["Calibri-Italic"] = { name: "LiberationSans-Italic", factors: Sa, baseWidths: Oa, baseMapping: Pa, metrics: ka }; e["Calibri-BoldItalic"] = { name: "LiberationSans-BoldItalic", factors: Da, baseWidths: Ta, baseMapping: qa, metrics: Fa }; e["Segoeui-Regular"] = { name: "LiberationSans-Regular", factors: os, baseWidths: Wa, baseMapping: Xa, metrics: gs }; e["Segoeui-Bold"] = { name: "LiberationSans-Bold", factors: ts, baseWidths: va, baseMapping: Ka, metrics: is }; e["Segoeui-Italic"] = { name: "LiberationSans-Italic", factors: rs, baseWidths: Oa, baseMapping: Pa, metrics: ns }; e["Segoeui-BoldItalic"] = { name: "LiberationSans-BoldItalic", factors: as, baseWidths: Ta, baseMapping: qa, metrics: ss }; e["Helvetica-Regular"] = e.Helvetica = { name: "LiberationSans-Regular", factors: Ha, baseWidths: Wa, baseMapping: Xa, metrics: Ya }; e["Helvetica-Bold"] = { name: "LiberationSans-Bold", factors: Ga, baseWidths: va, baseMapping: Ka, metrics: xa }; e["Helvetica-Italic"] = { name: "LiberationSans-Italic", factors: La, baseWidths: Oa, baseMapping: Pa, metrics: Ja }; e["Helvetica-BoldItalic"] = { name: "LiberationSans-BoldItalic", factors: Ma, baseWidths: Ta, baseMapping: qa, metrics: Ua }; }));
  9871. function getXfaFontName(e) { var t = normalizeFontName(e); return Is()[t]; }
  9872. function getXfaFontDict(e) { var t = function getXfaFontWidths(e) { var t = getXfaFontName(e); if (!t)
  9873. return null; var i = t.baseWidths, a = t.baseMapping, s = t.factors, r = s ? i.map((function (e, t) { return e * s[t]; })) : i; var n, o = -2; var g = []; for (var _b = 0, _h = a.map((function (e, t) { return [e, t]; })).sort((function (_b, _h) {
  9874. var e = _b[0];
  9875. var t = _h[0];
  9876. return e - t;
  9877. })); _b < _h.length; _b++) {
  9878. var _j = _h[_b], e_249 = _j[0], t_180 = _j[1];
  9879. if (-1 !== e_249)
  9880. if (e_249 === o + 1) {
  9881. n.push(r[t_180]);
  9882. o += 1;
  9883. }
  9884. else {
  9885. o = e_249;
  9886. n = [r[t_180]];
  9887. g.push(e_249, n);
  9888. }
  9889. } return g; }(e), i = new Dict(null); i.set("BaseFont", Name.get(e)); i.set("Type", Name.get("Font")); i.set("Subtype", Name.get("CIDFontType2")); i.set("Encoding", Name.get("Identity-H")); i.set("CIDToGIDMap", Name.get("Identity")); i.set("W", t); i.set("FirstChar", t[0]); i.set("LastChar", t.at(-2) + t.at(-1).length - 1); var a = new Dict(null); i.set("FontDescriptor", a); var s = new Dict(null); s.set("Ordering", "Identity"); s.set("Registry", "Adobe"); s.set("Supplement", 0); i.set("CIDSystemInfo", s); return i; }
  9890. var PostScriptParser = /** @class */ (function () {
  9891. function PostScriptParser(e) {
  9892. this.lexer = e;
  9893. this.operators = [];
  9894. this.token = null;
  9895. this.prev = null;
  9896. }
  9897. PostScriptParser.prototype.nextToken = function () { this.prev = this.token; this.token = this.lexer.getToken(); };
  9898. PostScriptParser.prototype.accept = function (e) { if (this.token.type === e) {
  9899. this.nextToken();
  9900. return !0;
  9901. } return !1; };
  9902. PostScriptParser.prototype.expect = function (e) { if (this.accept(e))
  9903. return !0; throw new FormatError("Unexpected symbol: found ".concat(this.token.type, " expected ").concat(e, ".")); };
  9904. PostScriptParser.prototype.parse = function () { this.nextToken(); this.expect(cs.LBRACE); this.parseBlock(); this.expect(cs.RBRACE); return this.operators; };
  9905. PostScriptParser.prototype.parseBlock = function () { for (;;)
  9906. if (this.accept(cs.NUMBER))
  9907. this.operators.push(this.prev.value);
  9908. else if (this.accept(cs.OPERATOR))
  9909. this.operators.push(this.prev.value);
  9910. else {
  9911. if (!this.accept(cs.LBRACE))
  9912. return;
  9913. this.parseCondition();
  9914. } };
  9915. PostScriptParser.prototype.parseCondition = function () { var e = this.operators.length; this.operators.push(null, null); this.parseBlock(); this.expect(cs.RBRACE); if (this.accept(cs.IF)) {
  9916. this.operators[e] = this.operators.length;
  9917. this.operators[e + 1] = "jz";
  9918. }
  9919. else {
  9920. if (!this.accept(cs.LBRACE))
  9921. throw new FormatError("PS Function: error parsing conditional.");
  9922. {
  9923. var t_181 = this.operators.length;
  9924. this.operators.push(null, null);
  9925. var i_177 = this.operators.length;
  9926. this.parseBlock();
  9927. this.expect(cs.RBRACE);
  9928. this.expect(cs.IFELSE);
  9929. this.operators[t_181] = this.operators.length;
  9930. this.operators[t_181 + 1] = "j";
  9931. this.operators[e] = i_177;
  9932. this.operators[e + 1] = "jz";
  9933. }
  9934. } };
  9935. return PostScriptParser;
  9936. }());
  9937. var cs = { LBRACE: 0, RBRACE: 1, NUMBER: 2, OPERATOR: 3, IF: 4, IFELSE: 5 };
  9938. var PostScriptToken = /** @class */ (function () {
  9939. function PostScriptToken(e, t) {
  9940. this.type = e;
  9941. this.value = t;
  9942. }
  9943. Object.defineProperty(PostScriptToken, "opCache", {
  9944. get: function () { return shadow(this, "opCache", Object.create(null)); },
  9945. enumerable: false,
  9946. configurable: true
  9947. });
  9948. PostScriptToken.getOperator = function (e) { var _b; return (_b = PostScriptToken.opCache)[e] || (_b[e] = new PostScriptToken(cs.OPERATOR, e)); };
  9949. Object.defineProperty(PostScriptToken, "LBRACE", {
  9950. get: function () { return shadow(this, "LBRACE", new PostScriptToken(cs.LBRACE, "{")); },
  9951. enumerable: false,
  9952. configurable: true
  9953. });
  9954. Object.defineProperty(PostScriptToken, "RBRACE", {
  9955. get: function () { return shadow(this, "RBRACE", new PostScriptToken(cs.RBRACE, "}")); },
  9956. enumerable: false,
  9957. configurable: true
  9958. });
  9959. Object.defineProperty(PostScriptToken, "IF", {
  9960. get: function () { return shadow(this, "IF", new PostScriptToken(cs.IF, "IF")); },
  9961. enumerable: false,
  9962. configurable: true
  9963. });
  9964. Object.defineProperty(PostScriptToken, "IFELSE", {
  9965. get: function () { return shadow(this, "IFELSE", new PostScriptToken(cs.IFELSE, "IFELSE")); },
  9966. enumerable: false,
  9967. configurable: true
  9968. });
  9969. return PostScriptToken;
  9970. }());
  9971. var PostScriptLexer = /** @class */ (function () {
  9972. function PostScriptLexer(e) {
  9973. this.stream = e;
  9974. this.nextChar();
  9975. this.strBuf = [];
  9976. }
  9977. PostScriptLexer.prototype.nextChar = function () { return this.currentChar = this.stream.getByte(); };
  9978. PostScriptLexer.prototype.getToken = function () { var e = !1, t = this.currentChar; for (;;) {
  9979. if (t < 0)
  9980. return pt;
  9981. if (e)
  9982. 10 !== t && 13 !== t || (e = !1);
  9983. else if (37 === t)
  9984. e = !0;
  9985. else if (!isWhiteSpace(t))
  9986. break;
  9987. t = this.nextChar();
  9988. } switch (0 | t) {
  9989. case 48:
  9990. case 49:
  9991. case 50:
  9992. case 51:
  9993. case 52:
  9994. case 53:
  9995. case 54:
  9996. case 55:
  9997. case 56:
  9998. case 57:
  9999. case 43:
  10000. case 45:
  10001. case 46: return new PostScriptToken(cs.NUMBER, this.getNumber());
  10002. case 123:
  10003. this.nextChar();
  10004. return PostScriptToken.LBRACE;
  10005. case 125:
  10006. this.nextChar();
  10007. return PostScriptToken.RBRACE;
  10008. } var i = this.strBuf; i.length = 0; i[0] = String.fromCharCode(t); for (; (t = this.nextChar()) >= 0 && (t >= 65 && t <= 90 || t >= 97 && t <= 122);)
  10009. i.push(String.fromCharCode(t)); var a = i.join(""); switch (a.toLowerCase()) {
  10010. case "if": return PostScriptToken.IF;
  10011. case "ifelse": return PostScriptToken.IFELSE;
  10012. default: return PostScriptToken.getOperator(a);
  10013. } };
  10014. PostScriptLexer.prototype.getNumber = function () { var e = this.currentChar; var t = this.strBuf; t.length = 0; t[0] = String.fromCharCode(e); for (; (e = this.nextChar()) >= 0 && (e >= 48 && e <= 57 || 45 === e || 46 === e);)
  10015. t.push(String.fromCharCode(e)); var i = parseFloat(t.join("")); if (isNaN(i))
  10016. throw new FormatError("Invalid floating point number: ".concat(i)); return i; };
  10017. return PostScriptLexer;
  10018. }());
  10019. var BaseLocalCache = /** @class */ (function () {
  10020. function BaseLocalCache(e) {
  10021. this.constructor === BaseLocalCache && unreachable("Cannot initialize BaseLocalCache.");
  10022. this._onlyRefs = !0 === (e === null || e === void 0 ? void 0 : e.onlyRefs);
  10023. if (!this._onlyRefs) {
  10024. this._nameRefMap = new Map;
  10025. this._imageMap = new Map;
  10026. }
  10027. this._imageCache = new RefSetCache;
  10028. }
  10029. BaseLocalCache.prototype.getByName = function (e) { this._onlyRefs && unreachable("Should not call `getByName` method."); var t = this._nameRefMap.get(e); return t ? this.getByRef(t) : this._imageMap.get(e) || null; };
  10030. BaseLocalCache.prototype.getByRef = function (e) { return this._imageCache.get(e) || null; };
  10031. BaseLocalCache.prototype.set = function (e, t, i) { unreachable("Abstract method `set` called."); };
  10032. return BaseLocalCache;
  10033. }());
  10034. var LocalImageCache = /** @class */ (function (_super) {
  10035. tslib_1.__extends(LocalImageCache, _super);
  10036. function LocalImageCache() {
  10037. return _super !== null && _super.apply(this, arguments) || this;
  10038. }
  10039. LocalImageCache.prototype.set = function (e, t, i) {
  10040. if (t === void 0) { t = null; }
  10041. if ("string" != typeof e)
  10042. throw new Error('LocalImageCache.set - expected "name" argument.');
  10043. if (t) {
  10044. if (this._imageCache.has(t))
  10045. return;
  10046. this._nameRefMap.set(e, t);
  10047. this._imageCache.put(t, i);
  10048. }
  10049. else
  10050. this._imageMap.has(e) || this._imageMap.set(e, i);
  10051. };
  10052. return LocalImageCache;
  10053. }(BaseLocalCache));
  10054. var LocalColorSpaceCache = /** @class */ (function (_super) {
  10055. tslib_1.__extends(LocalColorSpaceCache, _super);
  10056. function LocalColorSpaceCache() {
  10057. return _super !== null && _super.apply(this, arguments) || this;
  10058. }
  10059. LocalColorSpaceCache.prototype.set = function (e, t, i) {
  10060. if (e === void 0) { e = null; }
  10061. if (t === void 0) { t = null; }
  10062. if ("string" != typeof e && !t)
  10063. throw new Error('LocalColorSpaceCache.set - expected "name" and/or "ref" argument.');
  10064. if (t) {
  10065. if (this._imageCache.has(t))
  10066. return;
  10067. null !== e && this._nameRefMap.set(e, t);
  10068. this._imageCache.put(t, i);
  10069. }
  10070. else
  10071. this._imageMap.has(e) || this._imageMap.set(e, i);
  10072. };
  10073. return LocalColorSpaceCache;
  10074. }(BaseLocalCache));
  10075. var LocalFunctionCache = /** @class */ (function (_super) {
  10076. tslib_1.__extends(LocalFunctionCache, _super);
  10077. function LocalFunctionCache(e) {
  10078. return _super.call(this, { onlyRefs: !0 }) || this;
  10079. }
  10080. LocalFunctionCache.prototype.set = function (e, t, i) {
  10081. if (e === void 0) { e = null; }
  10082. if (!t)
  10083. throw new Error('LocalFunctionCache.set - expected "ref" argument.');
  10084. this._imageCache.has(t) || this._imageCache.put(t, i);
  10085. };
  10086. return LocalFunctionCache;
  10087. }(BaseLocalCache));
  10088. var LocalGStateCache = /** @class */ (function (_super) {
  10089. tslib_1.__extends(LocalGStateCache, _super);
  10090. function LocalGStateCache() {
  10091. return _super !== null && _super.apply(this, arguments) || this;
  10092. }
  10093. LocalGStateCache.prototype.set = function (e, t, i) {
  10094. if (t === void 0) { t = null; }
  10095. if ("string" != typeof e)
  10096. throw new Error('LocalGStateCache.set - expected "name" argument.');
  10097. if (t) {
  10098. if (this._imageCache.has(t))
  10099. return;
  10100. this._nameRefMap.set(e, t);
  10101. this._imageCache.put(t, i);
  10102. }
  10103. else
  10104. this._imageMap.has(e) || this._imageMap.set(e, i);
  10105. };
  10106. return LocalGStateCache;
  10107. }(BaseLocalCache));
  10108. var LocalTilingPatternCache = /** @class */ (function (_super) {
  10109. tslib_1.__extends(LocalTilingPatternCache, _super);
  10110. function LocalTilingPatternCache(e) {
  10111. return _super.call(this, { onlyRefs: !0 }) || this;
  10112. }
  10113. LocalTilingPatternCache.prototype.set = function (e, t, i) {
  10114. if (e === void 0) { e = null; }
  10115. if (!t)
  10116. throw new Error('LocalTilingPatternCache.set - expected "ref" argument.');
  10117. this._imageCache.has(t) || this._imageCache.put(t, i);
  10118. };
  10119. return LocalTilingPatternCache;
  10120. }(BaseLocalCache));
  10121. var RegionalImageCache = /** @class */ (function (_super) {
  10122. tslib_1.__extends(RegionalImageCache, _super);
  10123. function RegionalImageCache(e) {
  10124. return _super.call(this, { onlyRefs: !0 }) || this;
  10125. }
  10126. RegionalImageCache.prototype.set = function (e, t, i) {
  10127. if (e === void 0) { e = null; }
  10128. if (!t)
  10129. throw new Error('RegionalImageCache.set - expected "ref" argument.');
  10130. this._imageCache.has(t) || this._imageCache.put(t, i);
  10131. };
  10132. return RegionalImageCache;
  10133. }(BaseLocalCache));
  10134. var GlobalImageCache = /** @class */ (function () {
  10135. function GlobalImageCache() {
  10136. _GlobalImageCache_instances.add(this);
  10137. _GlobalImageCache_b.set(this, new RefSet);
  10138. this._refCache = new RefSetCache;
  10139. this._imageCache = new RefSetCache;
  10140. }
  10141. GlobalImageCache.prototype.shouldCache = function (e, t) { var i = this._refCache.get(e); if (!i) {
  10142. i = new Set;
  10143. this._refCache.put(e, i);
  10144. } i.add(t); return !(i.size < GlobalImageCache.NUM_PAGES_THRESHOLD) && !(!this._imageCache.has(e) && tslib_1.__classPrivateFieldGet(this, _GlobalImageCache_instances, "a", _GlobalImageCache_F_get)); };
  10145. GlobalImageCache.prototype.addDecodeFailed = function (e) { tslib_1.__classPrivateFieldGet(this, _GlobalImageCache_b, "f").put(e); };
  10146. GlobalImageCache.prototype.hasDecodeFailed = function (e) { return tslib_1.__classPrivateFieldGet(this, _GlobalImageCache_b, "f").has(e); };
  10147. GlobalImageCache.prototype.addByteSize = function (e, t) { var i = this._imageCache.get(e); i && (i.byteSize || (i.byteSize = t)); };
  10148. GlobalImageCache.prototype.getData = function (e, t) { var i = this._refCache.get(e); if (!i)
  10149. return null; if (i.size < GlobalImageCache.NUM_PAGES_THRESHOLD)
  10150. return null; var a = this._imageCache.get(e); if (!a)
  10151. return null; i.add(t); return a; };
  10152. GlobalImageCache.prototype.setData = function (e, t) { if (!this._refCache.has(e))
  10153. throw new Error('GlobalImageCache.setData - expected "shouldCache" to have been called.'); this._imageCache.has(e) || (tslib_1.__classPrivateFieldGet(this, _GlobalImageCache_instances, "a", _GlobalImageCache_F_get) ? warn("GlobalImageCache.setData - cache limit reached.") : this._imageCache.put(e, t)); };
  10154. GlobalImageCache.prototype.clear = function (e) {
  10155. if (e === void 0) { e = !1; }
  10156. if (!e) {
  10157. tslib_1.__classPrivateFieldGet(this, _GlobalImageCache_b, "f").clear();
  10158. this._refCache.clear();
  10159. }
  10160. this._imageCache.clear();
  10161. };
  10162. var _GlobalImageCache_instances, _GlobalImageCache_b, _GlobalImageCache_D_get, _GlobalImageCache_F_get;
  10163. _GlobalImageCache_b = new WeakMap(), _GlobalImageCache_instances = new WeakSet(), _GlobalImageCache_D_get = function _GlobalImageCache_D_get() { var e = 0; for (var _b = 0, _h = this._imageCache; _b < _h.length; _b++) {
  10164. var t_182 = _h[_b];
  10165. e += t_182.byteSize;
  10166. } return e; }, _GlobalImageCache_F_get = function _GlobalImageCache_F_get() { return !(this._imageCache.size < GlobalImageCache.MIN_IMAGES_TO_CACHE) && !(tslib_1.__classPrivateFieldGet(this, _GlobalImageCache_instances, "a", _GlobalImageCache_D_get) < GlobalImageCache.MAX_BYTE_SIZE); };
  10167. GlobalImageCache.NUM_PAGES_THRESHOLD = 2;
  10168. GlobalImageCache.MIN_IMAGES_TO_CACHE = 10;
  10169. GlobalImageCache.MAX_BYTE_SIZE = 5e7;
  10170. return GlobalImageCache;
  10171. }());
  10172. var PDFFunctionFactory = /** @class */ (function () {
  10173. function PDFFunctionFactory(_b) {
  10174. var e = _b.xref, _h = _b.isEvalSupported, t = _h === void 0 ? !0 : _h;
  10175. this.xref = e;
  10176. this.isEvalSupported = !1 !== t;
  10177. }
  10178. PDFFunctionFactory.prototype.create = function (e) { var t = this.getCached(e); if (t)
  10179. return t; var i = PDFFunction.parse({ xref: this.xref, isEvalSupported: this.isEvalSupported, fn: e instanceof Ref ? this.xref.fetch(e) : e }); this._cache(e, i); return i; };
  10180. PDFFunctionFactory.prototype.createFromArray = function (e) { var t = this.getCached(e); if (t)
  10181. return t; var i = PDFFunction.parseArray({ xref: this.xref, isEvalSupported: this.isEvalSupported, fnObj: e instanceof Ref ? this.xref.fetch(e) : e }); this._cache(e, i); return i; };
  10182. PDFFunctionFactory.prototype.getCached = function (e) { var _b; var t; e instanceof Ref ? t = e : e instanceof Dict ? t = e.objId : e instanceof BaseStream && (t = (_b = e.dict) === null || _b === void 0 ? void 0 : _b.objId); if (t) {
  10183. var e_250 = this._localFunctionCache.getByRef(t);
  10184. if (e_250)
  10185. return e_250;
  10186. } return null; };
  10187. PDFFunctionFactory.prototype._cache = function (e, t) { var _b; if (!t)
  10188. throw new Error('PDFFunctionFactory._cache - expected "parsedFunction" argument.'); var i; e instanceof Ref ? i = e : e instanceof Dict ? i = e.objId : e instanceof BaseStream && (i = (_b = e.dict) === null || _b === void 0 ? void 0 : _b.objId); i && this._localFunctionCache.set(null, i, t); };
  10189. Object.defineProperty(PDFFunctionFactory.prototype, "_localFunctionCache", {
  10190. get: function () { return shadow(this, "_localFunctionCache", new LocalFunctionCache); },
  10191. enumerable: false,
  10192. configurable: true
  10193. });
  10194. return PDFFunctionFactory;
  10195. }());
  10196. function toNumberArray(e) { return Array.isArray(e) ? isNumberArray(e, null) ? e : e.map((function (e) { return +e; })) : null; }
  10197. var PDFFunction = /** @class */ (function () {
  10198. function PDFFunction() {
  10199. }
  10200. PDFFunction.getSampleArray = function (e, t, i, a) { var s, r, n = 1; for (s = 0, r = e.length; s < r; s++)
  10201. n *= e[s]; n *= t; var o = new Array(n); var g = 0, c = 0; var h = 1 / (Math.pow(2, i) - 1), l = a.getBytes((n * i + 7) / 8); var C = 0; for (s = 0; s < n; s++) {
  10202. for (; g < i;) {
  10203. c <<= 8;
  10204. c |= l[C++];
  10205. g += 8;
  10206. }
  10207. g -= i;
  10208. o[s] = (c >> g) * h;
  10209. c &= (1 << g) - 1;
  10210. } return o; };
  10211. PDFFunction.parse = function (_b) {
  10212. var e = _b.xref, t = _b.isEvalSupported, i = _b.fn;
  10213. var a = i.dict || i;
  10214. switch (a.get("FunctionType")) {
  10215. case 0: return this.constructSampled({ xref: e, isEvalSupported: t, fn: i, dict: a });
  10216. case 1: break;
  10217. case 2: return this.constructInterpolated({ xref: e, isEvalSupported: t, dict: a });
  10218. case 3: return this.constructStiched({ xref: e, isEvalSupported: t, dict: a });
  10219. case 4: return this.constructPostScript({ xref: e, isEvalSupported: t, fn: i, dict: a });
  10220. }
  10221. throw new FormatError("Unknown type of function");
  10222. };
  10223. PDFFunction.parseArray = function (_b) {
  10224. var e = _b.xref, t = _b.isEvalSupported, i = _b.fnObj;
  10225. if (!Array.isArray(i))
  10226. return this.parse({ xref: e, isEvalSupported: t, fn: i });
  10227. var a = [];
  10228. for (var _h = 0, i_178 = i; _h < i_178.length; _h++) {
  10229. var s_107 = i_178[_h];
  10230. a.push(this.parse({ xref: e, isEvalSupported: t, fn: e.fetchIfRef(s_107) }));
  10231. }
  10232. return function (e, t, i, s) { for (var r_80 = 0, n_57 = a.length; r_80 < n_57; r_80++)
  10233. a[r_80](e, t, i, s + r_80); };
  10234. };
  10235. PDFFunction.constructSampled = function (_b) {
  10236. var e = _b.xref, t = _b.isEvalSupported, i = _b.fn, a = _b.dict;
  10237. function toMultiArray(e) { var t = e.length, i = []; var a = 0; for (var s_108 = 0; s_108 < t; s_108 += 2)
  10238. i[a++] = [e[s_108], e[s_108 + 1]]; return i; }
  10239. function interpolate(e, t, i, a, s) { return a + (s - a) / (i - t) * (e - t); }
  10240. var s = toNumberArray(a.getArray("Domain")), r = toNumberArray(a.getArray("Range"));
  10241. if (!s || !r)
  10242. throw new FormatError("No domain or range");
  10243. var n = s.length / 2, o = r.length / 2;
  10244. s = toMultiArray(s);
  10245. r = toMultiArray(r);
  10246. var g = toNumberArray(a.getArray("Size")), c = a.get("BitsPerSample"), h = a.get("Order") || 1;
  10247. 1 !== h && info("No support for cubic spline interpolation: " + h);
  10248. var l = toNumberArray(a.getArray("Encode"));
  10249. if (l)
  10250. l = toMultiArray(l);
  10251. else {
  10252. l = [];
  10253. for (var e_251 = 0; e_251 < n; ++e_251)
  10254. l.push([0, g[e_251] - 1]);
  10255. }
  10256. var C = toNumberArray(a.getArray("Decode"));
  10257. C = C ? toMultiArray(C) : r;
  10258. var Q = this.getSampleArray(g, o, c, i);
  10259. return function constructSampledFn(e, t, i, a) { var c = 1 << n, h = new Float64Array(c), E = new Uint32Array(c); var u, d; for (d = 0; d < c; d++)
  10260. h[d] = 1; var f = o, p = 1; for (u = 0; u < n; ++u) {
  10261. var i_179 = s[u][0], a_156 = s[u][1];
  10262. var r_81 = interpolate(Math.min(Math.max(e[t + u], i_179), a_156), i_179, a_156, l[u][0], l[u][1]);
  10263. var n_58 = g[u];
  10264. r_81 = Math.min(Math.max(r_81, 0), n_58 - 1);
  10265. var o_38 = r_81 < n_58 - 1 ? Math.floor(r_81) : r_81 - 1, C_12 = o_38 + 1 - r_81, Q_14 = r_81 - o_38, m_5 = o_38 * f, y_2 = m_5 + f;
  10266. for (d = 0; d < c; d++)
  10267. if (d & p) {
  10268. h[d] *= Q_14;
  10269. E[d] += y_2;
  10270. }
  10271. else {
  10272. h[d] *= C_12;
  10273. E[d] += m_5;
  10274. }
  10275. f *= n_58;
  10276. p <<= 1;
  10277. } for (d = 0; d < o; ++d) {
  10278. var e_252 = 0;
  10279. for (u = 0; u < c; u++)
  10280. e_252 += Q[E[u] + d] * h[u];
  10281. e_252 = interpolate(e_252, 0, 1, C[d][0], C[d][1]);
  10282. i[a + d] = Math.min(Math.max(e_252, r[d][0]), r[d][1]);
  10283. } };
  10284. };
  10285. PDFFunction.constructInterpolated = function (_b) {
  10286. var e = _b.xref, t = _b.isEvalSupported, i = _b.dict;
  10287. var a = toNumberArray(i.getArray("C0")) || [0], s = toNumberArray(i.getArray("C1")) || [1], r = i.get("N"), n = [];
  10288. for (var e_253 = 0, t_183 = a.length; e_253 < t_183; ++e_253)
  10289. n.push(s[e_253] - a[e_253]);
  10290. var o = n.length;
  10291. return function constructInterpolatedFn(e, t, i, s) { var g = 1 === r ? e[t] : Math.pow(e[t], r); for (var e_254 = 0; e_254 < o; ++e_254)
  10292. i[s + e_254] = a[e_254] + g * n[e_254]; };
  10293. };
  10294. PDFFunction.constructStiched = function (_b) {
  10295. var e = _b.xref, t = _b.isEvalSupported, i = _b.dict;
  10296. var a = toNumberArray(i.getArray("Domain"));
  10297. if (!a)
  10298. throw new FormatError("No domain");
  10299. if (1 !== a.length / 2)
  10300. throw new FormatError("Bad domain for stiched function");
  10301. var s = [];
  10302. for (var _h = 0, _j = i.get("Functions"); _h < _j.length; _h++) {
  10303. var a_157 = _j[_h];
  10304. s.push(this.parse({ xref: e, isEvalSupported: t, fn: e.fetchIfRef(a_157) }));
  10305. }
  10306. var r = toNumberArray(i.getArray("Bounds")), n = toNumberArray(i.getArray("Encode")), o = new Float32Array(1);
  10307. return function constructStichedFn(e, t, i, g) { var c = function constructStichedFromIRClip(e, t, i) { e > i ? e = i : e < t && (e = t); return e; }(e[t], a[0], a[1]), h = r.length; var l; for (l = 0; l < h && !(c < r[l]); ++l)
  10308. ; var C = a[0]; l > 0 && (C = r[l - 1]); var Q = a[1]; l < r.length && (Q = r[l]); var E = n[2 * l], u = n[2 * l + 1]; o[0] = C === Q ? E : E + (c - C) * (u - E) / (Q - C); s[l](o, 0, i, g); };
  10309. };
  10310. PDFFunction.constructPostScript = function (_b) {
  10311. var e = _b.xref, t = _b.isEvalSupported, i = _b.fn, a = _b.dict;
  10312. var s = toNumberArray(a.getArray("Domain")), r = toNumberArray(a.getArray("Range"));
  10313. if (!s)
  10314. throw new FormatError("No domain.");
  10315. if (!r)
  10316. throw new FormatError("No range.");
  10317. var n = new PostScriptLexer(i), o = new PostScriptParser(n).parse();
  10318. if (t && FeatureTest.isEvalSupported) {
  10319. var e_255 = (new PostScriptCompiler).compile(o, s, r);
  10320. if (e_255)
  10321. return new Function("src", "srcOffset", "dest", "destOffset", e_255);
  10322. }
  10323. info("Unable to compile PS function");
  10324. var g = r.length >> 1, c = s.length >> 1, h = new PostScriptEvaluator(o), l = Object.create(null);
  10325. var C = 8192;
  10326. var Q = new Float32Array(c);
  10327. return function constructPostScriptFn(e, t, i, a) { var s, n, o = ""; var E = Q; for (s = 0; s < c; s++) {
  10328. n = e[t + s];
  10329. E[s] = n;
  10330. o += n + "_";
  10331. } var u = l[o]; if (void 0 !== u) {
  10332. i.set(u, a);
  10333. return;
  10334. } var d = new Float32Array(g), f = h.execute(E), p = f.length - g; for (s = 0; s < g; s++) {
  10335. n = f[p + s];
  10336. var e_256 = r[2 * s];
  10337. if (n < e_256)
  10338. n = e_256;
  10339. else {
  10340. e_256 = r[2 * s + 1];
  10341. n > e_256 && (n = e_256);
  10342. }
  10343. d[s] = n;
  10344. } if (C > 0) {
  10345. C--;
  10346. l[o] = d;
  10347. } i.set(d, a); };
  10348. };
  10349. return PDFFunction;
  10350. }());
  10351. function isPDFFunction(e) { var t; if (e instanceof Dict)
  10352. t = e;
  10353. else {
  10354. if (!(e instanceof BaseStream))
  10355. return !1;
  10356. t = e.dict;
  10357. } return t.has("FunctionType"); }
  10358. var PostScriptStack = /** @class */ (function () {
  10359. function PostScriptStack(e) {
  10360. this.stack = e ? Array.from(e) : [];
  10361. }
  10362. PostScriptStack.prototype.push = function (e) { if (this.stack.length >= PostScriptStack.MAX_STACK_SIZE)
  10363. throw new Error("PostScript function stack overflow."); this.stack.push(e); };
  10364. PostScriptStack.prototype.pop = function () { if (this.stack.length <= 0)
  10365. throw new Error("PostScript function stack underflow."); return this.stack.pop(); };
  10366. PostScriptStack.prototype.copy = function (e) { if (this.stack.length + e >= PostScriptStack.MAX_STACK_SIZE)
  10367. throw new Error("PostScript function stack overflow."); var t = this.stack; for (var i_180 = t.length - e, a_158 = e - 1; a_158 >= 0; a_158--, i_180++)
  10368. t.push(t[i_180]); };
  10369. PostScriptStack.prototype.index = function (e) { this.push(this.stack[this.stack.length - e - 1]); };
  10370. PostScriptStack.prototype.roll = function (e, t) { var i = this.stack, a = i.length - e, s = i.length - 1, r = a + (t - Math.floor(t / e) * e); for (var e_257 = a, t_184 = s; e_257 < t_184; e_257++, t_184--) {
  10371. var a_159 = i[e_257];
  10372. i[e_257] = i[t_184];
  10373. i[t_184] = a_159;
  10374. } for (var e_258 = a, t_185 = r - 1; e_258 < t_185; e_258++, t_185--) {
  10375. var a_160 = i[e_258];
  10376. i[e_258] = i[t_185];
  10377. i[t_185] = a_160;
  10378. } for (var e_259 = r, t_186 = s; e_259 < t_186; e_259++, t_186--) {
  10379. var a_161 = i[e_259];
  10380. i[e_259] = i[t_186];
  10381. i[t_186] = a_161;
  10382. } };
  10383. PostScriptStack.MAX_STACK_SIZE = 100;
  10384. return PostScriptStack;
  10385. }());
  10386. var PostScriptEvaluator = /** @class */ (function () {
  10387. function PostScriptEvaluator(e) {
  10388. this.operators = e;
  10389. }
  10390. PostScriptEvaluator.prototype.execute = function (e) { var t = new PostScriptStack(e); var i = 0; var a = this.operators, s = a.length; var r, n, o; for (; i < s;) {
  10391. r = a[i++];
  10392. if ("number" != typeof r)
  10393. switch (r) {
  10394. case "jz":
  10395. o = t.pop();
  10396. n = t.pop();
  10397. n || (i = o);
  10398. break;
  10399. case "j":
  10400. n = t.pop();
  10401. i = n;
  10402. break;
  10403. case "abs":
  10404. n = t.pop();
  10405. t.push(Math.abs(n));
  10406. break;
  10407. case "add":
  10408. o = t.pop();
  10409. n = t.pop();
  10410. t.push(n + o);
  10411. break;
  10412. case "and":
  10413. o = t.pop();
  10414. n = t.pop();
  10415. "boolean" == typeof n && "boolean" == typeof o ? t.push(n && o) : t.push(n & o);
  10416. break;
  10417. case "atan":
  10418. o = t.pop();
  10419. n = t.pop();
  10420. n = Math.atan2(n, o) / Math.PI * 180;
  10421. n < 0 && (n += 360);
  10422. t.push(n);
  10423. break;
  10424. case "bitshift":
  10425. o = t.pop();
  10426. n = t.pop();
  10427. n > 0 ? t.push(n << o) : t.push(n >> o);
  10428. break;
  10429. case "ceiling":
  10430. n = t.pop();
  10431. t.push(Math.ceil(n));
  10432. break;
  10433. case "copy":
  10434. n = t.pop();
  10435. t.copy(n);
  10436. break;
  10437. case "cos":
  10438. n = t.pop();
  10439. t.push(Math.cos(n % 360 / 180 * Math.PI));
  10440. break;
  10441. case "cvi":
  10442. n = 0 | t.pop();
  10443. t.push(n);
  10444. break;
  10445. case "cvr": break;
  10446. case "div":
  10447. o = t.pop();
  10448. n = t.pop();
  10449. t.push(n / o);
  10450. break;
  10451. case "dup":
  10452. t.copy(1);
  10453. break;
  10454. case "eq":
  10455. o = t.pop();
  10456. n = t.pop();
  10457. t.push(n === o);
  10458. break;
  10459. case "exch":
  10460. t.roll(2, 1);
  10461. break;
  10462. case "exp":
  10463. o = t.pop();
  10464. n = t.pop();
  10465. t.push(Math.pow(n, o));
  10466. break;
  10467. case "false":
  10468. t.push(!1);
  10469. break;
  10470. case "floor":
  10471. n = t.pop();
  10472. t.push(Math.floor(n));
  10473. break;
  10474. case "ge":
  10475. o = t.pop();
  10476. n = t.pop();
  10477. t.push(n >= o);
  10478. break;
  10479. case "gt":
  10480. o = t.pop();
  10481. n = t.pop();
  10482. t.push(n > o);
  10483. break;
  10484. case "idiv":
  10485. o = t.pop();
  10486. n = t.pop();
  10487. t.push(n / o | 0);
  10488. break;
  10489. case "index":
  10490. n = t.pop();
  10491. t.index(n);
  10492. break;
  10493. case "le":
  10494. o = t.pop();
  10495. n = t.pop();
  10496. t.push(n <= o);
  10497. break;
  10498. case "ln":
  10499. n = t.pop();
  10500. t.push(Math.log(n));
  10501. break;
  10502. case "log":
  10503. n = t.pop();
  10504. t.push(Math.log10(n));
  10505. break;
  10506. case "lt":
  10507. o = t.pop();
  10508. n = t.pop();
  10509. t.push(n < o);
  10510. break;
  10511. case "mod":
  10512. o = t.pop();
  10513. n = t.pop();
  10514. t.push(n % o);
  10515. break;
  10516. case "mul":
  10517. o = t.pop();
  10518. n = t.pop();
  10519. t.push(n * o);
  10520. break;
  10521. case "ne":
  10522. o = t.pop();
  10523. n = t.pop();
  10524. t.push(n !== o);
  10525. break;
  10526. case "neg":
  10527. n = t.pop();
  10528. t.push(-n);
  10529. break;
  10530. case "not":
  10531. n = t.pop();
  10532. "boolean" == typeof n ? t.push(!n) : t.push(~n);
  10533. break;
  10534. case "or":
  10535. o = t.pop();
  10536. n = t.pop();
  10537. "boolean" == typeof n && "boolean" == typeof o ? t.push(n || o) : t.push(n | o);
  10538. break;
  10539. case "pop":
  10540. t.pop();
  10541. break;
  10542. case "roll":
  10543. o = t.pop();
  10544. n = t.pop();
  10545. t.roll(n, o);
  10546. break;
  10547. case "round":
  10548. n = t.pop();
  10549. t.push(Math.round(n));
  10550. break;
  10551. case "sin":
  10552. n = t.pop();
  10553. t.push(Math.sin(n % 360 / 180 * Math.PI));
  10554. break;
  10555. case "sqrt":
  10556. n = t.pop();
  10557. t.push(Math.sqrt(n));
  10558. break;
  10559. case "sub":
  10560. o = t.pop();
  10561. n = t.pop();
  10562. t.push(n - o);
  10563. break;
  10564. case "true":
  10565. t.push(!0);
  10566. break;
  10567. case "truncate":
  10568. n = t.pop();
  10569. n = n < 0 ? Math.ceil(n) : Math.floor(n);
  10570. t.push(n);
  10571. break;
  10572. case "xor":
  10573. o = t.pop();
  10574. n = t.pop();
  10575. "boolean" == typeof n && "boolean" == typeof o ? t.push(n !== o) : t.push(n ^ o);
  10576. break;
  10577. default: throw new FormatError("Unknown operator ".concat(r));
  10578. }
  10579. else
  10580. t.push(r);
  10581. } return t.stack; };
  10582. return PostScriptEvaluator;
  10583. }());
  10584. var AstNode = /** @class */ (function () {
  10585. function AstNode(e) {
  10586. this.type = e;
  10587. }
  10588. AstNode.prototype.visit = function (e) { unreachable("abstract method"); };
  10589. return AstNode;
  10590. }());
  10591. var AstArgument = /** @class */ (function (_super) {
  10592. tslib_1.__extends(AstArgument, _super);
  10593. function AstArgument(e, t, i) {
  10594. var _this = _super.call(this, "args") || this;
  10595. _this.index = e;
  10596. _this.min = t;
  10597. _this.max = i;
  10598. return _this;
  10599. }
  10600. AstArgument.prototype.visit = function (e) { e.visitArgument(this); };
  10601. return AstArgument;
  10602. }(AstNode));
  10603. var AstLiteral = /** @class */ (function (_super) {
  10604. tslib_1.__extends(AstLiteral, _super);
  10605. function AstLiteral(e) {
  10606. var _this = _super.call(this, "literal") || this;
  10607. _this.number = e;
  10608. _this.min = e;
  10609. _this.max = e;
  10610. return _this;
  10611. }
  10612. AstLiteral.prototype.visit = function (e) { e.visitLiteral(this); };
  10613. return AstLiteral;
  10614. }(AstNode));
  10615. var AstBinaryOperation = /** @class */ (function (_super) {
  10616. tslib_1.__extends(AstBinaryOperation, _super);
  10617. function AstBinaryOperation(e, t, i, a, s) {
  10618. var _this = _super.call(this, "binary") || this;
  10619. _this.op = e;
  10620. _this.arg1 = t;
  10621. _this.arg2 = i;
  10622. _this.min = a;
  10623. _this.max = s;
  10624. return _this;
  10625. }
  10626. AstBinaryOperation.prototype.visit = function (e) { e.visitBinaryOperation(this); };
  10627. return AstBinaryOperation;
  10628. }(AstNode));
  10629. var AstMin = /** @class */ (function (_super) {
  10630. tslib_1.__extends(AstMin, _super);
  10631. function AstMin(e, t) {
  10632. var _this = _super.call(this, "max") || this;
  10633. _this.arg = e;
  10634. _this.min = e.min;
  10635. _this.max = t;
  10636. return _this;
  10637. }
  10638. AstMin.prototype.visit = function (e) { e.visitMin(this); };
  10639. return AstMin;
  10640. }(AstNode));
  10641. var AstVariable = /** @class */ (function (_super) {
  10642. tslib_1.__extends(AstVariable, _super);
  10643. function AstVariable(e, t, i) {
  10644. var _this = _super.call(this, "var") || this;
  10645. _this.index = e;
  10646. _this.min = t;
  10647. _this.max = i;
  10648. return _this;
  10649. }
  10650. AstVariable.prototype.visit = function (e) { e.visitVariable(this); };
  10651. return AstVariable;
  10652. }(AstNode));
  10653. var AstVariableDefinition = /** @class */ (function (_super) {
  10654. tslib_1.__extends(AstVariableDefinition, _super);
  10655. function AstVariableDefinition(e, t) {
  10656. var _this = _super.call(this, "definition") || this;
  10657. _this.variable = e;
  10658. _this.arg = t;
  10659. return _this;
  10660. }
  10661. AstVariableDefinition.prototype.visit = function (e) { e.visitVariableDefinition(this); };
  10662. return AstVariableDefinition;
  10663. }(AstNode));
  10664. var ExpressionBuilderVisitor = /** @class */ (function () {
  10665. function ExpressionBuilderVisitor() {
  10666. this.parts = [];
  10667. }
  10668. ExpressionBuilderVisitor.prototype.visitArgument = function (e) { this.parts.push("Math.max(", e.min, ", Math.min(", e.max, ", src[srcOffset + ", e.index, "]))"); };
  10669. ExpressionBuilderVisitor.prototype.visitVariable = function (e) { this.parts.push("v", e.index); };
  10670. ExpressionBuilderVisitor.prototype.visitLiteral = function (e) { this.parts.push(e.number); };
  10671. ExpressionBuilderVisitor.prototype.visitBinaryOperation = function (e) { this.parts.push("("); e.arg1.visit(this); this.parts.push(" ", e.op, " "); e.arg2.visit(this); this.parts.push(")"); };
  10672. ExpressionBuilderVisitor.prototype.visitVariableDefinition = function (e) { this.parts.push("var "); e.variable.visit(this); this.parts.push(" = "); e.arg.visit(this); this.parts.push(";"); };
  10673. ExpressionBuilderVisitor.prototype.visitMin = function (e) { this.parts.push("Math.min("); e.arg.visit(this); this.parts.push(", ", e.max, ")"); };
  10674. ExpressionBuilderVisitor.prototype.toString = function () { return this.parts.join(""); };
  10675. return ExpressionBuilderVisitor;
  10676. }());
  10677. function buildAddOperation(e, t) { return "literal" === t.type && 0 === t.number ? e : "literal" === e.type && 0 === e.number ? t : "literal" === t.type && "literal" === e.type ? new AstLiteral(e.number + t.number) : new AstBinaryOperation("+", e, t, e.min + t.min, e.max + t.max); }
  10678. function buildMulOperation(e, t) { if ("literal" === t.type) {
  10679. if (0 === t.number)
  10680. return new AstLiteral(0);
  10681. if (1 === t.number)
  10682. return e;
  10683. if ("literal" === e.type)
  10684. return new AstLiteral(e.number * t.number);
  10685. } if ("literal" === e.type) {
  10686. if (0 === e.number)
  10687. return new AstLiteral(0);
  10688. if (1 === e.number)
  10689. return t;
  10690. } var i = Math.min(e.min * t.min, e.min * t.max, e.max * t.min, e.max * t.max), a = Math.max(e.min * t.min, e.min * t.max, e.max * t.min, e.max * t.max); return new AstBinaryOperation("*", e, t, i, a); }
  10691. function buildSubOperation(e, t) { if ("literal" === t.type) {
  10692. if (0 === t.number)
  10693. return e;
  10694. if ("literal" === e.type)
  10695. return new AstLiteral(e.number - t.number);
  10696. } return "binary" === t.type && "-" === t.op && "literal" === e.type && 1 === e.number && "literal" === t.arg1.type && 1 === t.arg1.number ? t.arg2 : new AstBinaryOperation("-", e, t, e.min - t.max, e.max - t.min); }
  10697. function buildMinOperation(e, t) { return e.min >= t ? new AstLiteral(t) : e.max <= t ? e : new AstMin(e, t); }
  10698. var PostScriptCompiler = /** @class */ (function () {
  10699. function PostScriptCompiler() {
  10700. }
  10701. PostScriptCompiler.prototype.compile = function (e, t, i) { var a = [], s = [], r = t.length >> 1, n = i.length >> 1; var o, g, c, h, l, C, Q, E, u = 0; for (var e_260 = 0; e_260 < r; e_260++)
  10702. a.push(new AstArgument(e_260, t[2 * e_260], t[2 * e_260 + 1])); for (var t_187 = 0, i_181 = e.length; t_187 < i_181; t_187++) {
  10703. E = e[t_187];
  10704. if ("number" != typeof E)
  10705. switch (E) {
  10706. case "add":
  10707. if (a.length < 2)
  10708. return null;
  10709. h = a.pop();
  10710. c = a.pop();
  10711. a.push(buildAddOperation(c, h));
  10712. break;
  10713. case "cvr":
  10714. if (a.length < 1)
  10715. return null;
  10716. break;
  10717. case "mul":
  10718. if (a.length < 2)
  10719. return null;
  10720. h = a.pop();
  10721. c = a.pop();
  10722. a.push(buildMulOperation(c, h));
  10723. break;
  10724. case "sub":
  10725. if (a.length < 2)
  10726. return null;
  10727. h = a.pop();
  10728. c = a.pop();
  10729. a.push(buildSubOperation(c, h));
  10730. break;
  10731. case "exch":
  10732. if (a.length < 2)
  10733. return null;
  10734. l = a.pop();
  10735. C = a.pop();
  10736. a.push(l, C);
  10737. break;
  10738. case "pop":
  10739. if (a.length < 1)
  10740. return null;
  10741. a.pop();
  10742. break;
  10743. case "index":
  10744. if (a.length < 1)
  10745. return null;
  10746. c = a.pop();
  10747. if ("literal" !== c.type)
  10748. return null;
  10749. o = c.number;
  10750. if (o < 0 || !Number.isInteger(o) || a.length < o)
  10751. return null;
  10752. l = a[a.length - o - 1];
  10753. if ("literal" === l.type || "var" === l.type) {
  10754. a.push(l);
  10755. break;
  10756. }
  10757. Q = new AstVariable(u++, l.min, l.max);
  10758. a[a.length - o - 1] = Q;
  10759. a.push(Q);
  10760. s.push(new AstVariableDefinition(Q, l));
  10761. break;
  10762. case "dup":
  10763. if (a.length < 1)
  10764. return null;
  10765. if ("number" == typeof e[t_187 + 1] && "gt" === e[t_187 + 2] && e[t_187 + 3] === t_187 + 7 && "jz" === e[t_187 + 4] && "pop" === e[t_187 + 5] && e[t_187 + 6] === e[t_187 + 1]) {
  10766. c = a.pop();
  10767. a.push(buildMinOperation(c, e[t_187 + 1]));
  10768. t_187 += 6;
  10769. break;
  10770. }
  10771. l = a.at(-1);
  10772. if ("literal" === l.type || "var" === l.type) {
  10773. a.push(l);
  10774. break;
  10775. }
  10776. Q = new AstVariable(u++, l.min, l.max);
  10777. a[a.length - 1] = Q;
  10778. a.push(Q);
  10779. s.push(new AstVariableDefinition(Q, l));
  10780. break;
  10781. case "roll":
  10782. if (a.length < 2)
  10783. return null;
  10784. h = a.pop();
  10785. c = a.pop();
  10786. if ("literal" !== h.type || "literal" !== c.type)
  10787. return null;
  10788. g = h.number;
  10789. o = c.number;
  10790. if (o <= 0 || !Number.isInteger(o) || !Number.isInteger(g) || a.length < o)
  10791. return null;
  10792. g = (g % o + o) % o;
  10793. if (0 === g)
  10794. break;
  10795. a.push.apply(a, a.splice(a.length - o, o - g));
  10796. break;
  10797. default: return null;
  10798. }
  10799. else
  10800. a.push(new AstLiteral(E));
  10801. } if (a.length !== n)
  10802. return null; var d = []; for (var _b = 0, s_109 = s; _b < s_109.length; _b++) {
  10803. var e_261 = s_109[_b];
  10804. var t_188 = new ExpressionBuilderVisitor;
  10805. e_261.visit(t_188);
  10806. d.push(t_188.toString());
  10807. } for (var e_262 = 0, t_189 = a.length; e_262 < t_189; e_262++) {
  10808. var t_190 = a[e_262], s_110 = new ExpressionBuilderVisitor;
  10809. t_190.visit(s_110);
  10810. var r_82 = i[2 * e_262], n_59 = i[2 * e_262 + 1], o_39 = [s_110.toString()];
  10811. if (r_82 > t_190.min) {
  10812. o_39.unshift("Math.max(", r_82, ", ");
  10813. o_39.push(")");
  10814. }
  10815. if (n_59 < t_190.max) {
  10816. o_39.unshift("Math.min(", n_59, ", ");
  10817. o_39.push(")");
  10818. }
  10819. o_39.unshift("dest[destOffset + ", e_262, "] = ");
  10820. o_39.push(";");
  10821. d.push(o_39.join(""));
  10822. } return d.join("\n"); };
  10823. return PostScriptCompiler;
  10824. }());
  10825. var hs = ["BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "S", "B", "S", "WS", "B", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "B", "B", "B", "S", "WS", "ON", "ON", "ET", "ET", "ET", "ON", "ON", "ON", "ON", "ON", "ES", "CS", "ES", "CS", "CS", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "CS", "ON", "ON", "ON", "ON", "ON", "ON", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "ON", "ON", "ON", "ON", "ON", "ON", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "ON", "ON", "ON", "ON", "BN", "BN", "BN", "BN", "BN", "BN", "B", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "CS", "ON", "ET", "ET", "ET", "ET", "ON", "ON", "ON", "ON", "L", "ON", "ON", "BN", "ON", "ON", "ET", "ET", "EN", "EN", "ON", "L", "ON", "ON", "ON", "EN", "L", "ON", "ON", "ON", "ON", "ON", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "ON", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "ON", "L", "L", "L", "L", "L", "L", "L", "L"], ls = ["AN", "AN", "AN", "AN", "AN", "AN", "ON", "ON", "AL", "ET", "ET", "AL", "CS", "AL", "ON", "ON", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AL", "AL", "", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AN", "AN", "AN", "AN", "AN", "AN", "AN", "AN", "AN", "AN", "ET", "AN", "AN", "AL", "AL", "AL", "NSM", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AN", "ON", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AL", "AL", "NSM", "NSM", "ON", "NSM", "NSM", "NSM", "NSM", "AL", "AL", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "AL", "AL", "AL", "AL", "AL", "AL"];
  10826. function isOdd(e) { return 0 != (1 & e); }
  10827. function isEven(e) { return 0 == (1 & e); }
  10828. function findUnequal(e, t, i) { var a, s; for (a = t, s = e.length; a < s; ++a)
  10829. if (e[a] !== i)
  10830. return a; return a; }
  10831. function setValues(e, t, i, a) { for (var s_111 = t; s_111 < i; ++s_111)
  10832. e[s_111] = a; }
  10833. function reverseValues(e, t, i) { for (var a_162 = t, s_112 = i - 1; a_162 < s_112; ++a_162, --s_112) {
  10834. var t_191 = e[a_162];
  10835. e[a_162] = e[s_112];
  10836. e[s_112] = t_191;
  10837. } }
  10838. function createBidiText(e, t, i) {
  10839. if (i === void 0) { i = !1; }
  10840. var a = "ltr";
  10841. i ? a = "ttb" : t || (a = "rtl");
  10842. return { str: e, dir: a };
  10843. }
  10844. var Cs = [], Bs = [];
  10845. function bidi(e, t, i) {
  10846. if (t === void 0) { t = -1; }
  10847. if (i === void 0) { i = !1; }
  10848. var a = !0;
  10849. var s = e.length;
  10850. if (0 === s || i)
  10851. return createBidiText(e, a, i);
  10852. Cs.length = s;
  10853. Bs.length = s;
  10854. var r, n, o = 0;
  10855. for (r = 0; r < s; ++r) {
  10856. Cs[r] = e.charAt(r);
  10857. var t_192 = e.charCodeAt(r);
  10858. var i_182 = "L";
  10859. if (t_192 <= 255)
  10860. i_182 = hs[t_192];
  10861. else if (1424 <= t_192 && t_192 <= 1524)
  10862. i_182 = "R";
  10863. else if (1536 <= t_192 && t_192 <= 1791) {
  10864. i_182 = ls[255 & t_192];
  10865. i_182 || warn("Bidi: invalid Unicode character " + t_192.toString(16));
  10866. }
  10867. else
  10868. (1792 <= t_192 && t_192 <= 2220 || 64336 <= t_192 && t_192 <= 65023 || 65136 <= t_192 && t_192 <= 65279) && (i_182 = "AL");
  10869. "R" !== i_182 && "AL" !== i_182 && "AN" !== i_182 || o++;
  10870. Bs[r] = i_182;
  10871. }
  10872. if (0 === o) {
  10873. a = !0;
  10874. return createBidiText(e, a);
  10875. }
  10876. if (-1 === t)
  10877. if (o / s < .3 && s > 4) {
  10878. a = !0;
  10879. t = 0;
  10880. }
  10881. else {
  10882. a = !1;
  10883. t = 1;
  10884. }
  10885. var g = [];
  10886. for (r = 0; r < s; ++r)
  10887. g[r] = t;
  10888. var c = isOdd(t) ? "R" : "L", h = c, l = h;
  10889. var C, Q = h;
  10890. for (r = 0; r < s; ++r)
  10891. "NSM" === Bs[r] ? Bs[r] = Q : Q = Bs[r];
  10892. Q = h;
  10893. for (r = 0; r < s; ++r) {
  10894. C = Bs[r];
  10895. "EN" === C ? Bs[r] = "AL" === Q ? "AN" : "EN" : "R" !== C && "L" !== C && "AL" !== C || (Q = C);
  10896. }
  10897. for (r = 0; r < s; ++r) {
  10898. C = Bs[r];
  10899. "AL" === C && (Bs[r] = "R");
  10900. }
  10901. for (r = 1; r < s - 1; ++r) {
  10902. "ES" === Bs[r] && "EN" === Bs[r - 1] && "EN" === Bs[r + 1] && (Bs[r] = "EN");
  10903. "CS" !== Bs[r] || "EN" !== Bs[r - 1] && "AN" !== Bs[r - 1] || Bs[r + 1] !== Bs[r - 1] || (Bs[r] = Bs[r - 1]);
  10904. }
  10905. for (r = 0; r < s; ++r)
  10906. if ("EN" === Bs[r]) {
  10907. for (var e_263 = r - 1; e_263 >= 0 && "ET" === Bs[e_263]; --e_263)
  10908. Bs[e_263] = "EN";
  10909. for (var e_264 = r + 1; e_264 < s && "ET" === Bs[e_264]; ++e_264)
  10910. Bs[e_264] = "EN";
  10911. }
  10912. for (r = 0; r < s; ++r) {
  10913. C = Bs[r];
  10914. "WS" !== C && "ES" !== C && "ET" !== C && "CS" !== C || (Bs[r] = "ON");
  10915. }
  10916. Q = h;
  10917. for (r = 0; r < s; ++r) {
  10918. C = Bs[r];
  10919. "EN" === C ? Bs[r] = "L" === Q ? "L" : "EN" : "R" !== C && "L" !== C || (Q = C);
  10920. }
  10921. for (r = 0; r < s; ++r)
  10922. if ("ON" === Bs[r]) {
  10923. var e_265 = findUnequal(Bs, r + 1, "ON");
  10924. var t_193 = h;
  10925. r > 0 && (t_193 = Bs[r - 1]);
  10926. var i_183 = l;
  10927. e_265 + 1 < s && (i_183 = Bs[e_265 + 1]);
  10928. "L" !== t_193 && (t_193 = "R");
  10929. "L" !== i_183 && (i_183 = "R");
  10930. t_193 === i_183 && setValues(Bs, r, e_265, t_193);
  10931. r = e_265 - 1;
  10932. }
  10933. for (r = 0; r < s; ++r)
  10934. "ON" === Bs[r] && (Bs[r] = c);
  10935. for (r = 0; r < s; ++r) {
  10936. C = Bs[r];
  10937. isEven(g[r]) ? "R" === C ? g[r] += 1 : "AN" !== C && "EN" !== C || (g[r] += 2) : "L" !== C && "AN" !== C && "EN" !== C || (g[r] += 1);
  10938. }
  10939. var E, u = -1, d = 99;
  10940. for (r = 0, n = g.length; r < n; ++r) {
  10941. E = g[r];
  10942. u < E && (u = E);
  10943. d > E && isOdd(E) && (d = E);
  10944. }
  10945. for (E = u; E >= d; --E) {
  10946. var e_266 = -1;
  10947. for (r = 0, n = g.length; r < n; ++r)
  10948. if (g[r] < E) {
  10949. if (e_266 >= 0) {
  10950. reverseValues(Cs, e_266, r);
  10951. e_266 = -1;
  10952. }
  10953. }
  10954. else
  10955. e_266 < 0 && (e_266 = r);
  10956. e_266 >= 0 && reverseValues(Cs, e_266, g.length);
  10957. }
  10958. for (r = 0, n = Cs.length; r < n; ++r) {
  10959. var e_267 = Cs[r];
  10960. "<" !== e_267 && ">" !== e_267 || (Cs[r] = "");
  10961. }
  10962. return createBidiText(Cs.join(""), a);
  10963. }
  10964. var Qs = { style: "normal", weight: "normal" }, Es = { style: "normal", weight: "bold" }, us = { style: "italic", weight: "normal" }, ds = { style: "italic", weight: "bold" }, fs = new Map([["Times-Roman", { local: ["Times New Roman", "Times-Roman", "Times", "Liberation Serif", "Nimbus Roman", "Nimbus Roman L", "Tinos", "Thorndale", "TeX Gyre Termes", "FreeSerif", "Linux Libertine O", "Libertinus Serif", "DejaVu Serif", "Bitstream Vera Serif", "Ubuntu"], style: Qs, ultimate: "serif" }], ["Times-Bold", { alias: "Times-Roman", style: Es, ultimate: "serif" }], ["Times-Italic", { alias: "Times-Roman", style: us, ultimate: "serif" }], ["Times-BoldItalic", { alias: "Times-Roman", style: ds, ultimate: "serif" }], ["Helvetica", { local: ["Helvetica", "Helvetica Neue", "Arial", "Arial Nova", "Liberation Sans", "Arimo", "Nimbus Sans", "Nimbus Sans L", "A030", "TeX Gyre Heros", "FreeSans", "DejaVu Sans", "Albany", "Bitstream Vera Sans", "Arial Unicode MS", "Microsoft Sans Serif", "Apple Symbols", "Cantarell"], path: "LiberationSans-Regular.ttf", style: Qs, ultimate: "sans-serif" }], ["Helvetica-Bold", { alias: "Helvetica", path: "LiberationSans-Bold.ttf", style: Es, ultimate: "sans-serif" }], ["Helvetica-Oblique", { alias: "Helvetica", path: "LiberationSans-Italic.ttf", style: us, ultimate: "sans-serif" }], ["Helvetica-BoldOblique", { alias: "Helvetica", path: "LiberationSans-BoldItalic.ttf", style: ds, ultimate: "sans-serif" }], ["Courier", { local: ["Courier", "Courier New", "Liberation Mono", "Nimbus Mono", "Nimbus Mono L", "Cousine", "Cumberland", "TeX Gyre Cursor", "FreeMono", "Linux Libertine Mono O", "Libertinus Mono"], style: Qs, ultimate: "monospace" }], ["Courier-Bold", { alias: "Courier", style: Es, ultimate: "monospace" }], ["Courier-Oblique", { alias: "Courier", style: us, ultimate: "monospace" }], ["Courier-BoldOblique", { alias: "Courier", style: ds, ultimate: "monospace" }], ["ArialBlack", { local: ["Arial Black"], style: { style: "normal", weight: "900" }, fallback: "Helvetica-Bold" }], ["ArialBlack-Bold", { alias: "ArialBlack" }], ["ArialBlack-Italic", { alias: "ArialBlack", style: { style: "italic", weight: "900" }, fallback: "Helvetica-BoldOblique" }], ["ArialBlack-BoldItalic", { alias: "ArialBlack-Italic" }], ["ArialNarrow", { local: ["Arial Narrow", "Liberation Sans Narrow", "Helvetica Condensed", "Nimbus Sans Narrow", "TeX Gyre Heros Cn"], style: Qs, fallback: "Helvetica" }], ["ArialNarrow-Bold", { alias: "ArialNarrow", style: Es, fallback: "Helvetica-Bold" }], ["ArialNarrow-Italic", { alias: "ArialNarrow", style: us, fallback: "Helvetica-Oblique" }], ["ArialNarrow-BoldItalic", { alias: "ArialNarrow", style: ds, fallback: "Helvetica-BoldOblique" }], ["Calibri", { local: ["Calibri", "Carlito"], style: Qs, fallback: "Helvetica" }], ["Calibri-Bold", { alias: "Calibri", style: Es, fallback: "Helvetica-Bold" }], ["Calibri-Italic", { alias: "Calibri", style: us, fallback: "Helvetica-Oblique" }], ["Calibri-BoldItalic", { alias: "Calibri", style: ds, fallback: "Helvetica-BoldOblique" }], ["Wingdings", { local: ["Wingdings", "URW Dingbats"], style: Qs }], ["Wingdings-Regular", { alias: "Wingdings" }], ["Wingdings-Bold", { alias: "Wingdings" }]]), ps = new Map([["Arial-Black", "ArialBlack"]]);
  10965. function getFamilyName(e) { var t = new Set(["thin", "extralight", "ultralight", "demilight", "semilight", "light", "book", "regular", "normal", "medium", "demibold", "semibold", "bold", "extrabold", "ultrabold", "black", "heavy", "extrablack", "ultrablack", "roman", "italic", "oblique", "ultracondensed", "extracondensed", "condensed", "semicondensed", "normal", "semiexpanded", "expanded", "extraexpanded", "ultraexpanded", "bolditalic"]); return e.split(/[- ,+]+/g).filter((function (e) { return !t.has(e.toLowerCase()); })).join(" "); }
  10966. function generateFont(_b, n, o, g, c, h) {
  10967. var e = _b.alias, t = _b.local, i = _b.path, a = _b.fallback, s = _b.style, r = _b.ultimate;
  10968. if (g === void 0) { g = !0; }
  10969. if (c === void 0) { c = !0; }
  10970. if (h === void 0) { h = ""; }
  10971. var l = { style: null, ultimate: null };
  10972. if (t) {
  10973. var e_268 = h ? " ".concat(h) : "";
  10974. for (var _h = 0, t_194 = t; _h < t_194.length; _h++) {
  10975. var i_184 = t_194[_h];
  10976. n.push("local(".concat(i_184).concat(e_268, ")"));
  10977. }
  10978. }
  10979. if (e) {
  10980. var t_195 = fs.get(e), r_83 = h || function getStyleToAppend(e) { switch (e) {
  10981. case Es: return "Bold";
  10982. case us: return "Italic";
  10983. case ds: return "Bold Italic";
  10984. default:
  10985. if ("bold" === (e === null || e === void 0 ? void 0 : e.weight))
  10986. return "Bold";
  10987. if ("italic" === (e === null || e === void 0 ? void 0 : e.style))
  10988. return "Italic";
  10989. } return ""; }(s);
  10990. Object.assign(l, generateFont(t_195, n, o, g && !a, c && !i, r_83));
  10991. }
  10992. s && (l.style = s);
  10993. r && (l.ultimate = r);
  10994. if (g && a) {
  10995. var e_269 = fs.get(a), t_196 = generateFont(e_269, n, o, g, c && !i, h).ultimate;
  10996. l.ultimate || (l.ultimate = t_196);
  10997. }
  10998. c && i && o && n.push("url(".concat(o).concat(i, ")"));
  10999. return l;
  11000. }
  11001. function getFontSubstitution(e, t, i, a, s, r) { if (a.startsWith("InvalidPDFjsFont_"))
  11002. return null; "TrueType" !== r && "Type1" !== r || !/^[A-Z]{6}\+/.test(a) || (a = a.slice(7)); var n = a = normalizeFontName(a); var o = e.get(n); if (o)
  11003. return o; var g = fs.get(a); if (!g)
  11004. for (var _b = 0, ps_1 = ps; _b < ps_1.length; _b++) {
  11005. var _h = ps_1[_b], e_270 = _h[0], t_197 = _h[1];
  11006. if (a.startsWith(e_270)) {
  11007. a = "".concat(t_197).concat(a.substring(e_270.length));
  11008. g = fs.get(a);
  11009. break;
  11010. }
  11011. } var c = !1; if (!g) {
  11012. g = fs.get(s);
  11013. c = !0;
  11014. } var h = "".concat(t.getDocId(), "_s").concat(t.createFontId()); if (!g) {
  11015. if (!validateFontName(a)) {
  11016. warn("Cannot substitute the font because of its name: ".concat(a));
  11017. e.set(n, null);
  11018. return null;
  11019. }
  11020. var t_198 = /bold/gi.test(a), i_185 = /oblique|italic/gi.test(a), s_113 = t_198 && i_185 && ds || t_198 && Es || i_185 && us || Qs;
  11021. o = { css: "\"".concat(getFamilyName(a), "\",").concat(h), guessFallback: !0, loadedName: h, baseFontName: a, src: "local(".concat(a, ")"), style: s_113 };
  11022. e.set(n, o);
  11023. return o;
  11024. } var l = []; c && validateFontName(a) && l.push("local(".concat(a, ")")); var _j = generateFont(g, l, i), C = _j.style, Q = _j.ultimate, E = null === Q, u = E ? "" : ",".concat(Q); o = { css: "\"".concat(getFamilyName(a), "\",").concat(h).concat(u), guessFallback: E, loadedName: h, baseFontName: a, src: l.join(","), style: C }; e.set(n, o); return o; }
  11025. var ImageResizer = /** @class */ (function () {
  11026. function ImageResizer(e, t) {
  11027. this._imgData = e;
  11028. this._isMask = t;
  11029. }
  11030. ImageResizer.needsToBeResized = function (e, t) { if (e <= this._goodSquareLength && t <= this._goodSquareLength)
  11031. return !1; var i = this.MAX_DIM; if (e > i || t > i)
  11032. return !0; var a = e * t; if (this._hasMaxArea)
  11033. return a > this.MAX_AREA; if (a < Math.pow(this._goodSquareLength, 2))
  11034. return !1; if (this._areGoodDims(e, t)) {
  11035. this._goodSquareLength = Math.max(this._goodSquareLength, Math.floor(Math.sqrt(e * t)));
  11036. return !1;
  11037. } this._goodSquareLength = this._guessMax(this._goodSquareLength, i, 128, 0); return a > (this.MAX_AREA = Math.pow(this._goodSquareLength, 2)); };
  11038. Object.defineProperty(ImageResizer, "MAX_DIM", {
  11039. get: function () { return shadow(this, "MAX_DIM", this._guessMax(2048, 65537, 0, 1)); },
  11040. enumerable: false,
  11041. configurable: true
  11042. });
  11043. Object.defineProperty(ImageResizer, "MAX_AREA", {
  11044. get: function () { this._hasMaxArea = !0; return shadow(this, "MAX_AREA", Math.pow(this._guessMax(ImageResizer._goodSquareLength, this.MAX_DIM, 128, 0), 2)); },
  11045. set: function (e) { if (e >= 0) {
  11046. this._hasMaxArea = !0;
  11047. shadow(this, "MAX_AREA", e);
  11048. } },
  11049. enumerable: false,
  11050. configurable: true
  11051. });
  11052. ImageResizer.setMaxArea = function (e) { this._hasMaxArea || (this.MAX_AREA = e >> 2); };
  11053. ImageResizer._areGoodDims = function (e, t) { try {
  11054. var i_186 = new OffscreenCanvas(e, t), a_163 = i_186.getContext("2d");
  11055. a_163.fillRect(0, 0, 1, 1);
  11056. var s_114 = a_163.getImageData(0, 0, 1, 1).data[3];
  11057. i_186.width = i_186.height = 1;
  11058. return 0 !== s_114;
  11059. }
  11060. catch (_b) {
  11061. return !1;
  11062. } };
  11063. ImageResizer._guessMax = function (e, t, i, a) { for (; e + i + 1 < t;) {
  11064. var i_187 = Math.floor((e + t) / 2), s_115 = a || i_187;
  11065. this._areGoodDims(i_187, s_115) ? e = i_187 : t = i_187;
  11066. } return e; };
  11067. ImageResizer.createImage = function (e, t) {
  11068. if (t === void 0) { t = !1; }
  11069. return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_b) {
  11070. return [2 /*return*/, new ImageResizer(e, t)._createImage()];
  11071. }); });
  11072. };
  11073. ImageResizer.prototype._createImage = function () {
  11074. return tslib_1.__awaiter(this, void 0, void 0, function () { var e, t, i, a, s, r, n, o, g, c, h, l, C, Q, E, u, _b, C_13, e_271, t_199, i_188, a_164; return tslib_1.__generator(this, function (_h) {
  11075. switch (_h.label) {
  11076. case 0:
  11077. e = this._encodeBMP(), t = new Blob([e.buffer], { type: "image/bmp" }), i = createImageBitmap(t), a = ImageResizer.MAX_AREA, s = ImageResizer.MAX_DIM, r = this._imgData, n = r.width, o = r.height, g = Math.max(n / s, o / s, Math.sqrt(n * o / a)), c = Math.max(g, 2), h = Math.round(10 * (g + 1.25)) / 10 / c, l = Math.floor(Math.log2(h)), C = new Array(l + 2).fill(2);
  11078. C[0] = c;
  11079. C.splice(-1, 1, h / (1 << l));
  11080. Q = n, E = o;
  11081. return [4 /*yield*/, i];
  11082. case 1:
  11083. u = _h.sent();
  11084. for (_b = 0, C_13 = C; _b < C_13.length; _b++) {
  11085. e_271 = C_13[_b];
  11086. t_199 = Q, i_188 = E;
  11087. Q = Math.floor(Q / e_271) - 1;
  11088. E = Math.floor(E / e_271) - 1;
  11089. a_164 = new OffscreenCanvas(Q, E);
  11090. a_164.getContext("2d").drawImage(u, 0, 0, t_199, i_188, 0, 0, Q, E);
  11091. u = a_164.transferToImageBitmap();
  11092. }
  11093. r.data = null;
  11094. r.bitmap = u;
  11095. r.width = Q;
  11096. r.height = E;
  11097. return [2 /*return*/, r];
  11098. }
  11099. }); });
  11100. };
  11101. ImageResizer.prototype._encodeBMP = function () { var _b = this._imgData, e = _b.width, t = _b.height, i = _b.kind; var a, s = this._imgData.data, r = new Uint8Array(0), n = r, o = 0; switch (i) {
  11102. case b: {
  11103. a = 1;
  11104. r = new Uint8Array(this._isMask ? [255, 255, 255, 255, 0, 0, 0, 0] : [0, 0, 0, 0, 255, 255, 255, 255]);
  11105. var i_189 = e + 7 >> 3, n_60 = i_189 + 3 & -4;
  11106. if (i_189 !== n_60) {
  11107. var e_272 = new Uint8Array(n_60 * t);
  11108. var a_165 = 0;
  11109. for (var r_84 = 0, o_40 = t * i_189; r_84 < o_40; r_84 += i_189, a_165 += n_60)
  11110. e_272.set(s.subarray(r_84, r_84 + i_189), a_165);
  11111. s = e_272;
  11112. }
  11113. break;
  11114. }
  11115. case D:
  11116. a = 24;
  11117. if (3 & e) {
  11118. var i_190 = 3 * e, a_166 = i_190 + 3 & -4, r_85 = a_166 - i_190, n_61 = new Uint8Array(a_166 * t);
  11119. var o_41 = 0;
  11120. for (var e_273 = 0, a_167 = t * i_190; e_273 < a_167; e_273 += i_190) {
  11121. var t_200 = s.subarray(e_273, e_273 + i_190);
  11122. for (var e_274 = 0; e_274 < i_190; e_274 += 3) {
  11123. n_61[o_41++] = t_200[e_274 + 2];
  11124. n_61[o_41++] = t_200[e_274 + 1];
  11125. n_61[o_41++] = t_200[e_274];
  11126. }
  11127. o_41 += r_85;
  11128. }
  11129. s = n_61;
  11130. }
  11131. else
  11132. for (var e_275 = 0, t_201 = s.length; e_275 < t_201; e_275 += 3) {
  11133. var t_202 = s[e_275];
  11134. s[e_275] = s[e_275 + 2];
  11135. s[e_275 + 2] = t_202;
  11136. }
  11137. break;
  11138. case F:
  11139. a = 32;
  11140. o = 3;
  11141. n = new Uint8Array(68);
  11142. var i_191 = new DataView(n.buffer);
  11143. if (FeatureTest.isLittleEndian) {
  11144. i_191.setUint32(0, 255, !0);
  11145. i_191.setUint32(4, 65280, !0);
  11146. i_191.setUint32(8, 16711680, !0);
  11147. i_191.setUint32(12, 4278190080, !0);
  11148. }
  11149. else {
  11150. i_191.setUint32(0, 4278190080, !0);
  11151. i_191.setUint32(4, 16711680, !0);
  11152. i_191.setUint32(8, 65280, !0);
  11153. i_191.setUint32(12, 255, !0);
  11154. }
  11155. break;
  11156. default: throw new Error("invalid format");
  11157. } var g = 0; var c = 40 + n.length, h = 14 + c + r.length + s.length, l = new Uint8Array(h), C = new DataView(l.buffer); C.setUint16(g, 19778, !0); g += 2; C.setUint32(g, h, !0); g += 4; C.setUint32(g, 0, !0); g += 4; C.setUint32(g, 14 + c + r.length, !0); g += 4; C.setUint32(g, c, !0); g += 4; C.setInt32(g, e, !0); g += 4; C.setInt32(g, -t, !0); g += 4; C.setUint16(g, 1, !0); g += 2; C.setUint16(g, a, !0); g += 2; C.setUint32(g, o, !0); g += 4; C.setUint32(g, 0, !0); g += 4; C.setInt32(g, 0, !0); g += 4; C.setInt32(g, 0, !0); g += 4; C.setUint32(g, r.length / 4, !0); g += 4; C.setUint32(g, 0, !0); g += 4; l.set(n, g); g += n.length; l.set(r, g); g += r.length; l.set(s, g); return l; };
  11158. return ImageResizer;
  11159. }());
  11160. ImageResizer._goodSquareLength = 2048;
  11161. var ms = 3285377520, ys = 4294901760, ws = 65535;
  11162. var MurmurHash3_64 = /** @class */ (function () {
  11163. function MurmurHash3_64(e) {
  11164. this.h1 = e ? 4294967295 & e : ms;
  11165. this.h2 = e ? 4294967295 & e : ms;
  11166. }
  11167. MurmurHash3_64.prototype.update = function (e) { var t, i; if ("string" == typeof e) {
  11168. t = new Uint8Array(2 * e.length);
  11169. i = 0;
  11170. for (var a_168 = 0, s_116 = e.length; a_168 < s_116; a_168++) {
  11171. var s_117 = e.charCodeAt(a_168);
  11172. if (s_117 <= 255)
  11173. t[i++] = s_117;
  11174. else {
  11175. t[i++] = s_117 >>> 8;
  11176. t[i++] = 255 & s_117;
  11177. }
  11178. }
  11179. }
  11180. else {
  11181. if (!ArrayBuffer.isView(e))
  11182. throw new Error("Invalid data format, must be a string or TypedArray.");
  11183. t = e.slice();
  11184. i = t.byteLength;
  11185. } var a = i >> 2, s = i - 4 * a, r = new Uint32Array(t.buffer, 0, a); var n = 0, o = 0, g = this.h1, c = this.h2; var h = 3432918353, l = 461845907, C = 11601, Q = 13715; for (var e_276 = 0; e_276 < a; e_276++)
  11186. if (1 & e_276) {
  11187. n = r[e_276];
  11188. n = n * h & ys | n * C & ws;
  11189. n = n << 15 | n >>> 17;
  11190. n = n * l & ys | n * Q & ws;
  11191. g ^= n;
  11192. g = g << 13 | g >>> 19;
  11193. g = 5 * g + 3864292196;
  11194. }
  11195. else {
  11196. o = r[e_276];
  11197. o = o * h & ys | o * C & ws;
  11198. o = o << 15 | o >>> 17;
  11199. o = o * l & ys | o * Q & ws;
  11200. c ^= o;
  11201. c = c << 13 | c >>> 19;
  11202. c = 5 * c + 3864292196;
  11203. } n = 0; switch (s) {
  11204. case 3: n ^= t[4 * a + 2] << 16;
  11205. case 2: n ^= t[4 * a + 1] << 8;
  11206. case 1:
  11207. n ^= t[4 * a];
  11208. n = n * h & ys | n * C & ws;
  11209. n = n << 15 | n >>> 17;
  11210. n = n * l & ys | n * Q & ws;
  11211. 1 & a ? g ^= n : c ^= n;
  11212. } this.h1 = g; this.h2 = c; };
  11213. MurmurHash3_64.prototype.hexdigest = function () { var e = this.h1, t = this.h2; e ^= t >>> 1; e = 3981806797 * e & ys | 36045 * e & ws; t = 4283543511 * t & ys | (2950163797 * (t << 16 | e >>> 16) & ys) >>> 16; e ^= t >>> 1; e = 444984403 * e & ys | 60499 * e & ws; t = 3301882366 * t & ys | (3120437893 * (t << 16 | e >>> 16) & ys) >>> 16; e ^= t >>> 1; return (e >>> 0).toString(16).padStart(8, "0") + (t >>> 0).toString(16).padStart(8, "0"); };
  11214. return MurmurHash3_64;
  11215. }());
  11216. function addState(e, t, i, a, s) { var r = e; for (var e_277 = 0, i_192 = t.length - 1; e_277 < i_192; e_277++) {
  11217. var i_193 = t[e_277];
  11218. r = r[i_193] || (r[i_193] = []);
  11219. } r[t.at(-1)] = { checkFn: i, iterateFn: a, processFn: s }; }
  11220. var bs = [];
  11221. addState(bs, [GA, MA, ze, xA], null, (function iterateInlineImageGroup(e, t) { var i = e.fnArray, a = (t - (e.iCurr - 3)) % 4; switch (a) {
  11222. case 0: return i[t] === GA;
  11223. case 1: return i[t] === MA;
  11224. case 2: return i[t] === ze;
  11225. case 3: return i[t] === xA;
  11226. } throw new Error("iterateInlineImageGroup - invalid pos: ".concat(a)); }), (function foundInlineImageGroup(e, t) { var i = e.fnArray, a = e.argsArray, s = e.iCurr, r = s - 3, n = s - 2, o = s - 1, g = Math.min(Math.floor((t - r) / 4), 200); if (g < 10)
  11227. return t - (t - r) % 4; var c = 0; var h = []; var l = 0, C = 1, Q = 1; for (var e_278 = 0; e_278 < g; e_278++) {
  11228. var t_203 = a[n + (e_278 << 2)], i_194 = a[o + (e_278 << 2)][0];
  11229. if (C + i_194.width > 1e3) {
  11230. c = Math.max(c, C);
  11231. Q += l + 2;
  11232. C = 0;
  11233. l = 0;
  11234. }
  11235. h.push({ transform: t_203, x: C, y: Q, w: i_194.width, h: i_194.height });
  11236. C += i_194.width + 2;
  11237. l = Math.max(l, i_194.height);
  11238. } var E = Math.max(c, C) + 1, u = Q + l + 1, d = new Uint8Array(E * u * 4), f = E << 2; for (var e_279 = 0; e_279 < g; e_279++) {
  11239. var t_204 = a[o + (e_279 << 2)][0].data, i_195 = h[e_279].w << 2;
  11240. var s_118 = 0, r_86 = h[e_279].x + h[e_279].y * E << 2;
  11241. d.set(t_204.subarray(0, i_195), r_86 - f);
  11242. for (var a_169 = 0, n_62 = h[e_279].h; a_169 < n_62; a_169++) {
  11243. d.set(t_204.subarray(s_118, s_118 + i_195), r_86);
  11244. s_118 += i_195;
  11245. r_86 += f;
  11246. }
  11247. d.set(t_204.subarray(s_118 - i_195, s_118), r_86);
  11248. for (; r_86 >= 0;) {
  11249. t_204[r_86 - 4] = t_204[r_86];
  11250. t_204[r_86 - 3] = t_204[r_86 + 1];
  11251. t_204[r_86 - 2] = t_204[r_86 + 2];
  11252. t_204[r_86 - 1] = t_204[r_86 + 3];
  11253. t_204[r_86 + i_195] = t_204[r_86 + i_195 - 4];
  11254. t_204[r_86 + i_195 + 1] = t_204[r_86 + i_195 - 3];
  11255. t_204[r_86 + i_195 + 2] = t_204[r_86 + i_195 - 2];
  11256. t_204[r_86 + i_195 + 3] = t_204[r_86 + i_195 - 1];
  11257. r_86 -= f;
  11258. }
  11259. } var p = { width: E, height: u }; if (e.isOffscreenCanvasSupported) {
  11260. var e_280 = new OffscreenCanvas(E, u);
  11261. e_280.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(d.buffer), E, u), 0, 0);
  11262. p.bitmap = e_280.transferToImageBitmap();
  11263. p.data = null;
  11264. }
  11265. else {
  11266. p.kind = F;
  11267. p.data = d;
  11268. } i.splice(r, 4 * g, _e); a.splice(r, 4 * g, [p, h]); return r + 1; }));
  11269. addState(bs, [GA, MA, je, xA], null, (function iterateImageMaskGroup(e, t) { var i = e.fnArray, a = (t - (e.iCurr - 3)) % 4; switch (a) {
  11270. case 0: return i[t] === GA;
  11271. case 1: return i[t] === MA;
  11272. case 2: return i[t] === je;
  11273. case 3: return i[t] === xA;
  11274. } throw new Error("iterateImageMaskGroup - invalid pos: ".concat(a)); }), (function foundImageMaskGroup(e, t) { var i = e.fnArray, a = e.argsArray, s = e.iCurr, r = s - 3, n = s - 2, o = s - 1; var g = Math.floor((t - r) / 4); if (g < 10)
  11275. return t - (t - r) % 4; var c, h, l = !1; var C = a[o][0], Q = a[n][0], E = a[n][1], u = a[n][2], d = a[n][3]; if (E === u) {
  11276. l = !0;
  11277. c = n + 4;
  11278. var e_281 = o + 4;
  11279. for (var t_205 = 1; t_205 < g; t_205++, c += 4, e_281 += 4) {
  11280. h = a[c];
  11281. if (a[e_281][0] !== C || h[0] !== Q || h[1] !== E || h[2] !== u || h[3] !== d) {
  11282. t_205 < 10 ? l = !1 : g = t_205;
  11283. break;
  11284. }
  11285. }
  11286. } if (l) {
  11287. g = Math.min(g, 1e3);
  11288. var e_282 = new Float32Array(2 * g);
  11289. c = n;
  11290. for (var t_206 = 0; t_206 < g; t_206++, c += 4) {
  11291. h = a[c];
  11292. e_282[t_206 << 1] = h[4];
  11293. e_282[1 + (t_206 << 1)] = h[5];
  11294. }
  11295. i.splice(r, 4 * g, At);
  11296. a.splice(r, 4 * g, [C, Q, E, u, d, e_282]);
  11297. }
  11298. else {
  11299. g = Math.min(g, 100);
  11300. var e_283 = [];
  11301. for (var t_207 = 0; t_207 < g; t_207++) {
  11302. h = a[n + (t_207 << 2)];
  11303. var i_196 = a[o + (t_207 << 2)][0];
  11304. e_283.push({ data: i_196.data, width: i_196.width, height: i_196.height, interpolate: i_196.interpolate, count: i_196.count, transform: h });
  11305. }
  11306. i.splice(r, 4 * g, Ze);
  11307. a.splice(r, 4 * g, [e_283]);
  11308. } return r + 1; }));
  11309. addState(bs, [GA, MA, Ve, xA], (function (e) { var t = e.argsArray, i = e.iCurr - 2; return 0 === t[i][1] && 0 === t[i][2]; }), (function iterateImageGroup(e, t) { var i = e.fnArray, a = e.argsArray, s = (t - (e.iCurr - 3)) % 4; switch (s) {
  11310. case 0: return i[t] === GA;
  11311. case 1:
  11312. if (i[t] !== MA)
  11313. return !1;
  11314. var s_119 = e.iCurr - 2, r_87 = a[s_119][0], n_63 = a[s_119][3];
  11315. return a[t][0] === r_87 && 0 === a[t][1] && 0 === a[t][2] && a[t][3] === n_63;
  11316. case 2:
  11317. if (i[t] !== Ve)
  11318. return !1;
  11319. var o_42 = a[e.iCurr - 1][0];
  11320. return a[t][0] === o_42;
  11321. case 3: return i[t] === xA;
  11322. } throw new Error("iterateImageGroup - invalid pos: ".concat(s)); }), (function (e, t) { var i = e.fnArray, a = e.argsArray, s = e.iCurr, r = s - 3, n = s - 2, o = a[s - 1][0], g = a[n][0], c = a[n][3], h = Math.min(Math.floor((t - r) / 4), 1e3); if (h < 3)
  11323. return t - (t - r) % 4; var l = new Float32Array(2 * h); var C = n; for (var e_284 = 0; e_284 < h; e_284++, C += 4) {
  11324. var t_208 = a[C];
  11325. l[e_284 << 1] = t_208[4];
  11326. l[1 + (e_284 << 1)] = t_208[5];
  11327. } var Q = [o, g, c, l]; i.splice(r, 4 * h, $e); a.splice(r, 4 * h, Q); return r + 1; }));
  11328. addState(bs, [$A, se, Ie, he, Ae], null, (function iterateShowTextGroup(e, t) { var i = e.fnArray, a = e.argsArray, s = (t - (e.iCurr - 4)) % 5; switch (s) {
  11329. case 0: return i[t] === $A;
  11330. case 1: return i[t] === se;
  11331. case 2: return i[t] === Ie;
  11332. case 3:
  11333. if (i[t] !== he)
  11334. return !1;
  11335. var s_120 = e.iCurr - 3, r_88 = a[s_120][0], n_64 = a[s_120][1];
  11336. return a[t][0] === r_88 && a[t][1] === n_64;
  11337. case 4: return i[t] === Ae;
  11338. } throw new Error("iterateShowTextGroup - invalid pos: ".concat(s)); }), (function (e, t) { var i = e.fnArray, a = e.argsArray, s = e.iCurr, r = s - 4, n = s - 3, o = s - 2, g = s - 1, c = s, h = a[n][0], l = a[n][1]; var C = Math.min(Math.floor((t - r) / 5), 1e3); if (C < 3)
  11339. return t - (t - r) % 5; var Q = r; if (r >= 4 && i[r - 4] === i[n] && i[r - 3] === i[o] && i[r - 2] === i[g] && i[r - 1] === i[c] && a[r - 4][0] === h && a[r - 4][1] === l) {
  11340. C++;
  11341. Q -= 5;
  11342. } var E = Q + 4; for (var e_285 = 1; e_285 < C; e_285++) {
  11343. i.splice(E, 3);
  11344. a.splice(E, 3);
  11345. E += 2;
  11346. } return E + 1; }));
  11347. var NullOptimizer = /** @class */ (function () {
  11348. function NullOptimizer(e) {
  11349. this.queue = e;
  11350. }
  11351. NullOptimizer.prototype._optimize = function () { };
  11352. NullOptimizer.prototype.push = function (e, t) { this.queue.fnArray.push(e); this.queue.argsArray.push(t); this._optimize(); };
  11353. NullOptimizer.prototype.flush = function () { };
  11354. NullOptimizer.prototype.reset = function () { };
  11355. return NullOptimizer;
  11356. }());
  11357. var QueueOptimizer = /** @class */ (function (_super) {
  11358. tslib_1.__extends(QueueOptimizer, _super);
  11359. function QueueOptimizer(e) {
  11360. var _this = _super.call(this, e) || this;
  11361. _this.state = null;
  11362. _this.context = { iCurr: 0, fnArray: e.fnArray, argsArray: e.argsArray, isOffscreenCanvasSupported: !1 };
  11363. _this.match = null;
  11364. _this.lastProcessed = 0;
  11365. return _this;
  11366. }
  11367. Object.defineProperty(QueueOptimizer.prototype, "isOffscreenCanvasSupported", {
  11368. set: function (e) { this.context.isOffscreenCanvasSupported = e; },
  11369. enumerable: false,
  11370. configurable: true
  11371. });
  11372. QueueOptimizer.prototype._optimize = function () { var e = this.queue.fnArray; var t = this.lastProcessed, i = e.length, a = this.state, s = this.match; if (!a && !s && t + 1 === i && !bs[e[t]]) {
  11373. this.lastProcessed = i;
  11374. return;
  11375. } var r = this.context; for (; t < i;) {
  11376. if (s) {
  11377. if ((0, s.iterateFn)(r, t)) {
  11378. t++;
  11379. continue;
  11380. }
  11381. t = (0, s.processFn)(r, t + 1);
  11382. i = e.length;
  11383. s = null;
  11384. a = null;
  11385. if (t >= i)
  11386. break;
  11387. }
  11388. a = (a || bs)[e[t]];
  11389. if (a && !Array.isArray(a)) {
  11390. r.iCurr = t;
  11391. t++;
  11392. if (!a.checkFn || (0, a.checkFn)(r)) {
  11393. s = a;
  11394. a = null;
  11395. }
  11396. else
  11397. a = null;
  11398. }
  11399. else
  11400. t++;
  11401. } this.state = a; this.match = s; this.lastProcessed = t; };
  11402. QueueOptimizer.prototype.flush = function () { for (; this.match;) {
  11403. var e_286 = this.queue.fnArray.length;
  11404. this.lastProcessed = (0, this.match.processFn)(this.context, e_286);
  11405. this.match = null;
  11406. this.state = null;
  11407. this._optimize();
  11408. } };
  11409. QueueOptimizer.prototype.reset = function () { this.state = null; this.match = null; this.lastProcessed = 0; };
  11410. return QueueOptimizer;
  11411. }(NullOptimizer));
  11412. var OperatorList = /** @class */ (function () {
  11413. function OperatorList(e, t) {
  11414. if (e === void 0) { e = 0; }
  11415. this._streamSink = t;
  11416. this.fnArray = [];
  11417. this.argsArray = [];
  11418. this.optimizer = !t || e & Q ? new NullOptimizer(this) : new QueueOptimizer(this);
  11419. this.dependencies = new Set;
  11420. this._totalLength = 0;
  11421. this.weight = 0;
  11422. this._resolved = t ? null : Promise.resolve();
  11423. }
  11424. Object.defineProperty(OperatorList.prototype, "isOffscreenCanvasSupported", {
  11425. set: function (e) { this.optimizer.isOffscreenCanvasSupported = e; },
  11426. enumerable: false,
  11427. configurable: true
  11428. });
  11429. Object.defineProperty(OperatorList.prototype, "length", {
  11430. get: function () { return this.argsArray.length; },
  11431. enumerable: false,
  11432. configurable: true
  11433. });
  11434. Object.defineProperty(OperatorList.prototype, "ready", {
  11435. get: function () { return this._resolved || this._streamSink.ready; },
  11436. enumerable: false,
  11437. configurable: true
  11438. });
  11439. Object.defineProperty(OperatorList.prototype, "totalLength", {
  11440. get: function () { return this._totalLength + this.length; },
  11441. enumerable: false,
  11442. configurable: true
  11443. });
  11444. OperatorList.prototype.addOp = function (e, t) { this.optimizer.push(e, t); this.weight++; this._streamSink && (this.weight >= OperatorList.CHUNK_SIZE || this.weight >= OperatorList.CHUNK_SIZE_ABOUT && (e === xA || e === Ae)) && this.flush(); };
  11445. OperatorList.prototype.addImageOps = function (e, t, i) { void 0 !== i && this.addOp(He, ["OC", i]); this.addOp(e, t); void 0 !== i && this.addOp(Ye, []); };
  11446. OperatorList.prototype.addDependency = function (e) { if (!this.dependencies.has(e)) {
  11447. this.dependencies.add(e);
  11448. this.addOp(yA, [e]);
  11449. } };
  11450. OperatorList.prototype.addDependencies = function (e) { for (var _b = 0, e_287 = e; _b < e_287.length; _b++) {
  11451. var t_209 = e_287[_b];
  11452. this.addDependency(t_209);
  11453. } };
  11454. OperatorList.prototype.addOpList = function (e) { if (e instanceof OperatorList) {
  11455. for (var _b = 0, _j = e.dependencies; _b < _j.length; _b++) {
  11456. var t_210 = _j[_b];
  11457. this.dependencies.add(t_210);
  11458. }
  11459. for (var t_211 = 0, i_197 = e.length; t_211 < i_197; t_211++)
  11460. this.addOp(e.fnArray[t_211], e.argsArray[t_211]);
  11461. }
  11462. else
  11463. warn('addOpList - ignoring invalid "opList" parameter.'); };
  11464. OperatorList.prototype.getIR = function () { return { fnArray: this.fnArray, argsArray: this.argsArray, length: this.length }; };
  11465. Object.defineProperty(OperatorList.prototype, "_transfers", {
  11466. get: function () { var _b; var e = [], _j = this, t = _j.fnArray, i = _j.argsArray, a = _j.length; for (var s_121 = 0; s_121 < a; s_121++)
  11467. switch (t[s_121]) {
  11468. case ze:
  11469. case _e:
  11470. case je:
  11471. var t_212 = i[s_121][0];
  11472. !t_212.cached && ((_b = t_212.data) === null || _b === void 0 ? void 0 : _b.buffer) instanceof ArrayBuffer && e.push(t_212.data.buffer);
  11473. } return e; },
  11474. enumerable: false,
  11475. configurable: true
  11476. });
  11477. OperatorList.prototype.flush = function (e, t) {
  11478. if (e === void 0) { e = !1; }
  11479. if (t === void 0) { t = null; }
  11480. this.optimizer.flush();
  11481. var i = this.length;
  11482. this._totalLength += i;
  11483. this._streamSink.enqueue({ fnArray: this.fnArray, argsArray: this.argsArray, lastChunk: e, separateAnnots: t, length: i }, 1, this._transfers);
  11484. this.dependencies.clear();
  11485. this.fnArray.length = 0;
  11486. this.argsArray.length = 0;
  11487. this.weight = 0;
  11488. this.optimizer.reset();
  11489. };
  11490. var _h;
  11491. _h = OperatorList;
  11492. OperatorList.CHUNK_SIZE = 1e3;
  11493. OperatorList.CHUNK_SIZE_ABOUT = _h.CHUNK_SIZE - 5;
  11494. return OperatorList;
  11495. }());
  11496. function decodeAndClamp(e, t, i, a) { (e = t + e * i) < 0 ? e = 0 : e > a && (e = a); return e; }
  11497. function resizeImageMask(e, t, i, a, s, r) { var n = s * r; var o; o = t <= 8 ? new Uint8Array(n) : t <= 16 ? new Uint16Array(n) : new Uint32Array(n); var g = i / s, c = a / r; var h, l, C, Q, E = 0; var u = new Uint16Array(s), d = i; for (h = 0; h < s; h++)
  11498. u[h] = Math.floor(h * g); for (h = 0; h < r; h++) {
  11499. C = Math.floor(h * c) * d;
  11500. for (l = 0; l < s; l++) {
  11501. Q = C + u[l];
  11502. o[E++] = e[Q];
  11503. }
  11504. } return o; }
  11505. var PDFImage = /** @class */ (function () {
  11506. function PDFImage(_b) {
  11507. var _j;
  11508. var e = _b.xref, t = _b.res, i = _b.image, _k = _b.isInline, a = _k === void 0 ? !1 : _k, _l = _b.smask, s = _l === void 0 ? null : _l, _m = _b.mask, r = _m === void 0 ? null : _m, _o = _b.isMask, n = _o === void 0 ? !1 : _o, o = _b.pdfFunctionFactory, g = _b.localColorSpaceCache;
  11509. var _p;
  11510. this.image = i;
  11511. var c = !1;
  11512. var h = i.dict, l = h.get("F", "Filter");
  11513. var C;
  11514. if (l instanceof Name)
  11515. C = l.name;
  11516. else if (Array.isArray(l)) {
  11517. var t_213 = e.fetchIfRef(l[0]);
  11518. t_213 instanceof Name && (C = t_213.name);
  11519. }
  11520. switch (C) {
  11521. case "JPXDecode":
  11522. (_j = JpxImage.parseImageProperties(i.stream), i.width = _j.width, i.height = _j.height, i.numComps = _j.componentsCount, i.bitsPerComponent = _j.bitsPerComponent);
  11523. i.stream.reset();
  11524. c = !0;
  11525. break;
  11526. case "JBIG2Decode":
  11527. i.bitsPerComponent = 1;
  11528. i.numComps = 1;
  11529. }
  11530. var Q = h.get("W", "Width"), E = h.get("H", "Height");
  11531. if (Number.isInteger(i.width) && i.width > 0 && Number.isInteger(i.height) && i.height > 0 && (i.width !== Q || i.height !== E)) {
  11532. warn("PDFImage - using the Width/Height of the image data, rather than the image dictionary.");
  11533. Q = i.width;
  11534. E = i.height;
  11535. }
  11536. if (Q < 1 || E < 1)
  11537. throw new FormatError("Invalid image width: ".concat(Q, " or height: ").concat(E));
  11538. this.width = Q;
  11539. this.height = E;
  11540. this.interpolate = h.get("I", "Interpolate");
  11541. this.imageMask = h.get("IM", "ImageMask") || !1;
  11542. this.matte = h.get("Matte") || !1;
  11543. var u = i.bitsPerComponent;
  11544. if (!u) {
  11545. u = h.get("BPC", "BitsPerComponent");
  11546. if (!u) {
  11547. if (!this.imageMask)
  11548. throw new FormatError("Bits per component missing in image: ".concat(this.imageMask));
  11549. u = 1;
  11550. }
  11551. }
  11552. this.bpc = u;
  11553. if (!this.imageMask) {
  11554. var s_122 = h.getRaw("CS") || h.getRaw("ColorSpace");
  11555. if (!s_122) {
  11556. info("JPX images (which do not require color spaces)");
  11557. switch (i.numComps) {
  11558. case 1:
  11559. s_122 = Name.get("DeviceGray");
  11560. break;
  11561. case 3:
  11562. s_122 = Name.get("DeviceRGB");
  11563. break;
  11564. case 4:
  11565. s_122 = Name.get("DeviceCMYK");
  11566. break;
  11567. default: throw new Error("JPX images with ".concat(i.numComps, " color components not supported."));
  11568. }
  11569. }
  11570. this.colorSpace = ColorSpace.parse({ cs: s_122, xref: e, resources: a ? t : null, pdfFunctionFactory: o, localColorSpaceCache: g });
  11571. this.numComps = this.colorSpace.numComps;
  11572. this.ignoreColorSpace = c && "Indexed" === this.colorSpace.name;
  11573. }
  11574. this.decode = h.getArray("D", "Decode");
  11575. this.needsDecode = !1;
  11576. if (this.decode && (this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode, u) || n && !ColorSpace.isDefaultDecode(this.decode, 1))) {
  11577. this.needsDecode = !0;
  11578. var e_288 = (1 << u) - 1;
  11579. this.decodeCoefficients = [];
  11580. this.decodeAddends = [];
  11581. var t_214 = "Indexed" === ((_p = this.colorSpace) === null || _p === void 0 ? void 0 : _p.name);
  11582. for (var i_198 = 0, a_170 = 0; i_198 < this.decode.length; i_198 += 2, ++a_170) {
  11583. var s_123 = this.decode[i_198], r_89 = this.decode[i_198 + 1];
  11584. this.decodeCoefficients[a_170] = t_214 ? (r_89 - s_123) / e_288 : r_89 - s_123;
  11585. this.decodeAddends[a_170] = t_214 ? s_123 : e_288 * s_123;
  11586. }
  11587. }
  11588. if (s)
  11589. this.smask = new PDFImage({ xref: e, res: t, image: s, isInline: a, pdfFunctionFactory: o, localColorSpaceCache: g });
  11590. else if (r)
  11591. if (r instanceof BaseStream) {
  11592. r.dict.get("IM", "ImageMask") ? this.mask = new PDFImage({ xref: e, res: t, image: r, isInline: a, isMask: !0, pdfFunctionFactory: o, localColorSpaceCache: g }) : warn("Ignoring /Mask in image without /ImageMask.");
  11593. }
  11594. else
  11595. this.mask = r;
  11596. }
  11597. PDFImage.buildImage = function (_b) {
  11598. var e = _b.xref, t = _b.res, i = _b.image, _j = _b.isInline, a = _j === void 0 ? !1 : _j, s = _b.pdfFunctionFactory, r = _b.localColorSpaceCache;
  11599. return tslib_1.__awaiter(this, void 0, void 0, function () { var n, o, g, c, h; return tslib_1.__generator(this, function (_k) {
  11600. n = i;
  11601. o = null, g = null;
  11602. c = i.dict.get("SMask"), h = i.dict.get("Mask");
  11603. c ? c instanceof BaseStream ? o = c : warn("Unsupported /SMask format.") : h && (h instanceof BaseStream || Array.isArray(h) ? g = h : warn("Unsupported /Mask format."));
  11604. return [2 /*return*/, new PDFImage({ xref: e, res: t, image: n, isInline: a, smask: o, mask: g, pdfFunctionFactory: s, localColorSpaceCache: r })];
  11605. }); });
  11606. };
  11607. PDFImage.createRawMask = function (_b) {
  11608. var e = _b.imgArray, t = _b.width, i = _b.height, a = _b.imageIsFromDecodeStream, s = _b.inverseDecode, r = _b.interpolate;
  11609. var n = (t + 7 >> 3) * i, o = e.byteLength;
  11610. var g, c;
  11611. if (!a || s && !(n === o))
  11612. if (s) {
  11613. g = new Uint8Array(n);
  11614. g.set(e);
  11615. g.fill(255, o);
  11616. }
  11617. else
  11618. g = new Uint8Array(e);
  11619. else
  11620. g = e;
  11621. if (s)
  11622. for (c = 0; c < o; c++)
  11623. g[c] ^= 255;
  11624. return { data: g, width: t, height: i, interpolate: r };
  11625. };
  11626. PDFImage.createMask = function (_b) {
  11627. var e = _b.imgArray, t = _b.width, i = _b.height, a = _b.imageIsFromDecodeStream, s = _b.inverseDecode, r = _b.interpolate, _j = _b.isOffscreenCanvasSupported, n = _j === void 0 ? !1 : _j;
  11628. return tslib_1.__awaiter(this, void 0, void 0, function () { var o, a_171, a_172, n_65, o_43; return tslib_1.__generator(this, function (_k) {
  11629. o = 1 === t && 1 === i && s === (0 === e.length || !!(128 & e[0]));
  11630. if (o)
  11631. return [2 /*return*/, { isSingleOpaquePixel: o }];
  11632. if (n) {
  11633. if (ImageResizer.needsToBeResized(t, i)) {
  11634. a_171 = new Uint8ClampedArray(t * i * 4);
  11635. convertBlackAndWhiteToRGBA({ src: e, dest: a_171, width: t, height: i, nonBlackColor: 0, inverseDecode: s });
  11636. return [2 /*return*/, ImageResizer.createImage({ kind: F, data: a_171, width: t, height: i, interpolate: r })];
  11637. }
  11638. a_172 = new OffscreenCanvas(t, i), n_65 = a_172.getContext("2d"), o_43 = n_65.createImageData(t, i);
  11639. convertBlackAndWhiteToRGBA({ src: e, dest: o_43.data, width: t, height: i, nonBlackColor: 0, inverseDecode: s });
  11640. n_65.putImageData(o_43, 0, 0);
  11641. return [2 /*return*/, { data: null, width: t, height: i, interpolate: r, bitmap: a_172.transferToImageBitmap() }];
  11642. }
  11643. return [2 /*return*/, this.createRawMask({ imgArray: e, width: t, height: i, inverseDecode: s, imageIsFromDecodeStream: a, interpolate: r })];
  11644. }); });
  11645. };
  11646. Object.defineProperty(PDFImage.prototype, "drawWidth", {
  11647. get: function () { var _b, _j; return Math.max(this.width, ((_b = this.smask) === null || _b === void 0 ? void 0 : _b.width) || 0, ((_j = this.mask) === null || _j === void 0 ? void 0 : _j.width) || 0); },
  11648. enumerable: false,
  11649. configurable: true
  11650. });
  11651. Object.defineProperty(PDFImage.prototype, "drawHeight", {
  11652. get: function () { var _b, _j; return Math.max(this.height, ((_b = this.smask) === null || _b === void 0 ? void 0 : _b.height) || 0, ((_j = this.mask) === null || _j === void 0 ? void 0 : _j.height) || 0); },
  11653. enumerable: false,
  11654. configurable: true
  11655. });
  11656. PDFImage.prototype.decodeBuffer = function (e) { var t = this.bpc, i = this.numComps, a = this.decodeAddends, s = this.decodeCoefficients, r = (1 << t) - 1; var n, o; if (1 === t) {
  11657. for (n = 0, o = e.length; n < o; n++)
  11658. e[n] = +!e[n];
  11659. return;
  11660. } var g = 0; for (n = 0, o = this.width * this.height; n < o; n++)
  11661. for (var t_215 = 0; t_215 < i; t_215++) {
  11662. e[g] = decodeAndClamp(e[g], a[t_215], s[t_215], r);
  11663. g++;
  11664. } };
  11665. PDFImage.prototype.getComponents = function (e) { var t = this.bpc; if (8 === t)
  11666. return e; var i = this.width, a = this.height, s = this.numComps, r = i * a * s; var n, o = 0; n = t <= 8 ? new Uint8Array(r) : t <= 16 ? new Uint16Array(r) : new Uint32Array(r); var g = i * s, c = (1 << t) - 1; var h, l, C = 0; if (1 === t) {
  11667. var t_216, i_199, s_124;
  11668. for (var r_90 = 0; r_90 < a; r_90++) {
  11669. i_199 = C + (-8 & g);
  11670. s_124 = C + g;
  11671. for (; C < i_199;) {
  11672. l = e[o++];
  11673. n[C] = l >> 7 & 1;
  11674. n[C + 1] = l >> 6 & 1;
  11675. n[C + 2] = l >> 5 & 1;
  11676. n[C + 3] = l >> 4 & 1;
  11677. n[C + 4] = l >> 3 & 1;
  11678. n[C + 5] = l >> 2 & 1;
  11679. n[C + 6] = l >> 1 & 1;
  11680. n[C + 7] = 1 & l;
  11681. C += 8;
  11682. }
  11683. if (C < s_124) {
  11684. l = e[o++];
  11685. t_216 = 128;
  11686. for (; C < s_124;) {
  11687. n[C++] = +!!(l & t_216);
  11688. t_216 >>= 1;
  11689. }
  11690. }
  11691. }
  11692. }
  11693. else {
  11694. var i_200 = 0;
  11695. l = 0;
  11696. for (C = 0, h = r; C < h; ++C) {
  11697. if (C % g == 0) {
  11698. l = 0;
  11699. i_200 = 0;
  11700. }
  11701. for (; i_200 < t;) {
  11702. l = l << 8 | e[o++];
  11703. i_200 += 8;
  11704. }
  11705. var a_173 = i_200 - t;
  11706. var s_125 = l >> a_173;
  11707. s_125 < 0 ? s_125 = 0 : s_125 > c && (s_125 = c);
  11708. n[C] = s_125;
  11709. l &= (1 << a_173) - 1;
  11710. i_200 = a_173;
  11711. }
  11712. } return n; };
  11713. PDFImage.prototype.fillOpacity = function (e, t, i, a, s) { var r = this.smask, n = this.mask; var o, g, c, h, l, C; if (r) {
  11714. g = r.width;
  11715. c = r.height;
  11716. o = new Uint8ClampedArray(g * c);
  11717. r.fillGrayBuffer(o);
  11718. g === t && c === i || (o = resizeImageMask(o, r.bpc, g, c, t, i));
  11719. }
  11720. else if (n)
  11721. if (n instanceof PDFImage) {
  11722. g = n.width;
  11723. c = n.height;
  11724. o = new Uint8ClampedArray(g * c);
  11725. n.numComps = 1;
  11726. n.fillGrayBuffer(o);
  11727. for (h = 0, l = g * c; h < l; ++h)
  11728. o[h] = 255 - o[h];
  11729. g === t && c === i || (o = resizeImageMask(o, n.bpc, g, c, t, i));
  11730. }
  11731. else {
  11732. if (!Array.isArray(n))
  11733. throw new FormatError("Unknown mask format.");
  11734. {
  11735. o = new Uint8ClampedArray(t * i);
  11736. var e_289 = this.numComps;
  11737. for (h = 0, l = t * i; h < l; ++h) {
  11738. var t_217 = 0;
  11739. var i_201 = h * e_289;
  11740. for (C = 0; C < e_289; ++C) {
  11741. var e_290 = s[i_201 + C], a_174 = 2 * C;
  11742. if (e_290 < n[a_174] || e_290 > n[a_174 + 1]) {
  11743. t_217 = 255;
  11744. break;
  11745. }
  11746. }
  11747. o[h] = t_217;
  11748. }
  11749. }
  11750. } if (o)
  11751. for (h = 0, C = 3, l = t * a; h < l; ++h, C += 4)
  11752. e[C] = o[h];
  11753. else
  11754. for (h = 0, C = 3, l = t * a; h < l; ++h, C += 4)
  11755. e[C] = 255; };
  11756. PDFImage.prototype.undoPreblend = function (e, t, i) { var _b; var a = (_b = this.smask) === null || _b === void 0 ? void 0 : _b.matte; if (!a)
  11757. return; var s = this.colorSpace.getRgb(a, 0), r = s[0], n = s[1], o = s[2], g = t * i * 4; for (var t_218 = 0; t_218 < g; t_218 += 4) {
  11758. var i_202 = e[t_218 + 3];
  11759. if (0 === i_202) {
  11760. e[t_218] = 255;
  11761. e[t_218 + 1] = 255;
  11762. e[t_218 + 2] = 255;
  11763. continue;
  11764. }
  11765. var a_175 = 255 / i_202;
  11766. e[t_218] = (e[t_218] - r) * a_175 + r;
  11767. e[t_218 + 1] = (e[t_218 + 1] - n) * a_175 + n;
  11768. e[t_218 + 2] = (e[t_218 + 2] - o) * a_175 + o;
  11769. } };
  11770. PDFImage.prototype.createImageData = function (e, t) {
  11771. if (e === void 0) { e = !1; }
  11772. if (t === void 0) { t = !1; }
  11773. return tslib_1.__awaiter(this, void 0, void 0, function () { var i, a, s, r, n, o, g, c, h, e_291, r_91, t_219, e_292, i_203, e_293, t_220, t_221, l, C, Q, E, u, d, f, p, m; return tslib_1.__generator(this, function (_b) {
  11774. i = this.drawWidth, a = this.drawHeight, s = { width: i, height: a, interpolate: this.interpolate, kind: 0, data: null }, r = this.numComps, n = this.width, o = this.height, g = this.bpc, c = n * r * g + 7 >> 3, h = t && ImageResizer.needsToBeResized(i, a);
  11775. if (!e) {
  11776. "DeviceGray" === this.colorSpace.name && 1 === g ? e_291 = b : "DeviceRGB" !== this.colorSpace.name || 8 !== g || this.needsDecode || (e_291 = D);
  11777. if (e_291 && !this.smask && !this.mask && i === n && a === o) {
  11778. r_91 = this.getImageBytes(o * c, {});
  11779. if (t)
  11780. return [2 /*return*/, h ? ImageResizer.createImage({ data: r_91, kind: e_291, width: i, height: a, interpolate: this.interpolate }, this.needsDecode) : this.createBitmap(e_291, n, o, r_91)];
  11781. s.kind = e_291;
  11782. s.data = r_91;
  11783. if (this.needsDecode) {
  11784. assert(e_291 === b, "PDFImage.createImageData: The image must be grayscale.");
  11785. t_219 = s.data;
  11786. for (e_292 = 0, i_203 = t_219.length; e_292 < i_203; e_292++)
  11787. t_219[e_292] ^= 255;
  11788. }
  11789. return [2 /*return*/, s];
  11790. }
  11791. if (this.image instanceof JpegStream && !this.smask && !this.mask && !this.needsDecode) {
  11792. e_293 = o * c;
  11793. if (t && !h) {
  11794. t_220 = !1;
  11795. switch (this.colorSpace.name) {
  11796. case "DeviceGray":
  11797. e_293 *= 4;
  11798. t_220 = !0;
  11799. break;
  11800. case "DeviceRGB":
  11801. e_293 = e_293 / 3 * 4;
  11802. t_220 = !0;
  11803. break;
  11804. case "DeviceCMYK": t_220 = !0;
  11805. }
  11806. if (t_220) {
  11807. t_221 = this.getImageBytes(e_293, { drawWidth: i, drawHeight: a, forceRGBA: !0 });
  11808. return [2 /*return*/, this.createBitmap(F, i, a, t_221)];
  11809. }
  11810. }
  11811. else
  11812. switch (this.colorSpace.name) {
  11813. case "DeviceGray": e_293 *= 3;
  11814. case "DeviceRGB":
  11815. case "DeviceCMYK":
  11816. s.kind = D;
  11817. s.data = this.getImageBytes(e_293, { drawWidth: i, drawHeight: a, forceRGB: !0 });
  11818. return [2 /*return*/, h ? ImageResizer.createImage(s) : s];
  11819. }
  11820. }
  11821. }
  11822. l = this.getImageBytes(o * c, { internal: !0 }), C = 0 | l.length / c * a / o, Q = this.getComponents(l);
  11823. if (t && !h) {
  11824. d = new OffscreenCanvas(i, a);
  11825. f = d.getContext("2d");
  11826. p = f.createImageData(i, a);
  11827. m = p.data;
  11828. }
  11829. s.kind = F;
  11830. if (e || this.smask || this.mask) {
  11831. t && !h || (m = new Uint8ClampedArray(i * a * 4));
  11832. E = 1;
  11833. u = !0;
  11834. this.fillOpacity(m, i, a, C, Q);
  11835. }
  11836. else {
  11837. if (!t || h) {
  11838. s.kind = D;
  11839. m = new Uint8ClampedArray(i * a * 3);
  11840. E = 0;
  11841. }
  11842. else {
  11843. new Uint32Array(m.buffer).fill(FeatureTest.isLittleEndian ? 4278190080 : 255);
  11844. E = 1;
  11845. }
  11846. u = !1;
  11847. }
  11848. this.needsDecode && this.decodeBuffer(Q);
  11849. this.colorSpace.fillRgb(m, n, o, i, a, C, g, Q, E);
  11850. u && this.undoPreblend(m, i, C);
  11851. if (t && !h) {
  11852. f.putImageData(p, 0, 0);
  11853. return [2 /*return*/, { data: null, width: i, height: a, bitmap: d.transferToImageBitmap(), interpolate: this.interpolate }];
  11854. }
  11855. s.data = m;
  11856. return [2 /*return*/, h ? ImageResizer.createImage(s) : s];
  11857. }); });
  11858. };
  11859. PDFImage.prototype.fillGrayBuffer = function (e) { var t = this.numComps; if (1 !== t)
  11860. throw new FormatError("Reading gray scale from a color image: ".concat(t)); var i = this.width, a = this.height, s = this.bpc, r = i * t * s + 7 >> 3, n = this.getImageBytes(a * r, { internal: !0 }), o = this.getComponents(n); var g, c; if (1 === s) {
  11861. c = i * a;
  11862. if (this.needsDecode)
  11863. for (g = 0; g < c; ++g)
  11864. e[g] = o[g] - 1 & 255;
  11865. else
  11866. for (g = 0; g < c; ++g)
  11867. e[g] = 255 & -o[g];
  11868. return;
  11869. } this.needsDecode && this.decodeBuffer(o); c = i * a; var h = 255 / ((1 << s) - 1); for (g = 0; g < c; ++g)
  11870. e[g] = h * o[g]; };
  11871. PDFImage.prototype.createBitmap = function (e, t, i, a) { var s = new OffscreenCanvas(t, i), r = s.getContext("2d"); var n; if (e === F)
  11872. n = new ImageData(a, t, i);
  11873. else {
  11874. n = r.createImageData(t, i);
  11875. convertToRGBA({ kind: e, src: a, dest: new Uint32Array(n.data.buffer), width: t, height: i, inverseDecode: this.needsDecode });
  11876. } r.putImageData(n, 0, 0); return { data: null, width: t, height: i, bitmap: s.transferToImageBitmap(), interpolate: this.interpolate }; };
  11877. PDFImage.prototype.getImageBytes = function (e, _b) {
  11878. var t = _b.drawWidth, i = _b.drawHeight, _j = _b.forceRGBA, a = _j === void 0 ? !1 : _j, _k = _b.forceRGB, s = _k === void 0 ? !1 : _k, _l = _b.internal, r = _l === void 0 ? !1 : _l;
  11879. this.image.reset();
  11880. this.image.drawWidth = t || this.width;
  11881. this.image.drawHeight = i || this.height;
  11882. this.image.forceRGBA = !!a;
  11883. this.image.forceRGB = !!s;
  11884. var n = this.image.getBytes(e, this.ignoreColorSpace);
  11885. if (r || this.image instanceof DecodeStream)
  11886. return n;
  11887. assert(n instanceof Uint8Array, 'PDFImage.getImageBytes: Unsupported "imageBytes" type.');
  11888. return new Uint8Array(n);
  11889. };
  11890. return PDFImage;
  11891. }());
  11892. var Ds = Object.freeze({ maxImageSize: -1, disableFontFace: !1, ignoreErrors: !1, isEvalSupported: !0, isOffscreenCanvasSupported: !1, canvasMaxAreaInBytes: -1, fontExtraProperties: !1, useSystemFonts: !0, cMapUrl: null, standardFontDataUrl: null }), Fs = 1, Ss = 2, ks = Promise.resolve();
  11893. function normalizeBlendMode(e, t) {
  11894. if (t === void 0) { t = !1; }
  11895. if (Array.isArray(e)) {
  11896. for (var _b = 0, e_294 = e; _b < e_294.length; _b++) {
  11897. var t_222 = e_294[_b];
  11898. var e_295 = normalizeBlendMode(t_222, !0);
  11899. if (e_295)
  11900. return e_295;
  11901. }
  11902. warn("Unsupported blend mode Array: ".concat(e));
  11903. return "source-over";
  11904. }
  11905. if (!(e instanceof Name))
  11906. return t ? null : "source-over";
  11907. switch (e.name) {
  11908. case "Normal":
  11909. case "Compatible": return "source-over";
  11910. case "Multiply": return "multiply";
  11911. case "Screen": return "screen";
  11912. case "Overlay": return "overlay";
  11913. case "Darken": return "darken";
  11914. case "Lighten": return "lighten";
  11915. case "ColorDodge": return "color-dodge";
  11916. case "ColorBurn": return "color-burn";
  11917. case "HardLight": return "hard-light";
  11918. case "SoftLight": return "soft-light";
  11919. case "Difference": return "difference";
  11920. case "Exclusion": return "exclusion";
  11921. case "Hue": return "hue";
  11922. case "Saturation": return "saturation";
  11923. case "Color": return "color";
  11924. case "Luminosity": return "luminosity";
  11925. }
  11926. if (t)
  11927. return null;
  11928. warn("Unsupported blend mode: ".concat(e.name));
  11929. return "source-over";
  11930. }
  11931. function incrementCachedImageMaskCount(e) { var _b; e.fn === je && ((_b = e.args[0]) === null || _b === void 0 ? void 0 : _b.count) > 0 && e.args[0].count++; }
  11932. var TimeSlotManager = /** @class */ (function () {
  11933. function TimeSlotManager() {
  11934. this.reset();
  11935. }
  11936. TimeSlotManager.prototype.check = function () { if (++this.checked < TimeSlotManager.CHECK_TIME_EVERY)
  11937. return !1; this.checked = 0; return this.endTime <= Date.now(); };
  11938. TimeSlotManager.prototype.reset = function () { this.endTime = Date.now() + TimeSlotManager.TIME_SLOT_DURATION_MS; this.checked = 0; };
  11939. TimeSlotManager.TIME_SLOT_DURATION_MS = 20;
  11940. TimeSlotManager.CHECK_TIME_EVERY = 100;
  11941. return TimeSlotManager;
  11942. }());
  11943. var PartialEvaluator = /** @class */ (function () {
  11944. function PartialEvaluator(_b) {
  11945. var e = _b.xref, t = _b.handler, i = _b.pageIndex, a = _b.idFactory, s = _b.fontCache, r = _b.builtInCMapCache, n = _b.standardFontDataCache, o = _b.globalImageCache, g = _b.systemFontCache, _j = _b.options, c = _j === void 0 ? null : _j;
  11946. this.xref = e;
  11947. this.handler = t;
  11948. this.pageIndex = i;
  11949. this.idFactory = a;
  11950. this.fontCache = s;
  11951. this.builtInCMapCache = r;
  11952. this.standardFontDataCache = n;
  11953. this.globalImageCache = o;
  11954. this.systemFontCache = g;
  11955. this.options = c || Ds;
  11956. this.type3FontRefs = null;
  11957. this._regionalImageCache = new RegionalImageCache;
  11958. this._fetchBuiltInCMapBound = this.fetchBuiltInCMap.bind(this);
  11959. ImageResizer.setMaxArea(this.options.canvasMaxAreaInBytes);
  11960. }
  11961. Object.defineProperty(PartialEvaluator.prototype, "_pdfFunctionFactory", {
  11962. get: function () { return shadow(this, "_pdfFunctionFactory", new PDFFunctionFactory({ xref: this.xref, isEvalSupported: this.options.isEvalSupported })); },
  11963. enumerable: false,
  11964. configurable: true
  11965. });
  11966. Object.defineProperty(PartialEvaluator.prototype, "parsingType3Font", {
  11967. get: function () { return !!this.type3FontRefs; },
  11968. enumerable: false,
  11969. configurable: true
  11970. });
  11971. PartialEvaluator.prototype.clone = function (e) {
  11972. if (e === void 0) { e = null; }
  11973. var t = Object.create(this);
  11974. t.options = Object.assign(Object.create(null), this.options, e);
  11975. return t;
  11976. };
  11977. PartialEvaluator.prototype.hasBlendModes = function (e, t) { if (!(e instanceof Dict))
  11978. return !1; if (e.objId && t.has(e.objId))
  11979. return !1; var i = new RefSet(t); e.objId && i.put(e.objId); var a = [e], s = this.xref; for (; a.length;) {
  11980. var e_296 = a.shift(), t_224 = e_296.get("ExtGState");
  11981. if (t_224 instanceof Dict)
  11982. for (var _b = 0, _j = t_224.getRawValues(); _b < _j.length; _b++) {
  11983. var e_297 = _j[_b];
  11984. if (e_297 instanceof Ref) {
  11985. if (i.has(e_297))
  11986. continue;
  11987. try {
  11988. e_297 = s.fetch(e_297);
  11989. }
  11990. catch (t) {
  11991. i.put(e_297);
  11992. info("hasBlendModes - ignoring ExtGState: \"".concat(t, "\"."));
  11993. continue;
  11994. }
  11995. }
  11996. if (!(e_297 instanceof Dict))
  11997. continue;
  11998. e_297.objId && i.put(e_297.objId);
  11999. var t_225 = e_297.get("BM");
  12000. if (t_225 instanceof Name) {
  12001. if ("Normal" !== t_225.name)
  12002. return !0;
  12003. }
  12004. else if (void 0 !== t_225 && Array.isArray(t_225))
  12005. for (var _k = 0, t_223 = t_225; _k < t_223.length; _k++) {
  12006. var e_298 = t_223[_k];
  12007. if (e_298 instanceof Name && "Normal" !== e_298.name)
  12008. return !0;
  12009. }
  12010. }
  12011. var r_92 = e_296.get("XObject");
  12012. if (r_92 instanceof Dict)
  12013. for (var _l = 0, _m = r_92.getRawValues(); _l < _m.length; _l++) {
  12014. var e_299 = _m[_l];
  12015. if (e_299 instanceof Ref) {
  12016. if (i.has(e_299))
  12017. continue;
  12018. try {
  12019. e_299 = s.fetch(e_299);
  12020. }
  12021. catch (t) {
  12022. i.put(e_299);
  12023. info("hasBlendModes - ignoring XObject: \"".concat(t, "\"."));
  12024. continue;
  12025. }
  12026. }
  12027. if (!(e_299 instanceof BaseStream))
  12028. continue;
  12029. e_299.dict.objId && i.put(e_299.dict.objId);
  12030. var t_226 = e_299.dict.get("Resources");
  12031. if (t_226 instanceof Dict && (!t_226.objId || !i.has(t_226.objId))) {
  12032. a.push(t_226);
  12033. t_226.objId && i.put(t_226.objId);
  12034. }
  12035. }
  12036. } for (var _o = 0, i_204 = i; _o < i_204.length; _o++) {
  12037. var e_300 = i_204[_o];
  12038. t.put(e_300);
  12039. } return !1; };
  12040. PartialEvaluator.prototype.fetchBuiltInCMap = function (e) {
  12041. return tslib_1.__awaiter(this, void 0, void 0, function () {
  12042. var t, i, t_227, a_176, _b;
  12043. var _j;
  12044. return tslib_1.__generator(this, function (_k) {
  12045. switch (_k.label) {
  12046. case 0:
  12047. t = this.builtInCMapCache.get(e);
  12048. if (t)
  12049. return [2 /*return*/, t];
  12050. if (!(null !== this.options.cMapUrl)) return [3 /*break*/, 3];
  12051. t_227 = "".concat(this.options.cMapUrl).concat(e, ".bcmap");
  12052. return [4 /*yield*/, fetch(t_227)];
  12053. case 1:
  12054. a_176 = _k.sent();
  12055. if (!a_176.ok)
  12056. throw new Error("fetchBuiltInCMap: failed to fetch file \"".concat(t_227, "\" with \"").concat(a_176.statusText, "\"."));
  12057. _j = {};
  12058. _b = Uint8Array.bind;
  12059. return [4 /*yield*/, a_176.arrayBuffer()];
  12060. case 2:
  12061. i = (_j.cMapData = new (_b.apply(Uint8Array, [void 0, _k.sent()]))(), _j.compressionType = mA.BINARY, _j);
  12062. return [3 /*break*/, 5];
  12063. case 3: return [4 /*yield*/, this.handler.sendWithPromise("FetchBuiltInCMap", { name: e })];
  12064. case 4:
  12065. i = _k.sent();
  12066. _k.label = 5;
  12067. case 5:
  12068. i.compressionType !== mA.NONE && this.builtInCMapCache.set(e, i);
  12069. return [2 /*return*/, i];
  12070. }
  12071. });
  12072. });
  12073. };
  12074. PartialEvaluator.prototype.fetchStandardFontData = function (e) {
  12075. return tslib_1.__awaiter(this, void 0, void 0, function () { var t, i, a, e_302, t_228, _b, _j, e_301; return tslib_1.__generator(this, function (_k) {
  12076. switch (_k.label) {
  12077. case 0:
  12078. t = this.standardFontDataCache.get(e);
  12079. if (t)
  12080. return [2 /*return*/, new Stream(t)];
  12081. if (this.options.useSystemFonts && "Symbol" !== e && "ZapfDingbats" !== e)
  12082. return [2 /*return*/, null];
  12083. i = Wi()[e];
  12084. if (!(null !== this.options.standardFontDataUrl)) return [3 /*break*/, 5];
  12085. e_302 = "".concat(this.options.standardFontDataUrl).concat(i);
  12086. return [4 /*yield*/, fetch(e_302)];
  12087. case 1:
  12088. t_228 = _k.sent();
  12089. if (!t_228.ok) return [3 /*break*/, 3];
  12090. _j = Uint8Array.bind;
  12091. return [4 /*yield*/, t_228.arrayBuffer()];
  12092. case 2:
  12093. _b = a = new (_j.apply(Uint8Array, [void 0, _k.sent()]))();
  12094. return [3 /*break*/, 4];
  12095. case 3:
  12096. _b = warn("fetchStandardFontData: failed to fetch file \"".concat(e_302, "\" with \"").concat(t_228.statusText, "\"."));
  12097. _k.label = 4;
  12098. case 4:
  12099. _b;
  12100. return [3 /*break*/, 8];
  12101. case 5:
  12102. _k.trys.push([5, 7, , 8]);
  12103. return [4 /*yield*/, this.handler.sendWithPromise("FetchStandardFontData", { filename: i })];
  12104. case 6:
  12105. a = _k.sent();
  12106. return [3 /*break*/, 8];
  12107. case 7:
  12108. e_301 = _k.sent();
  12109. warn("fetchStandardFontData: failed to fetch file \"".concat(i, "\" with \"").concat(e_301, "\"."));
  12110. return [3 /*break*/, 8];
  12111. case 8:
  12112. if (!a)
  12113. return [2 /*return*/, null];
  12114. this.standardFontDataCache.set(e, a);
  12115. return [2 /*return*/, new Stream(a)];
  12116. }
  12117. }); });
  12118. };
  12119. PartialEvaluator.prototype.buildFormXObject = function (e, t, i, a, s, r, n) {
  12120. return tslib_1.__awaiter(this, void 0, void 0, function () { var o, g, c, h, l, _b, C, t_229, i_205, a_177, _j, Q; return tslib_1.__generator(this, function (_k) {
  12121. switch (_k.label) {
  12122. case 0:
  12123. o = t.dict, g = lookupMatrix(o.getArray("Matrix"), null), c = lookupNormalRect(o.getArray("BBox"), null);
  12124. _b = o.has("OC");
  12125. if (!_b) return [3 /*break*/, 2];
  12126. return [4 /*yield*/, this.parseMarkedContentProps(o.get("OC"), e)];
  12127. case 1:
  12128. _b = (h = _k.sent());
  12129. _k.label = 2;
  12130. case 2:
  12131. _b;
  12132. void 0 !== h && a.addOp(He, ["OC", h]);
  12133. C = o.get("Group");
  12134. if (!C) return [3 /*break*/, 6];
  12135. l = { matrix: g, bbox: c, smask: i, isolated: !1, knockout: !1 };
  12136. t_229 = null;
  12137. if (!isName(C.get("S"), "Transparency")) return [3 /*break*/, 5];
  12138. l.isolated = C.get("I") || !1;
  12139. l.knockout = C.get("K") || !1;
  12140. if (!C.has("CS")) return [3 /*break*/, 5];
  12141. i_205 = C.getRaw("CS"), a_177 = ColorSpace.getCached(i_205, this.xref, n);
  12142. _j = a_177;
  12143. if (_j) return [3 /*break*/, 4];
  12144. return [4 /*yield*/, this.parseColorSpace({ cs: i_205, resources: e, localColorSpaceCache: n })];
  12145. case 3:
  12146. _j = (_k.sent());
  12147. _k.label = 4;
  12148. case 4:
  12149. t_229 = _j;
  12150. _k.label = 5;
  12151. case 5:
  12152. if (i === null || i === void 0 ? void 0 : i.backdrop) {
  12153. t_229 || (t_229 = ColorSpace.singletons.rgb);
  12154. i.backdrop = t_229.getRgb(i.backdrop, 0);
  12155. }
  12156. a.addOp(Oe, [l]);
  12157. _k.label = 6;
  12158. case 6:
  12159. Q = C ? [g, null] : [g, c];
  12160. a.addOp(Te, Q);
  12161. return [4 /*yield*/, this.getOperatorList({ stream: t, task: s, resources: o.get("Resources") || e, operatorList: a, initialState: r })];
  12162. case 7:
  12163. _k.sent();
  12164. a.addOp(qe, []);
  12165. C && a.addOp(Pe, [l]);
  12166. void 0 !== h && a.addOp(Ye, []);
  12167. return [2 /*return*/];
  12168. }
  12169. }); });
  12170. };
  12171. PartialEvaluator.prototype._sendImgData = function (e, t, i) {
  12172. if (i === void 0) { i = !1; }
  12173. var a = t ? [t.bitmap || t.data.buffer] : null;
  12174. return this.parsingType3Font || i ? this.handler.send("commonobj", [e, "Image", t], a) : this.handler.send("obj", [e, this.pageIndex, "Image", t], a);
  12175. };
  12176. PartialEvaluator.prototype.buildPaintImageXObject = function (_b) {
  12177. var e = _b.resources, t = _b.image, _j = _b.isInline, i = _j === void 0 ? !1 : _j, a = _b.operatorList, s = _b.cacheKey, r = _b.localImageCache, n = _b.localColorSpaceCache;
  12178. return tslib_1.__awaiter(this, void 0, void 0, function () {
  12179. var o, g, c, h, l, e_304, C, _k, Q, E, e_305, i_206, n_66, l_15, e_306, e_307, u_6, e_308, s_126, e_303, t_230, u, d, e_309, e_310;
  12180. var _this = this;
  12181. return tslib_1.__generator(this, function (_l) {
  12182. switch (_l.label) {
  12183. case 0:
  12184. o = t.dict, g = o.objId, c = o.get("W", "Width"), h = o.get("H", "Height");
  12185. if (!c || "number" != typeof c || !h || "number" != typeof h) {
  12186. warn("Image dimensions are missing, or not numbers.");
  12187. return [2 /*return*/];
  12188. }
  12189. l = this.options.maxImageSize;
  12190. if (-1 !== l && c * h > l) {
  12191. e_304 = "Image exceeded maximum allowed size and was removed.";
  12192. if (this.options.ignoreErrors) {
  12193. warn(e_304);
  12194. return [2 /*return*/];
  12195. }
  12196. throw new Error(e_304);
  12197. }
  12198. _k = o.has("OC");
  12199. if (!_k) return [3 /*break*/, 2];
  12200. return [4 /*yield*/, this.parseMarkedContentProps(o.get("OC"), e)];
  12201. case 1:
  12202. _k = (C = _l.sent());
  12203. _l.label = 2;
  12204. case 2:
  12205. _k;
  12206. if (!(o.get("IM", "ImageMask") || !1)) return [3 /*break*/, 4];
  12207. e_305 = o.get("I", "Interpolate"), i_206 = c + 7 >> 3, n_66 = t.getBytes(i_206 * h), l_15 = o.getArray("D", "Decode");
  12208. if (this.parsingType3Font) {
  12209. Q = PDFImage.createRawMask({ imgArray: n_66, width: c, height: h, imageIsFromDecodeStream: t instanceof DecodeStream, inverseDecode: (l_15 === null || l_15 === void 0 ? void 0 : l_15[0]) > 0, interpolate: e_305 });
  12210. Q.cached = !!s;
  12211. E = [Q];
  12212. a.addImageOps(je, E, C);
  12213. if (s) {
  12214. e_306 = { fn: je, args: E, optionalContent: C };
  12215. r.set(s, g, e_306);
  12216. g && this._regionalImageCache.set(null, g, e_306);
  12217. }
  12218. return [2 /*return*/];
  12219. }
  12220. return [4 /*yield*/, PDFImage.createMask({ imgArray: n_66, width: c, height: h, imageIsFromDecodeStream: t instanceof DecodeStream, inverseDecode: (l_15 === null || l_15 === void 0 ? void 0 : l_15[0]) > 0, interpolate: e_305, isOffscreenCanvasSupported: this.options.isOffscreenCanvasSupported })];
  12221. case 3:
  12222. Q = _l.sent();
  12223. if (Q.isSingleOpaquePixel) {
  12224. a.addImageOps(et, [], C);
  12225. if (s) {
  12226. e_307 = { fn: et, args: [], optionalContent: C };
  12227. r.set(s, g, e_307);
  12228. g && this._regionalImageCache.set(null, g, e_307);
  12229. }
  12230. return [2 /*return*/];
  12231. }
  12232. u_6 = "mask_".concat(this.idFactory.createObjId());
  12233. a.addDependency(u_6);
  12234. Q.dataLen = Q.bitmap ? Q.width * Q.height * 4 : Q.data.length;
  12235. this._sendImgData(u_6, Q);
  12236. E = [{ data: u_6, width: Q.width, height: Q.height, interpolate: Q.interpolate, count: 1 }];
  12237. a.addImageOps(je, E, C);
  12238. if (s) {
  12239. e_308 = { fn: je, args: E, optionalContent: C };
  12240. r.set(s, g, e_308);
  12241. g && this._regionalImageCache.set(null, g, e_308);
  12242. }
  12243. return [2 /*return*/];
  12244. case 4:
  12245. if (!(i && c + h < 200 && !o.has("SMask") && !o.has("Mask"))) return [3 /*break*/, 9];
  12246. _l.label = 5;
  12247. case 5:
  12248. _l.trys.push([5, 7, , 8]);
  12249. s_126 = new PDFImage({ xref: this.xref, res: e, image: t, isInline: i, pdfFunctionFactory: this._pdfFunctionFactory, localColorSpaceCache: n });
  12250. return [4 /*yield*/, s_126.createImageData(!0, !1)];
  12251. case 6:
  12252. Q = _l.sent();
  12253. a.isOffscreenCanvasSupported = this.options.isOffscreenCanvasSupported;
  12254. a.addImageOps(ze, [Q], C);
  12255. return [3 /*break*/, 8];
  12256. case 7:
  12257. e_303 = _l.sent();
  12258. t_230 = "Unable to decode inline image: \"".concat(e_303, "\".");
  12259. if (!this.options.ignoreErrors)
  12260. throw new Error(t_230);
  12261. warn(t_230);
  12262. return [3 /*break*/, 8];
  12263. case 8: return [2 /*return*/];
  12264. case 9:
  12265. u = "img_".concat(this.idFactory.createObjId()), d = !1;
  12266. if (this.parsingType3Font)
  12267. u = "".concat(this.idFactory.getDocId(), "_type3_").concat(u);
  12268. else if (s && g) {
  12269. d = this.globalImageCache.shouldCache(g, this.pageIndex);
  12270. if (d) {
  12271. assert(!i, "Cannot cache an inline image globally.");
  12272. u = "".concat(this.idFactory.getDocId(), "_").concat(u);
  12273. }
  12274. }
  12275. a.addDependency(u);
  12276. E = [u, c, h];
  12277. a.addImageOps(Ve, E, C);
  12278. if (!d) return [3 /*break*/, 11];
  12279. if (this.globalImageCache.hasDecodeFailed(g)) {
  12280. this.globalImageCache.setData(g, { objId: u, fn: Ve, args: E, optionalContent: C, byteSize: 0 });
  12281. this._sendImgData(u, null, d);
  12282. return [2 /*return*/];
  12283. }
  12284. if (!(c * h > 25e4 || o.has("SMask") || o.has("Mask"))) return [3 /*break*/, 11];
  12285. return [4 /*yield*/, this.handler.sendWithPromise("commonobj", [u, "CopyLocalImage", { imageRef: g }])];
  12286. case 10:
  12287. e_309 = _l.sent();
  12288. if (e_309) {
  12289. this.globalImageCache.setData(g, { objId: u, fn: Ve, args: E, optionalContent: C, byteSize: 0 });
  12290. this.globalImageCache.addByteSize(g, e_309);
  12291. return [2 /*return*/];
  12292. }
  12293. _l.label = 11;
  12294. case 11:
  12295. PDFImage.buildImage({ xref: this.xref, res: e, image: t, isInline: i, pdfFunctionFactory: this._pdfFunctionFactory, localColorSpaceCache: n }).then((function (e) { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_b) {
  12296. switch (_b.label) {
  12297. case 0: return [4 /*yield*/, e.createImageData(!1, this.options.isOffscreenCanvasSupported)];
  12298. case 1:
  12299. Q = _b.sent();
  12300. Q.dataLen = Q.bitmap ? Q.width * Q.height * 4 : Q.data.length;
  12301. Q.ref = g;
  12302. d && this.globalImageCache.addByteSize(g, Q.dataLen);
  12303. return [2 /*return*/, this._sendImgData(u, Q, d)];
  12304. }
  12305. }); }); })).catch((function (e) { warn("Unable to decode image \"".concat(u, "\": \"").concat(e, "\".")); g && _this.globalImageCache.addDecodeFailed(g); return _this._sendImgData(u, null, d); }));
  12306. if (s) {
  12307. e_310 = { fn: Ve, args: E, optionalContent: C };
  12308. r.set(s, g, e_310);
  12309. if (g) {
  12310. this._regionalImageCache.set(null, g, e_310);
  12311. d && this.globalImageCache.setData(g, { objId: u, fn: Ve, args: E, optionalContent: C, byteSize: 0 });
  12312. }
  12313. }
  12314. return [2 /*return*/];
  12315. }
  12316. });
  12317. });
  12318. };
  12319. PartialEvaluator.prototype.handleSMask = function (e, t, i, a, s, r) { var n = e.get("G"), o = { subtype: e.get("S").name, backdrop: e.get("BC") }, g = e.get("TR"); if (isPDFFunction(g)) {
  12320. var e_311 = this._pdfFunctionFactory.create(g), t_231 = new Uint8Array(256), i_207 = new Float32Array(1);
  12321. for (var a_178 = 0; a_178 < 256; a_178++) {
  12322. i_207[0] = a_178 / 255;
  12323. e_311(i_207, 0, i_207, 0);
  12324. t_231[a_178] = 255 * i_207[0] | 0;
  12325. }
  12326. o.transferMap = t_231;
  12327. } return this.buildFormXObject(t, n, o, i, a, s.state.clone(), r); };
  12328. PartialEvaluator.prototype.handleTransferFunction = function (e) { var t; if (Array.isArray(e))
  12329. t = e;
  12330. else {
  12331. if (!isPDFFunction(e))
  12332. return null;
  12333. t = [e];
  12334. } var i = []; var a = 0, s = 0; for (var _b = 0, t_232 = t; _b < t_232.length; _b++) {
  12335. var e_312 = t_232[_b];
  12336. var t_233 = this.xref.fetchIfRef(e_312);
  12337. a++;
  12338. if (isName(t_233, "Identity")) {
  12339. i.push(null);
  12340. continue;
  12341. }
  12342. if (!isPDFFunction(t_233))
  12343. return null;
  12344. var r_93 = this._pdfFunctionFactory.create(t_233), n_67 = new Uint8Array(256), o_44 = new Float32Array(1);
  12345. for (var e_313 = 0; e_313 < 256; e_313++) {
  12346. o_44[0] = e_313 / 255;
  12347. r_93(o_44, 0, o_44, 0);
  12348. n_67[e_313] = 255 * o_44[0] | 0;
  12349. }
  12350. i.push(n_67);
  12351. s++;
  12352. } return 1 !== a && 4 !== a || 0 === s ? null : i; };
  12353. PartialEvaluator.prototype.handleTilingType = function (e, t, i, a, s, r, n, o) {
  12354. var _this = this;
  12355. var g = new OperatorList, c = Dict.merge({ xref: this.xref, dictArray: [s.get("Resources"), i] });
  12356. return this.getOperatorList({ stream: a, task: n, resources: c, operatorList: g }).then((function () { var i = g.getIR(), a = getTilingPatternIR(i, s, t); r.addDependencies(g.dependencies); r.addOp(e, a); s.objId && o.set(null, s.objId, { operatorListIR: i, dict: s }); })).catch((function (e) { if (!(e instanceof AbortException)) {
  12357. if (!_this.options.ignoreErrors)
  12358. throw e;
  12359. warn("handleTilingType - ignoring pattern: \"".concat(e, "\"."));
  12360. } }));
  12361. };
  12362. PartialEvaluator.prototype.handleSetFont = function (e, t, i, a, s, r, n, o) {
  12363. if (n === void 0) { n = null; }
  12364. if (o === void 0) { o = null; }
  12365. return tslib_1.__awaiter(this, void 0, void 0, function () { var g, c, e_314; return tslib_1.__generator(this, function (_b) {
  12366. switch (_b.label) {
  12367. case 0:
  12368. g = (t === null || t === void 0 ? void 0 : t[0]) instanceof Name ? t[0].name : null;
  12369. return [4 /*yield*/, this.loadFont(g, i, e, n, o)];
  12370. case 1:
  12371. c = _b.sent();
  12372. if (!c.font.isType3Font) return [3 /*break*/, 5];
  12373. _b.label = 2;
  12374. case 2:
  12375. _b.trys.push([2, 4, , 5]);
  12376. return [4 /*yield*/, c.loadType3Data(this, e, s)];
  12377. case 3:
  12378. _b.sent();
  12379. a.addDependencies(c.type3Dependencies);
  12380. return [3 /*break*/, 5];
  12381. case 4:
  12382. e_314 = _b.sent();
  12383. c = new TranslatedFont({ loadedName: "g_font_error", font: new ErrorFont("Type3 font load error: ".concat(e_314)), dict: c.font, evaluatorOptions: this.options });
  12384. return [3 /*break*/, 5];
  12385. case 5:
  12386. r.font = c.font;
  12387. c.send(this.handler);
  12388. return [2 /*return*/, c.loadedName];
  12389. }
  12390. }); });
  12391. };
  12392. PartialEvaluator.prototype.handleText = function (e, t) { var i = t.font, a = i.charsToGlyphs(e); if (i.data) {
  12393. (!!(t.textRenderingMode & w) || "Pattern" === t.fillColorSpace.name || i.disableFontFace || this.options.disableFontFace) && PartialEvaluator.buildFontPaths(i, a, this.handler, this.options);
  12394. } return a; };
  12395. PartialEvaluator.prototype.ensureStateFont = function (e) { if (e.font)
  12396. return; var t = new FormatError("Missing setFont (Tf) operator before text rendering operator."); if (!this.options.ignoreErrors)
  12397. throw t; warn("ensureStateFont: \"".concat(t, "\".")); };
  12398. PartialEvaluator.prototype.setGState = function (_b) {
  12399. var e = _b.resources, t = _b.gState, i = _b.operatorList, a = _b.cacheKey, s = _b.task, r = _b.stateManager, n = _b.localGStateCache, o = _b.localColorSpaceCache;
  12400. return tslib_1.__awaiter(this, void 0, void 0, function () {
  12401. var g, c, h, l, _loop_1, this_1, _j, _k, a_179;
  12402. var _this = this;
  12403. return tslib_1.__generator(this, function (_l) {
  12404. switch (_l.label) {
  12405. case 0:
  12406. g = t.objId;
  12407. c = !0;
  12408. h = [];
  12409. l = Promise.resolve();
  12410. _loop_1 = function (a_179) {
  12411. var n_68 = t.get(a_179);
  12412. switch (a_179) {
  12413. case "Type": break;
  12414. case "LW":
  12415. case "LC":
  12416. case "LJ":
  12417. case "ML":
  12418. case "D":
  12419. case "RI":
  12420. case "FL":
  12421. case "CA":
  12422. case "ca":
  12423. h.push([a_179, n_68]);
  12424. break;
  12425. case "Font":
  12426. c = !1;
  12427. l = l.then((function () { return _this.handleSetFont(e, null, n_68[0], i, s, r.state).then((function (e) { i.addDependency(e); h.push([a_179, [e, n_68[1]]]); })); }));
  12428. break;
  12429. case "BM":
  12430. h.push([a_179, normalizeBlendMode(n_68)]);
  12431. break;
  12432. case "SMask":
  12433. if (isName(n_68, "None")) {
  12434. h.push([a_179, !1]);
  12435. break;
  12436. }
  12437. if (n_68 instanceof Dict) {
  12438. c = !1;
  12439. l = l.then((function () { return _this.handleSMask(n_68, e, i, s, r, o); }));
  12440. h.push([a_179, !0]);
  12441. }
  12442. else
  12443. warn("Unsupported SMask type");
  12444. break;
  12445. case "TR":
  12446. var t_234 = this_1.handleTransferFunction(n_68);
  12447. h.push([a_179, t_234]);
  12448. break;
  12449. case "OP":
  12450. case "op":
  12451. case "OPM":
  12452. case "BG":
  12453. case "BG2":
  12454. case "UCR":
  12455. case "UCR2":
  12456. case "TR2":
  12457. case "HT":
  12458. case "SM":
  12459. case "SA":
  12460. case "AIS":
  12461. case "TK":
  12462. info("graphic state operator " + a_179);
  12463. break;
  12464. default: info("Unknown graphic state operator " + a_179);
  12465. }
  12466. };
  12467. this_1 = this;
  12468. for (_j = 0, _k = t.getKeys(); _j < _k.length; _j++) {
  12469. a_179 = _k[_j];
  12470. _loop_1(a_179);
  12471. }
  12472. return [4 /*yield*/, l];
  12473. case 1:
  12474. _l.sent();
  12475. h.length > 0 && i.addOp(NA, [h]);
  12476. c && n.set(a, g, h);
  12477. return [2 /*return*/];
  12478. }
  12479. });
  12480. });
  12481. };
  12482. PartialEvaluator.prototype.loadFont = function (e, t, i, a, s) {
  12483. var _this = this;
  12484. var _b;
  12485. if (a === void 0) { a = null; }
  12486. if (s === void 0) { s = null; }
  12487. var errorFont = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_b) {
  12488. return [2 /*return*/, new TranslatedFont({ loadedName: "g_font_error", font: new ErrorFont("Font \"".concat(e, "\" is not available.")), dict: t, evaluatorOptions: this.options })];
  12489. }); }); };
  12490. var r;
  12491. if (t)
  12492. t instanceof Ref && (r = t);
  12493. else {
  12494. var t_235 = i.get("Font");
  12495. t_235 && (r = t_235.getRaw(e));
  12496. }
  12497. if (r) {
  12498. if ((_b = this.type3FontRefs) === null || _b === void 0 ? void 0 : _b.has(r))
  12499. return errorFont();
  12500. if (this.fontCache.has(r))
  12501. return this.fontCache.get(r);
  12502. try {
  12503. t = this.xref.fetchIfRef(r);
  12504. }
  12505. catch (e) {
  12506. warn("loadFont - lookup failed: \"".concat(e, "\"."));
  12507. }
  12508. }
  12509. if (!(t instanceof Dict)) {
  12510. if (!this.options.ignoreErrors && !this.parsingType3Font) {
  12511. warn("Font \"".concat(e, "\" is not available."));
  12512. return errorFont();
  12513. }
  12514. warn("Font \"".concat(e, "\" is not available -- attempting to fallback to a default font."));
  12515. t = a || PartialEvaluator.fallbackFontDict;
  12516. }
  12517. if (t.cacheKey && this.fontCache.has(t.cacheKey))
  12518. return this.fontCache.get(t.cacheKey);
  12519. var _j = Promise.withResolvers(), n = _j.promise, o = _j.resolve;
  12520. var g;
  12521. try {
  12522. g = this.preEvaluateFont(t);
  12523. g.cssFontInfo = s;
  12524. }
  12525. catch (e) {
  12526. warn("loadFont - preEvaluateFont failed: \"".concat(e, "\"."));
  12527. return errorFont();
  12528. }
  12529. var c = g.descriptor, h = g.hash, l = r instanceof Ref;
  12530. var C;
  12531. if (h && c instanceof Dict) {
  12532. var e_315 = c.fontAliases || (c.fontAliases = Object.create(null));
  12533. if (e_315[h]) {
  12534. var t_236 = e_315[h].aliasRef;
  12535. if (l && t_236 && this.fontCache.has(t_236)) {
  12536. this.fontCache.putAlias(r, t_236);
  12537. return this.fontCache.get(r);
  12538. }
  12539. }
  12540. else
  12541. e_315[h] = { fontID: this.idFactory.createFontId() };
  12542. l && (e_315[h].aliasRef = r);
  12543. C = e_315[h].fontID;
  12544. }
  12545. else
  12546. C = this.idFactory.createFontId();
  12547. assert(C === null || C === void 0 ? void 0 : C.startsWith("f"), 'The "fontID" must be (correctly) defined.');
  12548. if (l)
  12549. this.fontCache.put(r, n);
  12550. else {
  12551. t.cacheKey = "cacheKey_".concat(C);
  12552. this.fontCache.put(t.cacheKey, n);
  12553. }
  12554. t.loadedName = "".concat(this.idFactory.getDocId(), "_").concat(C);
  12555. this.translateFont(g).then((function (e) { o(new TranslatedFont({ loadedName: t.loadedName, font: e, dict: t, evaluatorOptions: _this.options })); })).catch((function (e) { warn("loadFont - translateFont failed: \"".concat(e, "\".")); o(new TranslatedFont({ loadedName: t.loadedName, font: new ErrorFont(e instanceof Error ? e.message : e), dict: t, evaluatorOptions: _this.options })); }));
  12556. return n;
  12557. };
  12558. PartialEvaluator.prototype.buildPath = function (e, t, i, a) {
  12559. var _b;
  12560. if (a === void 0) { a = !1; }
  12561. var s = e.length - 1;
  12562. i || (i = []);
  12563. if (s < 0 || e.fnArray[s] !== tt) {
  12564. if (a) {
  12565. warn("Encountered path operator \"".concat(t, "\" inside of a text object."));
  12566. e.addOp(GA, null);
  12567. }
  12568. var s_127;
  12569. switch (t) {
  12570. case KA:
  12571. var e_316 = i[0] + i[2], t_237 = i[1] + i[3];
  12572. s_127 = [Math.min(i[0], e_316), Math.min(i[1], t_237), Math.max(i[0], e_316), Math.max(i[1], t_237)];
  12573. break;
  12574. case UA:
  12575. case LA:
  12576. s_127 = [i[0], i[1], i[0], i[1]];
  12577. break;
  12578. default: s_127 = [1 / 0, 1 / 0, -1 / 0, -1 / 0];
  12579. }
  12580. e.addOp(tt, [[t], i, s_127]);
  12581. a && e.addOp(xA, null);
  12582. }
  12583. else {
  12584. var a_180 = e.argsArray[s];
  12585. a_180[0].push(t);
  12586. (_b = a_180[1]).push.apply(_b, i);
  12587. var r_94 = a_180[2];
  12588. switch (t) {
  12589. case KA:
  12590. var e_317 = i[0] + i[2], t_238 = i[1] + i[3];
  12591. r_94[0] = Math.min(r_94[0], i[0], e_317);
  12592. r_94[1] = Math.min(r_94[1], i[1], t_238);
  12593. r_94[2] = Math.max(r_94[2], i[0], e_317);
  12594. r_94[3] = Math.max(r_94[3], i[1], t_238);
  12595. break;
  12596. case UA:
  12597. case LA:
  12598. r_94[0] = Math.min(r_94[0], i[0]);
  12599. r_94[1] = Math.min(r_94[1], i[1]);
  12600. r_94[2] = Math.max(r_94[2], i[0]);
  12601. r_94[3] = Math.max(r_94[3], i[1]);
  12602. }
  12603. }
  12604. };
  12605. PartialEvaluator.prototype.parseColorSpace = function (_b) {
  12606. var _this = this;
  12607. var e = _b.cs, t = _b.resources, i = _b.localColorSpaceCache;
  12608. return ColorSpace.parseAsync({ cs: e, xref: this.xref, resources: t, pdfFunctionFactory: this._pdfFunctionFactory, localColorSpaceCache: i }).catch((function (e) { if (e instanceof AbortException)
  12609. return null; if (_this.options.ignoreErrors) {
  12610. warn("parseColorSpace - ignoring ColorSpace: \"".concat(e, "\"."));
  12611. return null;
  12612. } throw e; }));
  12613. };
  12614. PartialEvaluator.prototype.parseShading = function (_b) {
  12615. var e = _b.shading, t = _b.resources, i = _b.localColorSpaceCache, a = _b.localShadingPatternCache;
  12616. var s, r = a.get(e);
  12617. if (r)
  12618. return r;
  12619. try {
  12620. s = Pattern.parseShading(e, this.xref, t, this._pdfFunctionFactory, i).getIR();
  12621. }
  12622. catch (t) {
  12623. if (t instanceof AbortException)
  12624. return null;
  12625. if (this.options.ignoreErrors) {
  12626. warn("parseShading - ignoring shading: \"".concat(t, "\"."));
  12627. a.set(e, null);
  12628. return null;
  12629. }
  12630. throw t;
  12631. }
  12632. r = "pattern_".concat(this.idFactory.createObjId());
  12633. this.parsingType3Font && (r = "".concat(this.idFactory.getDocId(), "_type3_").concat(r));
  12634. a.set(e, r);
  12635. this.parsingType3Font ? this.handler.send("commonobj", [r, "Pattern", s]) : this.handler.send("obj", [r, this.pageIndex, "Pattern", s]);
  12636. return r;
  12637. };
  12638. PartialEvaluator.prototype.handleColorN = function (e, t, i, a, s, r, n, o, g, c) { var h = i.pop(); if (h instanceof Name) {
  12639. var l_16 = s.getRaw(h.name), C_14 = l_16 instanceof Ref && g.getByRef(l_16);
  12640. if (C_14)
  12641. try {
  12642. var s_128 = a.base ? a.base.getRgb(i, 0) : null, r_95 = getTilingPatternIR(C_14.operatorListIR, C_14.dict, s_128);
  12643. e.addOp(t, r_95);
  12644. return;
  12645. }
  12646. catch (_b) { }
  12647. var Q_15 = this.xref.fetchIfRef(l_16);
  12648. if (Q_15) {
  12649. var s_129 = Q_15 instanceof BaseStream ? Q_15.dict : Q_15, h_15 = s_129.get("PatternType");
  12650. if (h_15 === Fs) {
  12651. var o_45 = a.base ? a.base.getRgb(i, 0) : null;
  12652. return this.handleTilingType(t, o_45, r, Q_15, s_129, e, n, g);
  12653. }
  12654. if (h_15 === Ss) {
  12655. var i_208 = s_129.get("Shading"), a_181 = this.parseShading({ shading: i_208, resources: r, localColorSpaceCache: o, localShadingPatternCache: c });
  12656. if (a_181) {
  12657. var i_209 = lookupMatrix(s_129.getArray("Matrix"), null);
  12658. e.addOp(t, ["Shading", a_181, i_209]);
  12659. }
  12660. return;
  12661. }
  12662. throw new FormatError("Unknown PatternType: ".concat(h_15));
  12663. }
  12664. } throw new FormatError("Unknown PatternName: ".concat(h)); };
  12665. PartialEvaluator.prototype._parseVisibilityExpression = function (e, t, i) { if (++t > 10) {
  12666. warn("Visibility expression is too deeply nested");
  12667. return;
  12668. } var a = e.length, s = this.xref.fetchIfRef(e[0]); if (!(a < 2) && s instanceof Name) {
  12669. switch (s.name) {
  12670. case "And":
  12671. case "Or":
  12672. case "Not":
  12673. i.push(s.name);
  12674. break;
  12675. default:
  12676. warn("Invalid operator ".concat(s.name, " in visibility expression"));
  12677. return;
  12678. }
  12679. for (var s_130 = 1; s_130 < a; s_130++) {
  12680. var a_182 = e[s_130], r_96 = this.xref.fetchIfRef(a_182);
  12681. if (Array.isArray(r_96)) {
  12682. var e_318 = [];
  12683. i.push(e_318);
  12684. this._parseVisibilityExpression(r_96, t, e_318);
  12685. }
  12686. else
  12687. a_182 instanceof Ref && i.push(a_182.toString());
  12688. }
  12689. }
  12690. else
  12691. warn("Invalid visibility expression"); };
  12692. PartialEvaluator.prototype.parseMarkedContentProps = function (e, t) {
  12693. var _b;
  12694. return tslib_1.__awaiter(this, void 0, void 0, function () { var i, a, e_319, t_240, t_241, e_320, _j, t_239, i_210; return tslib_1.__generator(this, function (_k) {
  12695. if (e instanceof Name) {
  12696. i = t.get("Properties").get(e.name);
  12697. }
  12698. else {
  12699. if (!(e instanceof Dict))
  12700. throw new FormatError("Optional content properties malformed.");
  12701. i = e;
  12702. }
  12703. a = (_b = i.get("Type")) === null || _b === void 0 ? void 0 : _b.name;
  12704. if ("OCG" === a)
  12705. return [2 /*return*/, { type: a, id: i.objId }];
  12706. if ("OCMD" === a) {
  12707. e_319 = i.get("VE");
  12708. if (Array.isArray(e_319)) {
  12709. t_240 = [];
  12710. this._parseVisibilityExpression(e_319, 0, t_240);
  12711. if (t_240.length > 0)
  12712. return [2 /*return*/, { type: "OCMD", expression: t_240 }];
  12713. }
  12714. t_241 = i.get("OCGs");
  12715. if (Array.isArray(t_241) || t_241 instanceof Dict) {
  12716. e_320 = [];
  12717. if (Array.isArray(t_241))
  12718. for (_j = 0, t_239 = t_241; _j < t_239.length; _j++) {
  12719. i_210 = t_239[_j];
  12720. e_320.push(i_210.toString());
  12721. }
  12722. else
  12723. e_320.push(t_241.objId);
  12724. return [2 /*return*/, { type: a, ids: e_320, policy: i.get("P") instanceof Name ? i.get("P").name : null, expression: null }];
  12725. }
  12726. if (t_241 instanceof Ref)
  12727. return [2 /*return*/, { type: a, id: t_241.toString() }];
  12728. }
  12729. return [2 /*return*/, null];
  12730. }); });
  12731. };
  12732. PartialEvaluator.prototype.getOperatorList = function (_b) {
  12733. var _this = this;
  12734. var e = _b.stream, t = _b.task, i = _b.resources, a = _b.operatorList, _j = _b.initialState, s = _j === void 0 ? null : _j, _k = _b.fallbackFontDict, r = _k === void 0 ? null : _k;
  12735. i || (i = Dict.empty);
  12736. s || (s = new EvalState);
  12737. if (!a)
  12738. throw new Error('getOperatorList: missing "operatorList" parameter');
  12739. var n = this, o = this.xref;
  12740. var g = !1;
  12741. var c = new LocalImageCache, h = new LocalColorSpaceCache, l = new LocalGStateCache, C = new LocalTilingPatternCache, Q = new Map, E = i.get("XObject") || Dict.empty, u = i.get("Pattern") || Dict.empty, d = new StateManager(s), f = new EvaluatorPreprocessor(e, o, d), p = new TimeSlotManager;
  12742. function closePendingRestoreOPS(e) { for (var e_321 = 0, t_242 = f.savedStatesDepth; e_321 < t_242; e_321++)
  12743. a.addOp(xA, []); }
  12744. return new Promise((function promiseBody(e, s) { var next = function (t) { Promise.all([t, a.ready]).then((function () { try {
  12745. promiseBody(e, s);
  12746. }
  12747. catch (e) {
  12748. s(e);
  12749. } }), s); }; t.ensureNotTerminated(); p.reset(); var m = {}; var y, w, b, D, F, S; for (; !(y = p.check());) {
  12750. m.args = null;
  12751. if (!f.read(m))
  12752. break;
  12753. var e_322 = m.args, s_131 = m.fn;
  12754. switch (0 | s_131) {
  12755. case Me:
  12756. S = e_322[0] instanceof Name;
  12757. F = e_322[0].name;
  12758. if (S) {
  12759. var t_243 = c.getByName(F);
  12760. if (t_243) {
  12761. a.addImageOps(t_243.fn, t_243.args, t_243.optionalContent);
  12762. incrementCachedImageMaskCount(t_243);
  12763. e_322 = null;
  12764. continue;
  12765. }
  12766. }
  12767. next(new Promise((function (e, s) { if (!S)
  12768. throw new FormatError("XObject must be referred to by name."); var r = E.getRaw(F); if (r instanceof Ref) {
  12769. var t_244 = c.getByRef(r) || n._regionalImageCache.getByRef(r);
  12770. if (t_244) {
  12771. a.addImageOps(t_244.fn, t_244.args, t_244.optionalContent);
  12772. incrementCachedImageMaskCount(t_244);
  12773. e();
  12774. return;
  12775. }
  12776. var i_211 = n.globalImageCache.getData(r, n.pageIndex);
  12777. if (i_211) {
  12778. a.addDependency(i_211.objId);
  12779. a.addImageOps(i_211.fn, i_211.args, i_211.optionalContent);
  12780. e();
  12781. return;
  12782. }
  12783. r = o.fetch(r);
  12784. } if (!(r instanceof BaseStream))
  12785. throw new FormatError("XObject should be a stream"); var g = r.dict.get("Subtype"); if (!(g instanceof Name))
  12786. throw new FormatError("XObject should have a Name subtype"); if ("Form" !== g.name)
  12787. if ("Image" !== g.name) {
  12788. if ("PS" !== g.name)
  12789. throw new FormatError("Unhandled XObject subtype ".concat(g.name));
  12790. info("Ignored XObject subtype PS");
  12791. e();
  12792. }
  12793. else
  12794. n.buildPaintImageXObject({ resources: i, image: r, operatorList: a, cacheKey: F, localImageCache: c, localColorSpaceCache: h }).then(e, s);
  12795. else {
  12796. d.save();
  12797. n.buildFormXObject(i, r, null, a, t, d.state.clone(), h).then((function () { d.restore(); e(); }), s);
  12798. } })).catch((function (e) { if (!(e instanceof AbortException)) {
  12799. if (!n.options.ignoreErrors)
  12800. throw e;
  12801. warn("getOperatorList - ignoring XObject: \"".concat(e, "\"."));
  12802. } })));
  12803. return;
  12804. case se:
  12805. var k = e_322[1];
  12806. next(n.handleSetFont(i, e_322, null, a, t, d.state, r).then((function (e) { a.addDependency(e); a.addOp(se, [e, k]); })));
  12807. return;
  12808. case $A:
  12809. g = !0;
  12810. break;
  12811. case Ae:
  12812. g = !1;
  12813. break;
  12814. case xe:
  12815. var R = e_322[0].cacheKey;
  12816. if (R) {
  12817. var t_245 = c.getByName(R);
  12818. if (t_245) {
  12819. a.addImageOps(t_245.fn, t_245.args, t_245.optionalContent);
  12820. incrementCachedImageMaskCount(t_245);
  12821. e_322 = null;
  12822. continue;
  12823. }
  12824. }
  12825. next(n.buildPaintImageXObject({ resources: i, image: e_322[0], isInline: !0, operatorList: a, cacheKey: R, localImageCache: c, localColorSpaceCache: h }));
  12826. return;
  12827. case he:
  12828. if (!d.state.font) {
  12829. n.ensureStateFont(d.state);
  12830. continue;
  12831. }
  12832. e_322[0] = n.handleText(e_322[0], d.state);
  12833. break;
  12834. case le:
  12835. if (!d.state.font) {
  12836. n.ensureStateFont(d.state);
  12837. continue;
  12838. }
  12839. var N = [], G = d.state;
  12840. for (var _b = 0, _j = e_322[0]; _b < _j.length; _b++) {
  12841. var t_246 = _j[_b];
  12842. "string" == typeof t_246 ? N.push.apply(N, n.handleText(t_246, G)) : "number" == typeof t_246 && N.push(t_246);
  12843. }
  12844. e_322[0] = N;
  12845. s_131 = he;
  12846. break;
  12847. case Ce:
  12848. if (!d.state.font) {
  12849. n.ensureStateFont(d.state);
  12850. continue;
  12851. }
  12852. a.addOp(ce);
  12853. e_322[0] = n.handleText(e_322[0], d.state);
  12854. s_131 = he;
  12855. break;
  12856. case Be:
  12857. if (!d.state.font) {
  12858. n.ensureStateFont(d.state);
  12859. continue;
  12860. }
  12861. a.addOp(ce);
  12862. a.addOp(te, [e_322.shift()]);
  12863. a.addOp(ee, [e_322.shift()]);
  12864. e_322[0] = n.handleText(e_322[0], d.state);
  12865. s_131 = he;
  12866. break;
  12867. case re:
  12868. d.state.textRenderingMode = e_322[0];
  12869. break;
  12870. case de: {
  12871. var t_247 = ColorSpace.getCached(e_322[0], o, h);
  12872. if (t_247) {
  12873. d.state.fillColorSpace = t_247;
  12874. continue;
  12875. }
  12876. next(n.parseColorSpace({ cs: e_322[0], resources: i, localColorSpaceCache: h }).then((function (e) { e && (d.state.fillColorSpace = e); })));
  12877. return;
  12878. }
  12879. case ue: {
  12880. var t_248 = ColorSpace.getCached(e_322[0], o, h);
  12881. if (t_248) {
  12882. d.state.strokeColorSpace = t_248;
  12883. continue;
  12884. }
  12885. next(n.parseColorSpace({ cs: e_322[0], resources: i, localColorSpaceCache: h }).then((function (e) { e && (d.state.strokeColorSpace = e); })));
  12886. return;
  12887. }
  12888. case me:
  12889. D = d.state.fillColorSpace;
  12890. e_322 = D.getRgb(e_322, 0);
  12891. s_131 = Fe;
  12892. break;
  12893. case fe:
  12894. D = d.state.strokeColorSpace;
  12895. e_322 = D.getRgb(e_322, 0);
  12896. s_131 = De;
  12897. break;
  12898. case be:
  12899. d.state.fillColorSpace = ColorSpace.singletons.gray;
  12900. e_322 = ColorSpace.singletons.gray.getRgb(e_322, 0);
  12901. s_131 = Fe;
  12902. break;
  12903. case we:
  12904. d.state.strokeColorSpace = ColorSpace.singletons.gray;
  12905. e_322 = ColorSpace.singletons.gray.getRgb(e_322, 0);
  12906. s_131 = De;
  12907. break;
  12908. case ke:
  12909. d.state.fillColorSpace = ColorSpace.singletons.cmyk;
  12910. e_322 = ColorSpace.singletons.cmyk.getRgb(e_322, 0);
  12911. s_131 = Fe;
  12912. break;
  12913. case Se:
  12914. d.state.strokeColorSpace = ColorSpace.singletons.cmyk;
  12915. e_322 = ColorSpace.singletons.cmyk.getRgb(e_322, 0);
  12916. s_131 = De;
  12917. break;
  12918. case Fe:
  12919. d.state.fillColorSpace = ColorSpace.singletons.rgb;
  12920. e_322 = ColorSpace.singletons.rgb.getRgb(e_322, 0);
  12921. break;
  12922. case De:
  12923. d.state.strokeColorSpace = ColorSpace.singletons.rgb;
  12924. e_322 = ColorSpace.singletons.rgb.getRgb(e_322, 0);
  12925. break;
  12926. case ye:
  12927. D = d.state.fillColorSpace;
  12928. if ("Pattern" === D.name) {
  12929. next(n.handleColorN(a, ye, e_322, D, u, i, t, h, C, Q));
  12930. return;
  12931. }
  12932. e_322 = D.getRgb(e_322, 0);
  12933. s_131 = Fe;
  12934. break;
  12935. case pe:
  12936. D = d.state.strokeColorSpace;
  12937. if ("Pattern" === D.name) {
  12938. next(n.handleColorN(a, pe, e_322, D, u, i, t, h, C, Q));
  12939. return;
  12940. }
  12941. e_322 = D.getRgb(e_322, 0);
  12942. s_131 = De;
  12943. break;
  12944. case Re:
  12945. var x = i.get("Shading");
  12946. if (!x)
  12947. throw new FormatError("No shading resource found");
  12948. var M = x.get(e_322[0].name);
  12949. if (!M)
  12950. throw new FormatError("No shading object found");
  12951. var f_7 = n.parseShading({ shading: M, resources: i, localColorSpaceCache: h, localShadingPatternCache: Q });
  12952. if (!f_7)
  12953. continue;
  12954. e_322 = [f_7];
  12955. s_131 = Re;
  12956. break;
  12957. case NA:
  12958. S = e_322[0] instanceof Name;
  12959. F = e_322[0].name;
  12960. if (S) {
  12961. var t_249 = l.getByName(F);
  12962. if (t_249) {
  12963. t_249.length > 0 && a.addOp(NA, [t_249]);
  12964. e_322 = null;
  12965. continue;
  12966. }
  12967. }
  12968. next(new Promise((function (e, s) { if (!S)
  12969. throw new FormatError("GState must be referred to by name."); var r = i.get("ExtGState"); if (!(r instanceof Dict))
  12970. throw new FormatError("ExtGState should be a dictionary."); var o = r.get(F); if (!(o instanceof Dict))
  12971. throw new FormatError("GState should be a dictionary."); n.setGState({ resources: i, gState: o, operatorList: a, cacheKey: F, task: t, stateManager: d, localGStateCache: l, localColorSpaceCache: h }).then(e, s); })).catch((function (e) { if (!(e instanceof AbortException)) {
  12972. if (!n.options.ignoreErrors)
  12973. throw e;
  12974. warn("getOperatorList - ignoring ExtGState: \"".concat(e, "\"."));
  12975. } })));
  12976. return;
  12977. case UA:
  12978. case LA:
  12979. case JA:
  12980. case HA:
  12981. case YA:
  12982. case vA:
  12983. case KA:
  12984. n.buildPath(a, s_131, e_322, g);
  12985. continue;
  12986. case Ue:
  12987. case Le:
  12988. case ve:
  12989. case Ke: continue;
  12990. case He:
  12991. if (!(e_322[0] instanceof Name)) {
  12992. warn("Expected name for beginMarkedContentProps arg0=".concat(e_322[0]));
  12993. a.addOp(He, ["OC", null]);
  12994. continue;
  12995. }
  12996. if ("OC" === e_322[0].name) {
  12997. next(n.parseMarkedContentProps(e_322[1], i).then((function (e) { a.addOp(He, ["OC", e]); })).catch((function (e) { if (!(e instanceof AbortException)) {
  12998. if (!n.options.ignoreErrors)
  12999. throw e;
  13000. warn("getOperatorList - ignoring beginMarkedContentProps: \"".concat(e, "\"."));
  13001. a.addOp(He, ["OC", null]);
  13002. } })));
  13003. return;
  13004. }
  13005. e_322 = [e_322[0].name, e_322[1] instanceof Dict ? e_322[1].get("MCID") : null];
  13006. break;
  13007. default: if (null !== e_322) {
  13008. for (w = 0, b = e_322.length; w < b && !(e_322[w] instanceof Dict); w++)
  13009. ;
  13010. if (w < b) {
  13011. warn("getOperatorList - ignoring operator: " + s_131);
  13012. continue;
  13013. }
  13014. }
  13015. }
  13016. a.addOp(s_131, e_322);
  13017. } if (y)
  13018. next(ks);
  13019. else {
  13020. closePendingRestoreOPS();
  13021. e();
  13022. } })).catch((function (e) { if (!(e instanceof AbortException)) {
  13023. if (!_this.options.ignoreErrors)
  13024. throw e;
  13025. warn("getOperatorList - ignoring errors during \"".concat(t.name, "\" task: \"").concat(e, "\"."));
  13026. closePendingRestoreOPS();
  13027. } }));
  13028. };
  13029. PartialEvaluator.prototype.getTextContent = function (_b) {
  13030. var _this = this;
  13031. var e = _b.stream, t = _b.task, s = _b.resources, _j = _b.stateManager, r = _j === void 0 ? null : _j, _k = _b.includeMarkedContent, n = _k === void 0 ? !1 : _k, o = _b.sink, _l = _b.seenStyles, g = _l === void 0 ? new Set : _l, c = _b.viewBox, _m = _b.lang, h = _m === void 0 ? null : _m, _o = _b.markedContentData, l = _o === void 0 ? null : _o, _p = _b.disableNormalization, C = _p === void 0 ? !1 : _p, _q = _b.keepWhiteSpace, Q = _q === void 0 ? !1 : _q;
  13032. s || (s = Dict.empty);
  13033. r || (r = new StateManager(new TextState));
  13034. n && (l || (l = { level: 0 }));
  13035. var E = { items: [], styles: Object.create(null), lang: h }, u = { initialized: !1, str: [], totalWidth: 0, totalHeight: 0, width: 0, height: 0, vertical: !1, prevTransform: null, textAdvanceScale: 0, spaceInFlowMin: 0, spaceInFlowMax: 0, trackingSpaceMin: 1 / 0, negativeSpaceMax: -1 / 0, notASpace: -1 / 0, transform: null, fontName: null, hasEOL: !1 }, d = [" ", " "];
  13036. var f = 0;
  13037. function saveLastChar(e) { var t = (f + 1) % 2, i = " " !== d[f] && " " === d[t]; d[f] = e; f = t; return !Q && i; }
  13038. function shouldAddWhitepsace() { return !Q && " " !== d[f] && " " === d[(f + 1) % 2]; }
  13039. function resetLastChars() { d[0] = d[1] = " "; f = 0; }
  13040. var p = this, m = this.xref, y = [];
  13041. var w = null;
  13042. var b = new LocalImageCache, D = new LocalGStateCache, F = new EvaluatorPreprocessor(e, m, r);
  13043. var S;
  13044. function pushWhitespace(_b) {
  13045. var _j = _b.width, e = _j === void 0 ? 0 : _j, _k = _b.height, t = _k === void 0 ? 0 : _k, _l = _b.transform, i = _l === void 0 ? u.prevTransform : _l, _m = _b.fontName, a = _m === void 0 ? u.fontName : _m;
  13046. E.items.push({ str: " ", dir: "ltr", width: e, height: t, transform: i, fontName: a, hasEOL: !1 });
  13047. }
  13048. function getCurrentTextTransform() { var e = S.font, t = [S.fontSize * S.textHScale, 0, 0, S.fontSize, 0, S.textRise]; if (e.isType3Font && (S.fontSize <= 1 || e.isCharBBox) && !isArrayEqual(S.fontMatrix, a)) {
  13049. var i_212 = e.bbox[3] - e.bbox[1];
  13050. i_212 > 0 && (t[3] *= i_212 * S.fontMatrix[3]);
  13051. } return Util.transform(S.ctm, Util.transform(S.textMatrix, t)); }
  13052. function ensureTextContentItem() { if (u.initialized)
  13053. return u; var e = S.font, t = S.loadedName; if (!g.has(t)) {
  13054. g.add(t);
  13055. E.styles[t] = { fontFamily: e.fallbackName, ascent: e.ascent, descent: e.descent, vertical: e.vertical };
  13056. if (p.options.fontExtraProperties && e.systemFontInfo) {
  13057. var i_213 = E.styles[t];
  13058. i_213.fontSubstitution = e.systemFontInfo.css;
  13059. i_213.fontSubstitutionLoadedName = e.systemFontInfo.loadedName;
  13060. }
  13061. } u.fontName = t; var i = u.transform = getCurrentTextTransform(); if (e.vertical) {
  13062. u.width = u.totalWidth = Math.hypot(i[0], i[1]);
  13063. u.height = u.totalHeight = 0;
  13064. u.vertical = !0;
  13065. }
  13066. else {
  13067. u.width = u.totalWidth = 0;
  13068. u.height = u.totalHeight = Math.hypot(i[2], i[3]);
  13069. u.vertical = !1;
  13070. } var a = Math.hypot(S.textLineMatrix[0], S.textLineMatrix[1]), s = Math.hypot(S.ctm[0], S.ctm[1]); u.textAdvanceScale = s * a; var r = S.fontSize; u.trackingSpaceMin = .102 * r; u.notASpace = .03 * r; u.negativeSpaceMax = -.2 * r; u.spaceInFlowMin = .102 * r; u.spaceInFlowMax = .6 * r; u.hasEOL = !1; u.initialized = !0; return u; }
  13071. function updateAdvanceScale() { if (!u.initialized)
  13072. return; var e = Math.hypot(S.textLineMatrix[0], S.textLineMatrix[1]), t = Math.hypot(S.ctm[0], S.ctm[1]) * e; if (t !== u.textAdvanceScale) {
  13073. if (u.vertical) {
  13074. u.totalHeight += u.height * u.textAdvanceScale;
  13075. u.height = 0;
  13076. }
  13077. else {
  13078. u.totalWidth += u.width * u.textAdvanceScale;
  13079. u.width = 0;
  13080. }
  13081. u.textAdvanceScale = t;
  13082. } }
  13083. function runBidiTransform(e) { var t = e.str.join(""); C || (t = function normalizeUnicode(e) { if (!gt) {
  13084. gt = /([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu;
  13085. It = new Map([["ſt", "ſt"]]);
  13086. } return e.replaceAll(gt, (function (e, t, i) { return t ? t.normalize("NFKC") : It.get(i); })); }(t)); var i = bidi(t, -1, e.vertical); return { str: i.str, dir: i.dir, width: Math.abs(e.totalWidth), height: Math.abs(e.totalHeight), transform: e.transform, fontName: e.fontName, hasEOL: e.hasEOL }; }
  13087. function handleSetFont(e, i) {
  13088. return tslib_1.__awaiter(this, void 0, void 0, function () { var r, _b; return tslib_1.__generator(this, function (_j) {
  13089. switch (_j.label) {
  13090. case 0: return [4 /*yield*/, p.loadFont(e, i, s)];
  13091. case 1:
  13092. r = _j.sent();
  13093. if (!r.font.isType3Font) return [3 /*break*/, 5];
  13094. _j.label = 2;
  13095. case 2:
  13096. _j.trys.push([2, 4, , 5]);
  13097. return [4 /*yield*/, r.loadType3Data(p, s, t)];
  13098. case 3:
  13099. _j.sent();
  13100. return [3 /*break*/, 5];
  13101. case 4:
  13102. _b = _j.sent();
  13103. return [3 /*break*/, 5];
  13104. case 5:
  13105. S.loadedName = r.loadedName;
  13106. S.font = r.font;
  13107. S.fontMatrix = r.font.fontMatrix || a;
  13108. return [2 /*return*/];
  13109. }
  13110. }); });
  13111. }
  13112. function applyInverseRotation(e, t, i) { var a = Math.hypot(i[0], i[1]); return [(i[0] * e + i[1] * t) / a, (i[2] * e + i[3] * t) / a]; }
  13113. function compareWithLastPosition(e) {
  13114. var _b, _j, _k, _l, _m, _o, _p;
  13115. var _q;
  13116. var t = getCurrentTextTransform();
  13117. var i = t[4], a = t[5];
  13118. if ((_q = S.font) === null || _q === void 0 ? void 0 : _q.vertical) {
  13119. if (i < c[0] || i > c[2] || a + e < c[1] || a > c[3])
  13120. return !1;
  13121. }
  13122. else if (i + e < c[0] || i > c[2] || a < c[1] || a > c[3])
  13123. return !1;
  13124. if (!S.font || !u.prevTransform)
  13125. return !0;
  13126. var s = u.prevTransform[4], r = u.prevTransform[5];
  13127. if (s === i && r === a)
  13128. return !0;
  13129. var n = -1;
  13130. t[0] && 0 === t[1] && 0 === t[2] ? n = t[0] > 0 ? 0 : 180 : t[1] && 0 === t[0] && 0 === t[3] && (n = t[1] > 0 ? 90 : 270);
  13131. switch (n) {
  13132. case 0: break;
  13133. case 90:
  13134. _b = [a, i], i = _b[0], a = _b[1];
  13135. _j = [r, s], s = _j[0], r = _j[1];
  13136. break;
  13137. case 180:
  13138. _k = [-i, -a, -s, -r], i = _k[0], a = _k[1], s = _k[2], r = _k[3];
  13139. break;
  13140. case 270:
  13141. _l = [-a, -i], i = _l[0], a = _l[1];
  13142. _m = [-r, -s], s = _m[0], r = _m[1];
  13143. break;
  13144. default:
  13145. _o = applyInverseRotation(i, a, t), i = _o[0], a = _o[1];
  13146. _p = applyInverseRotation(s, r, u.prevTransform), s = _p[0], r = _p[1];
  13147. }
  13148. if (S.font.vertical) {
  13149. var e_323 = (r - a) / u.textAdvanceScale, t_250 = i - s, n_69 = Math.sign(u.height);
  13150. if (e_323 < n_69 * u.negativeSpaceMax) {
  13151. if (Math.abs(t_250) > .5 * u.width) {
  13152. appendEOL();
  13153. return !0;
  13154. }
  13155. resetLastChars();
  13156. flushTextContentItem();
  13157. return !0;
  13158. }
  13159. if (Math.abs(t_250) > u.width) {
  13160. appendEOL();
  13161. return !0;
  13162. }
  13163. e_323 <= n_69 * u.notASpace && resetLastChars();
  13164. if (e_323 <= n_69 * u.trackingSpaceMin)
  13165. if (shouldAddWhitepsace()) {
  13166. resetLastChars();
  13167. flushTextContentItem();
  13168. pushWhitespace({ height: Math.abs(e_323) });
  13169. }
  13170. else
  13171. u.height += e_323;
  13172. else if (!addFakeSpaces(e_323, u.prevTransform, n_69))
  13173. if (0 === u.str.length) {
  13174. resetLastChars();
  13175. pushWhitespace({ height: Math.abs(e_323) });
  13176. }
  13177. else
  13178. u.height += e_323;
  13179. Math.abs(t_250) > .25 * u.width && flushTextContentItem();
  13180. return !0;
  13181. }
  13182. var o = (i - s) / u.textAdvanceScale, g = a - r, h = Math.sign(u.width);
  13183. if (o < h * u.negativeSpaceMax) {
  13184. if (Math.abs(g) > .5 * u.height) {
  13185. appendEOL();
  13186. return !0;
  13187. }
  13188. resetLastChars();
  13189. flushTextContentItem();
  13190. return !0;
  13191. }
  13192. if (Math.abs(g) > u.height) {
  13193. appendEOL();
  13194. return !0;
  13195. }
  13196. o <= h * u.notASpace && resetLastChars();
  13197. if (o <= h * u.trackingSpaceMin)
  13198. if (shouldAddWhitepsace()) {
  13199. resetLastChars();
  13200. flushTextContentItem();
  13201. pushWhitespace({ width: Math.abs(o) });
  13202. }
  13203. else
  13204. u.width += o;
  13205. else if (!addFakeSpaces(o, u.prevTransform, h))
  13206. if (0 === u.str.length) {
  13207. resetLastChars();
  13208. pushWhitespace({ width: Math.abs(o) });
  13209. }
  13210. else
  13211. u.width += o;
  13212. Math.abs(g) > .25 * u.height && flushTextContentItem();
  13213. return !0;
  13214. }
  13215. function buildTextContentItem(_b) {
  13216. var e = _b.chars, t = _b.extraSpacing;
  13217. var i = S.font;
  13218. if (!e) {
  13219. var e_324 = S.charSpacing + t;
  13220. e_324 && (i.vertical ? S.translateTextMatrix(0, -e_324) : S.translateTextMatrix(e_324 * S.textHScale, 0));
  13221. Q && compareWithLastPosition(0);
  13222. return;
  13223. }
  13224. var a = i.charsToGlyphs(e), s = S.fontMatrix[0] * S.fontSize;
  13225. for (var e_325 = 0, r_97 = a.length; e_325 < r_97; e_325++) {
  13226. var n_70 = a[e_325], o_46 = n_70.category;
  13227. if (o_46.isInvisibleFormatMark)
  13228. continue;
  13229. var g_33 = S.charSpacing + (e_325 + 1 === r_97 ? t : 0), c_20 = n_70.width;
  13230. i.vertical && (c_20 = n_70.vmetric ? n_70.vmetric[0] : -c_20);
  13231. var h_16 = c_20 * s;
  13232. if (!Q && o_46.isWhitespace) {
  13233. if (i.vertical) {
  13234. g_33 += -h_16 + S.wordSpacing;
  13235. S.translateTextMatrix(0, -g_33);
  13236. }
  13237. else {
  13238. g_33 += h_16 + S.wordSpacing;
  13239. S.translateTextMatrix(g_33 * S.textHScale, 0);
  13240. }
  13241. saveLastChar(" ");
  13242. continue;
  13243. }
  13244. if (!o_46.isZeroWidthDiacritic && !compareWithLastPosition(h_16)) {
  13245. i.vertical ? S.translateTextMatrix(0, h_16) : S.translateTextMatrix(h_16 * S.textHScale, 0);
  13246. continue;
  13247. }
  13248. var l_17 = ensureTextContentItem();
  13249. o_46.isZeroWidthDiacritic && (h_16 = 0);
  13250. if (i.vertical) {
  13251. S.translateTextMatrix(0, h_16);
  13252. h_16 = Math.abs(h_16);
  13253. l_17.height += h_16;
  13254. }
  13255. else {
  13256. h_16 *= S.textHScale;
  13257. S.translateTextMatrix(h_16, 0);
  13258. l_17.width += h_16;
  13259. }
  13260. h_16 && (l_17.prevTransform = getCurrentTextTransform());
  13261. var C_15 = n_70.unicode;
  13262. saveLastChar(C_15) && l_17.str.push(" ");
  13263. l_17.str.push(C_15);
  13264. g_33 && (i.vertical ? S.translateTextMatrix(0, -g_33) : S.translateTextMatrix(g_33 * S.textHScale, 0));
  13265. }
  13266. }
  13267. function appendEOL() { resetLastChars(); if (u.initialized) {
  13268. u.hasEOL = !0;
  13269. flushTextContentItem();
  13270. }
  13271. else
  13272. E.items.push({ str: "", dir: "ltr", width: 0, height: 0, transform: getCurrentTextTransform(), fontName: S.loadedName, hasEOL: !0 }); }
  13273. function addFakeSpaces(e, t, i) { if (i * u.spaceInFlowMin <= e && e <= i * u.spaceInFlowMax) {
  13274. if (u.initialized) {
  13275. resetLastChars();
  13276. u.str.push(" ");
  13277. }
  13278. return !1;
  13279. } var a = u.fontName; var s = 0; if (u.vertical) {
  13280. s = e;
  13281. e = 0;
  13282. } flushTextContentItem(); resetLastChars(); pushWhitespace({ width: Math.abs(e), height: Math.abs(s), transform: t || getCurrentTextTransform(), fontName: a }); return !0; }
  13283. function flushTextContentItem() { if (u.initialized && u.str) {
  13284. u.vertical ? u.totalHeight += u.height * u.textAdvanceScale : u.totalWidth += u.width * u.textAdvanceScale;
  13285. E.items.push(runBidiTransform(u));
  13286. u.initialized = !1;
  13287. u.str.length = 0;
  13288. } }
  13289. function enqueueChunk(e) {
  13290. if (e === void 0) { e = !1; }
  13291. var t = E.items.length;
  13292. if (0 !== t && !(e && t < 10)) {
  13293. o.enqueue(E, t);
  13294. E.items = [];
  13295. E.styles = Object.create(null);
  13296. }
  13297. }
  13298. var k = new TimeSlotManager;
  13299. return new Promise((function promiseBody(e, a) { var next = function (t) { enqueueChunk(!0); Promise.all([t, o.ready]).then((function () { try {
  13300. promiseBody(e, a);
  13301. }
  13302. catch (e) {
  13303. a(e);
  13304. } }), a); }; t.ensureNotTerminated(); k.reset(); var u = {}; var d, f = []; for (; !(d = k.check());) {
  13305. f.length = 0;
  13306. u.args = f;
  13307. if (!F.read(u))
  13308. break;
  13309. var e_326 = S;
  13310. S = r.state;
  13311. var a_183 = u.fn;
  13312. f = u.args;
  13313. switch (0 | a_183) {
  13314. case se:
  13315. var R = f[0].name, N = f[1];
  13316. if (S.font && R === S.fontName && N === S.fontSize)
  13317. break;
  13318. flushTextContentItem();
  13319. S.fontName = R;
  13320. S.fontSize = N;
  13321. next(handleSetFont(R, null));
  13322. return;
  13323. case ne:
  13324. S.textRise = f[0];
  13325. break;
  13326. case ie:
  13327. S.textHScale = f[0] / 100;
  13328. break;
  13329. case ae:
  13330. S.leading = f[0];
  13331. break;
  13332. case oe:
  13333. S.translateTextLineMatrix(f[0], f[1]);
  13334. S.textMatrix = S.textLineMatrix.slice();
  13335. break;
  13336. case ge:
  13337. S.leading = -f[1];
  13338. S.translateTextLineMatrix(f[0], f[1]);
  13339. S.textMatrix = S.textLineMatrix.slice();
  13340. break;
  13341. case ce:
  13342. S.carriageReturn();
  13343. break;
  13344. case Ie:
  13345. S.setTextMatrix(f[0], f[1], f[2], f[3], f[4], f[5]);
  13346. S.setTextLineMatrix(f[0], f[1], f[2], f[3], f[4], f[5]);
  13347. updateAdvanceScale();
  13348. break;
  13349. case ee:
  13350. S.charSpacing = f[0];
  13351. break;
  13352. case te:
  13353. S.wordSpacing = f[0];
  13354. break;
  13355. case $A:
  13356. S.textMatrix = i.slice();
  13357. S.textLineMatrix = i.slice();
  13358. break;
  13359. case le:
  13360. if (!r.state.font) {
  13361. p.ensureStateFont(r.state);
  13362. continue;
  13363. }
  13364. var a_184 = (S.font.vertical ? 1 : -1) * S.fontSize / 1e3, u_7 = f[0];
  13365. for (var e_327 = 0, t_251 = u_7.length; e_327 < t_251; e_327++) {
  13366. var t_252 = u_7[e_327];
  13367. if ("string" == typeof t_252)
  13368. y.push(t_252);
  13369. else if ("number" == typeof t_252 && 0 !== t_252) {
  13370. var e_328 = y.join("");
  13371. y.length = 0;
  13372. buildTextContentItem({ chars: e_328, extraSpacing: t_252 * a_184 });
  13373. }
  13374. }
  13375. if (y.length > 0) {
  13376. var e_329 = y.join("");
  13377. y.length = 0;
  13378. buildTextContentItem({ chars: e_329, extraSpacing: 0 });
  13379. }
  13380. break;
  13381. case he:
  13382. if (!r.state.font) {
  13383. p.ensureStateFont(r.state);
  13384. continue;
  13385. }
  13386. buildTextContentItem({ chars: f[0], extraSpacing: 0 });
  13387. break;
  13388. case Ce:
  13389. if (!r.state.font) {
  13390. p.ensureStateFont(r.state);
  13391. continue;
  13392. }
  13393. S.carriageReturn();
  13394. buildTextContentItem({ chars: f[0], extraSpacing: 0 });
  13395. break;
  13396. case Be:
  13397. if (!r.state.font) {
  13398. p.ensureStateFont(r.state);
  13399. continue;
  13400. }
  13401. S.wordSpacing = f[0];
  13402. S.charSpacing = f[1];
  13403. S.carriageReturn();
  13404. buildTextContentItem({ chars: f[2], extraSpacing: 0 });
  13405. break;
  13406. case Me:
  13407. flushTextContentItem();
  13408. w || (w = s.get("XObject") || Dict.empty);
  13409. var G = f[0] instanceof Name, x = f[0].name;
  13410. if (G && b.getByName(x))
  13411. break;
  13412. next(new Promise((function (e, i) { if (!G)
  13413. throw new FormatError("XObject must be referred to by name."); var a = w.getRaw(x); if (a instanceof Ref) {
  13414. if (b.getByRef(a)) {
  13415. e();
  13416. return;
  13417. }
  13418. if (p.globalImageCache.getData(a, p.pageIndex)) {
  13419. e();
  13420. return;
  13421. }
  13422. a = m.fetch(a);
  13423. } if (!(a instanceof BaseStream))
  13424. throw new FormatError("XObject should be a stream"); var E = a.dict.get("Subtype"); if (!(E instanceof Name))
  13425. throw new FormatError("XObject should have a Name subtype"); if ("Form" !== E.name) {
  13426. b.set(x, a.dict.objId, !0);
  13427. e();
  13428. return;
  13429. } var u = r.state.clone(), d = new StateManager(u), f = lookupMatrix(a.dict.getArray("Matrix"), null); f && d.transform(f); enqueueChunk(); var y = { enqueueInvoked: !1, enqueue: function (e, t) { this.enqueueInvoked = !0; o.enqueue(e, t); }, get desiredSize() { return o.desiredSize; }, get ready() { return o.ready; } }; p.getTextContent({ stream: a, task: t, resources: a.dict.get("Resources") || s, stateManager: d, includeMarkedContent: n, sink: y, seenStyles: g, viewBox: c, lang: h, markedContentData: l, disableNormalization: C, keepWhiteSpace: Q }).then((function () { y.enqueueInvoked || b.set(x, a.dict.objId, !0); e(); }), i); })).catch((function (e) { if (!(e instanceof AbortException)) {
  13430. if (!p.options.ignoreErrors)
  13431. throw e;
  13432. warn("getTextContent - ignoring XObject: \"".concat(e, "\"."));
  13433. } })));
  13434. return;
  13435. case NA:
  13436. G = f[0] instanceof Name;
  13437. x = f[0].name;
  13438. if (G && D.getByName(x))
  13439. break;
  13440. next(new Promise((function (e, t) { if (!G)
  13441. throw new FormatError("GState must be referred to by name."); var i = s.get("ExtGState"); if (!(i instanceof Dict))
  13442. throw new FormatError("ExtGState should be a dictionary."); var a = i.get(x); if (!(a instanceof Dict))
  13443. throw new FormatError("GState should be a dictionary."); var r = a.get("Font"); if (r) {
  13444. flushTextContentItem();
  13445. S.fontName = null;
  13446. S.fontSize = r[1];
  13447. handleSetFont(null, r[0]).then(e, t);
  13448. }
  13449. else {
  13450. D.set(x, a.objId, !0);
  13451. e();
  13452. } })).catch((function (e) { if (!(e instanceof AbortException)) {
  13453. if (!p.options.ignoreErrors)
  13454. throw e;
  13455. warn("getTextContent - ignoring ExtGState: \"".concat(e, "\"."));
  13456. } })));
  13457. return;
  13458. case Je:
  13459. flushTextContentItem();
  13460. if (n) {
  13461. l.level++;
  13462. E.items.push({ type: "beginMarkedContent", tag: f[0] instanceof Name ? f[0].name : null });
  13463. }
  13464. break;
  13465. case He:
  13466. flushTextContentItem();
  13467. if (n) {
  13468. l.level++;
  13469. var e_330 = null;
  13470. f[1] instanceof Dict && (e_330 = f[1].get("MCID"));
  13471. E.items.push({ type: "beginMarkedContentProps", id: Number.isInteger(e_330) ? "".concat(p.idFactory.getPageObjId(), "_mc").concat(e_330) : null, tag: f[0] instanceof Name ? f[0].name : null });
  13472. }
  13473. break;
  13474. case Ye:
  13475. flushTextContentItem();
  13476. if (n) {
  13477. if (0 === l.level)
  13478. break;
  13479. l.level--;
  13480. E.items.push({ type: "endMarkedContent" });
  13481. }
  13482. break;
  13483. case xA: !e_326 || e_326.font === S.font && e_326.fontSize === S.fontSize && e_326.fontName === S.fontName || flushTextContentItem();
  13484. }
  13485. if (E.items.length >= o.desiredSize) {
  13486. d = !0;
  13487. break;
  13488. }
  13489. } if (d)
  13490. next(ks);
  13491. else {
  13492. flushTextContentItem();
  13493. enqueueChunk();
  13494. e();
  13495. } })).catch((function (e) { if (!(e instanceof AbortException)) {
  13496. if (!_this.options.ignoreErrors)
  13497. throw e;
  13498. warn("getTextContent - ignoring errors during \"".concat(t.name, "\" task: \"").concat(e, "\"."));
  13499. flushTextContentItem();
  13500. enqueueChunk();
  13501. } }));
  13502. };
  13503. PartialEvaluator.prototype.extractDataStructures = function (e, t) {
  13504. return tslib_1.__awaiter(this, void 0, void 0, function () { var i, a, s, i_214, t_253, r, n, o, e_332, t_254, _b, e_331, a_185, e_333, e_334, g, c, e_335, i_215, _j, h; return tslib_1.__generator(this, function (_k) {
  13505. switch (_k.label) {
  13506. case 0:
  13507. i = this.xref;
  13508. s = this.readToUnicode(t.toUnicode);
  13509. if (t.composite) {
  13510. i_214 = e.get("CIDSystemInfo");
  13511. i_214 instanceof Dict && (t.cidSystemInfo = { registry: stringToPDFString(i_214.get("Registry")), ordering: stringToPDFString(i_214.get("Ordering")), supplement: i_214.get("Supplement") });
  13512. try {
  13513. t_253 = e.get("CIDToGIDMap");
  13514. t_253 instanceof BaseStream && (a = t_253.getBytes());
  13515. }
  13516. catch (e) {
  13517. if (!this.options.ignoreErrors)
  13518. throw e;
  13519. warn("extractDataStructures - ignoring CIDToGIDMap data: \"".concat(e, "\"."));
  13520. }
  13521. }
  13522. r = [];
  13523. o = null;
  13524. if (e.has("Encoding")) {
  13525. n = e.get("Encoding");
  13526. if (n instanceof Dict) {
  13527. o = n.get("BaseEncoding");
  13528. o = o instanceof Name ? o.name : null;
  13529. if (n.has("Differences")) {
  13530. e_332 = n.get("Differences");
  13531. t_254 = 0;
  13532. for (_b = 0, e_331 = e_332; _b < e_331.length; _b++) {
  13533. a_185 = e_331[_b];
  13534. e_333 = i.fetchIfRef(a_185);
  13535. if ("number" == typeof e_333)
  13536. t_254 = e_333;
  13537. else {
  13538. if (!(e_333 instanceof Name))
  13539. throw new FormatError("Invalid entry in 'Differences' array: ".concat(e_333));
  13540. r[t_254++] = e_333.name;
  13541. }
  13542. }
  13543. }
  13544. }
  13545. else if (n instanceof Name)
  13546. o = n.name;
  13547. else {
  13548. e_334 = "Encoding is not a Name nor a Dict";
  13549. if (!this.options.ignoreErrors)
  13550. throw new FormatError(e_334);
  13551. warn(e_334);
  13552. }
  13553. "MacRomanEncoding" !== o && "MacExpertEncoding" !== o && "WinAnsiEncoding" !== o && (o = null);
  13554. }
  13555. g = !t.file || t.isInternalFont, c = Zi()[t.name];
  13556. o && g && c && (o = null);
  13557. if (o)
  13558. t.defaultEncoding = getEncoding(o);
  13559. else {
  13560. e_335 = !!(t.flags & Ti), i_215 = !!(t.flags & qi);
  13561. n = fi;
  13562. "TrueType" !== t.type || i_215 || (n = pi);
  13563. if (e_335 || c) {
  13564. n = di;
  13565. g && (/Symbol/i.test(t.name) ? n = mi : /Dingbats/i.test(t.name) ? n = yi : /Wingdings/i.test(t.name) && (n = pi));
  13566. }
  13567. t.defaultEncoding = n;
  13568. }
  13569. t.differences = r;
  13570. t.baseEncodingName = o;
  13571. t.hasEncoding = !!o || r.length > 0;
  13572. t.dict = e;
  13573. _j = t;
  13574. return [4 /*yield*/, s];
  13575. case 1:
  13576. _j.toUnicode = _k.sent();
  13577. return [4 /*yield*/, this.buildToUnicode(t)];
  13578. case 2:
  13579. h = _k.sent();
  13580. t.toUnicode = h;
  13581. a && (t.cidToGidMap = this.readCidToGidMap(a, h));
  13582. return [2 /*return*/, t];
  13583. }
  13584. }); });
  13585. };
  13586. PartialEvaluator.prototype._simpleFontToUnicode = function (e, t) {
  13587. if (t === void 0) { t = !1; }
  13588. assert(!e.composite, "Must be a simple font.");
  13589. var i = [], a = e.defaultEncoding.slice(), s = e.baseEncodingName, r = e.differences;
  13590. for (var e_336 in r) {
  13591. var t_255 = r[e_336];
  13592. ".notdef" !== t_255 && (a[e_336] = t_255);
  13593. }
  13594. var n = Ni();
  13595. for (var r_98 in a) {
  13596. var o_47 = a[r_98];
  13597. if ("" === o_47)
  13598. continue;
  13599. var g_34 = n[o_47];
  13600. if (void 0 !== g_34) {
  13601. i[r_98] = String.fromCharCode(g_34);
  13602. continue;
  13603. }
  13604. var c_21 = 0;
  13605. switch (o_47[0]) {
  13606. case "G":
  13607. 3 === o_47.length && (c_21 = parseInt(o_47.substring(1), 16));
  13608. break;
  13609. case "g":
  13610. 5 === o_47.length && (c_21 = parseInt(o_47.substring(1), 16));
  13611. break;
  13612. case "C":
  13613. case "c":
  13614. if (o_47.length >= 3 && o_47.length <= 4) {
  13615. var i_216 = o_47.substring(1);
  13616. if (t) {
  13617. c_21 = parseInt(i_216, 16);
  13618. break;
  13619. }
  13620. c_21 = +i_216;
  13621. if (Number.isNaN(c_21) && Number.isInteger(parseInt(i_216, 16)))
  13622. return this._simpleFontToUnicode(e, !0);
  13623. }
  13624. break;
  13625. case "u":
  13626. g_34 = getUnicodeForGlyph(o_47, n);
  13627. -1 !== g_34 && (c_21 = g_34);
  13628. break;
  13629. default: switch (o_47) {
  13630. case "f_h":
  13631. case "f_t":
  13632. case "T_h":
  13633. i[r_98] = o_47.replaceAll("_", "");
  13634. continue;
  13635. }
  13636. }
  13637. if (c_21 > 0 && c_21 <= 1114111 && Number.isInteger(c_21)) {
  13638. if (s && c_21 === +r_98) {
  13639. var e_337 = getEncoding(s);
  13640. if (e_337 && (o_47 = e_337[r_98])) {
  13641. i[r_98] = String.fromCharCode(n[o_47]);
  13642. continue;
  13643. }
  13644. }
  13645. i[r_98] = String.fromCodePoint(c_21);
  13646. }
  13647. }
  13648. return i;
  13649. };
  13650. PartialEvaluator.prototype.buildToUnicode = function (e) {
  13651. var _b, _j;
  13652. return tslib_1.__awaiter(this, void 0, void 0, function () { var _k, t_256, i_217, a_186, s_132, r_99, n_71; return tslib_1.__generator(this, function (_l) {
  13653. switch (_l.label) {
  13654. case 0:
  13655. e.hasIncludedToUnicodeMap = ((_b = e.toUnicode) === null || _b === void 0 ? void 0 : _b.length) > 0;
  13656. if (e.hasIncludedToUnicodeMap) {
  13657. !e.composite && e.hasEncoding && (e.fallbackToUnicode = this._simpleFontToUnicode(e));
  13658. return [2 /*return*/, e.toUnicode];
  13659. }
  13660. if (!e.composite)
  13661. return [2 /*return*/, new ToUnicodeMap(this._simpleFontToUnicode(e))];
  13662. if (!(e.composite && (e.cMap.builtInCMap && !(e.cMap instanceof IdentityCMap) || "Adobe" === ((_j = e.cidSystemInfo) === null || _j === void 0 ? void 0 : _j.registry) && ("GB1" === e.cidSystemInfo.ordering || "CNS1" === e.cidSystemInfo.ordering || "Japan1" === e.cidSystemInfo.ordering || "Korea1" === e.cidSystemInfo.ordering)))) return [3 /*break*/, 2];
  13663. _k = e.cidSystemInfo, t_256 = _k.registry, i_217 = _k.ordering, a_186 = Name.get("".concat(t_256, "-").concat(i_217, "-UCS2"));
  13664. return [4 /*yield*/, CMapFactory.create({ encoding: a_186, fetchBuiltInCMap: this._fetchBuiltInCMapBound, useCMap: null })];
  13665. case 1:
  13666. s_132 = _l.sent(), r_99 = [], n_71 = [];
  13667. e.cMap.forEach((function (e, t) { if (t > 65535)
  13668. throw new FormatError("Max size of CID is 65,535"); var i = s_132.lookup(t); if (i) {
  13669. n_71.length = 0;
  13670. for (var e_338 = 0, t_257 = i.length; e_338 < t_257; e_338 += 2)
  13671. n_71.push((i.charCodeAt(e_338) << 8) + i.charCodeAt(e_338 + 1));
  13672. r_99[e] = String.fromCharCode.apply(String, n_71);
  13673. } }));
  13674. return [2 /*return*/, new ToUnicodeMap(r_99)];
  13675. case 2: return [2 /*return*/, new IdentityToUnicodeMap(e.firstChar, e.lastChar)];
  13676. }
  13677. }); });
  13678. };
  13679. PartialEvaluator.prototype.readToUnicode = function (e) {
  13680. return tslib_1.__awaiter(this, void 0, void 0, function () { var t_258, t_259, i_218, e_339; return tslib_1.__generator(this, function (_b) {
  13681. switch (_b.label) {
  13682. case 0:
  13683. if (!e)
  13684. return [2 /*return*/, null];
  13685. if (!(e instanceof Name)) return [3 /*break*/, 2];
  13686. return [4 /*yield*/, CMapFactory.create({ encoding: e, fetchBuiltInCMap: this._fetchBuiltInCMapBound, useCMap: null })];
  13687. case 1:
  13688. t_258 = _b.sent();
  13689. return [2 /*return*/, t_258 instanceof IdentityCMap ? new IdentityToUnicodeMap(0, 65535) : new ToUnicodeMap(t_258.getMap())];
  13690. case 2:
  13691. if (!(e instanceof BaseStream)) return [3 /*break*/, 6];
  13692. _b.label = 3;
  13693. case 3:
  13694. _b.trys.push([3, 5, , 6]);
  13695. return [4 /*yield*/, CMapFactory.create({ encoding: e, fetchBuiltInCMap: this._fetchBuiltInCMapBound, useCMap: null })];
  13696. case 4:
  13697. t_259 = _b.sent();
  13698. if (t_259 instanceof IdentityCMap)
  13699. return [2 /*return*/, new IdentityToUnicodeMap(0, 65535)];
  13700. i_218 = new Array(t_259.length);
  13701. t_259.forEach((function (e, t) { if ("number" == typeof t) {
  13702. i_218[e] = String.fromCodePoint(t);
  13703. return;
  13704. } var a = []; for (var e_340 = 0; e_340 < t.length; e_340 += 2) {
  13705. var i_219 = t.charCodeAt(e_340) << 8 | t.charCodeAt(e_340 + 1);
  13706. if (55296 != (63488 & i_219)) {
  13707. a.push(i_219);
  13708. continue;
  13709. }
  13710. e_340 += 2;
  13711. var s_133 = t.charCodeAt(e_340) << 8 | t.charCodeAt(e_340 + 1);
  13712. a.push(((1023 & i_219) << 10) + (1023 & s_133) + 65536);
  13713. } i_218[e] = String.fromCodePoint.apply(String, a); }));
  13714. return [2 /*return*/, new ToUnicodeMap(i_218)];
  13715. case 5:
  13716. e_339 = _b.sent();
  13717. if (e_339 instanceof AbortException)
  13718. return [2 /*return*/, null];
  13719. if (this.options.ignoreErrors) {
  13720. warn("readToUnicode - ignoring ToUnicode data: \"".concat(e_339, "\"."));
  13721. return [2 /*return*/, null];
  13722. }
  13723. throw e_339;
  13724. case 6: return [2 /*return*/, null];
  13725. }
  13726. }); });
  13727. };
  13728. PartialEvaluator.prototype.readCidToGidMap = function (e, t) { var i = []; for (var a_187 = 0, s_134 = e.length; a_187 < s_134; a_187++) {
  13729. var s_135 = e[a_187++] << 8 | e[a_187], r_100 = a_187 >> 1;
  13730. (0 !== s_135 || t.has(r_100)) && (i[r_100] = s_135);
  13731. } return i; };
  13732. PartialEvaluator.prototype.extractWidths = function (e, t, i) { var a = this.xref; var s = [], r = 0; var n = []; var o; if (i.composite) {
  13733. var t_260 = e.get("DW");
  13734. r = Number.isInteger(t_260) ? t_260 : 1e3;
  13735. var g_35 = e.get("W");
  13736. if (Array.isArray(g_35))
  13737. for (var e_341 = 0, t_261 = g_35.length; e_341 < t_261; e_341++) {
  13738. var t_262 = a.fetchIfRef(g_35[e_341++]);
  13739. if (!Number.isInteger(t_262))
  13740. break;
  13741. var i_221 = a.fetchIfRef(g_35[e_341]);
  13742. if (Array.isArray(i_221))
  13743. for (var _b = 0, i_220 = i_221; _b < i_220.length; _b++) {
  13744. var e_342 = i_220[_b];
  13745. var i_222 = a.fetchIfRef(e_342);
  13746. "number" == typeof i_222 && (s[t_262] = i_222);
  13747. t_262++;
  13748. }
  13749. else {
  13750. if (!Number.isInteger(i_221))
  13751. break;
  13752. {
  13753. var r_101 = a.fetchIfRef(g_35[++e_341]);
  13754. if ("number" != typeof r_101)
  13755. continue;
  13756. for (var e_343 = t_262; e_343 <= i_221; e_343++)
  13757. s[e_343] = r_101;
  13758. }
  13759. }
  13760. }
  13761. if (i.vertical) {
  13762. var t_263 = e.getArray("DW2");
  13763. var i_223 = isNumberArray(t_263, 2) ? t_263 : [880, -1e3];
  13764. o = [i_223[1], .5 * r, i_223[0]];
  13765. i_223 = e.get("W2");
  13766. if (Array.isArray(i_223))
  13767. for (var e_344 = 0, t_264 = i_223.length; e_344 < t_264; e_344++) {
  13768. var t_265 = a.fetchIfRef(i_223[e_344++]);
  13769. if (!Number.isInteger(t_265))
  13770. break;
  13771. var s_136 = a.fetchIfRef(i_223[e_344]);
  13772. if (Array.isArray(s_136))
  13773. for (var e_345 = 0, i_224 = s_136.length; e_345 < i_224; e_345++) {
  13774. var i_225 = [a.fetchIfRef(s_136[e_345++]), a.fetchIfRef(s_136[e_345++]), a.fetchIfRef(s_136[e_345])];
  13775. isNumberArray(i_225, null) && (n[t_265] = i_225);
  13776. t_265++;
  13777. }
  13778. else {
  13779. if (!Number.isInteger(s_136))
  13780. break;
  13781. {
  13782. var r_102 = [a.fetchIfRef(i_223[++e_344]), a.fetchIfRef(i_223[++e_344]), a.fetchIfRef(i_223[++e_344])];
  13783. if (!isNumberArray(r_102, null))
  13784. continue;
  13785. for (var e_346 = t_265; e_346 <= s_136; e_346++)
  13786. n[e_346] = r_102;
  13787. }
  13788. }
  13789. }
  13790. }
  13791. }
  13792. else {
  13793. var n_73 = e.get("Widths");
  13794. if (Array.isArray(n_73)) {
  13795. var e_347 = i.firstChar;
  13796. for (var _j = 0, n_72 = n_73; _j < n_72.length; _j++) {
  13797. var t_266 = n_72[_j];
  13798. var i_226 = a.fetchIfRef(t_266);
  13799. "number" == typeof i_226 && (s[e_347] = i_226);
  13800. e_347++;
  13801. }
  13802. var o_48 = t.get("MissingWidth");
  13803. r = "number" == typeof o_48 ? o_48 : 0;
  13804. }
  13805. else {
  13806. var t_267 = e.get("BaseFont");
  13807. if (t_267 instanceof Name) {
  13808. var e_348 = this.getBaseFontMetrics(t_267.name);
  13809. s = this.buildCharCodeToWidth(e_348.widths, i);
  13810. r = e_348.defaultWidth;
  13811. }
  13812. }
  13813. } var g = !0, c = r; for (var e_349 in s) {
  13814. var t_268 = s[e_349];
  13815. if (t_268)
  13816. if (c) {
  13817. if (c !== t_268) {
  13818. g = !1;
  13819. break;
  13820. }
  13821. }
  13822. else
  13823. c = t_268;
  13824. } g ? i.flags |= vi : i.flags &= ~vi; i.defaultWidth = r; i.widths = s; i.defaultVMetrics = o; i.vmetrics = n; };
  13825. PartialEvaluator.prototype.isSerifFont = function (e) { var t = e.split("-", 1)[0]; return t in ji() || /serif/gi.test(t); };
  13826. PartialEvaluator.prototype.getBaseFontMetrics = function (e) { var t = 0, i = Object.create(null), a = !1; var s = Pi()[e] || e; var r = Aa(); s in r || (s = this.isSerifFont(e) ? "Times-Roman" : "Helvetica"); var n = r[s]; if ("number" == typeof n) {
  13827. t = n;
  13828. a = !0;
  13829. }
  13830. else
  13831. i = n(); return { defaultWidth: t, monospace: a, widths: i }; };
  13832. PartialEvaluator.prototype.buildCharCodeToWidth = function (e, t) { var i = Object.create(null), a = t.differences, s = t.defaultEncoding; for (var t_269 = 0; t_269 < 256; t_269++)
  13833. t_269 in a && e[a[t_269]] ? i[t_269] = e[a[t_269]] : t_269 in s && e[s[t_269]] && (i[t_269] = e[s[t_269]]); return i; };
  13834. PartialEvaluator.prototype.preEvaluateFont = function (e) { var t = e; var i = e.get("Subtype"); if (!(i instanceof Name))
  13835. throw new FormatError("invalid font Subtype"); var a, s = !1; if ("Type0" === i.name) {
  13836. var t_271 = e.get("DescendantFonts");
  13837. if (!t_271)
  13838. throw new FormatError("Descendant fonts are not specified");
  13839. if (!((e = Array.isArray(t_271) ? this.xref.fetchIfRef(t_271[0]) : t_271) instanceof Dict))
  13840. throw new FormatError("Descendant font is not a dictionary.");
  13841. i = e.get("Subtype");
  13842. if (!(i instanceof Name))
  13843. throw new FormatError("invalid font Subtype");
  13844. s = !0;
  13845. } var r = e.get("FirstChar"); Number.isInteger(r) || (r = 0); var n = e.get("LastChar"); Number.isInteger(n) || (n = s ? 65535 : 255); var o = e.get("FontDescriptor"), g = e.get("ToUnicode") || t.get("ToUnicode"); if (o) {
  13846. a = new MurmurHash3_64;
  13847. var i_228 = t.getRaw("Encoding");
  13848. if (i_228 instanceof Name)
  13849. a.update(i_228.name);
  13850. else if (i_228 instanceof Ref)
  13851. a.update(i_228.toString());
  13852. else if (i_228 instanceof Dict)
  13853. for (var _b = 0, _j = i_228.getRawValues(); _b < _j.length; _b++) {
  13854. var e_350 = _j[_b];
  13855. if (e_350 instanceof Name)
  13856. a.update(e_350.name);
  13857. else if (e_350 instanceof Ref)
  13858. a.update(e_350.toString());
  13859. else if (Array.isArray(e_350)) {
  13860. var t_272 = e_350.length, i_229 = new Array(t_272);
  13861. for (var a_188 = 0; a_188 < t_272; a_188++) {
  13862. var t_273 = e_350[a_188];
  13863. t_273 instanceof Name ? i_229[a_188] = t_273.name : ("number" == typeof t_273 || t_273 instanceof Ref) && (i_229[a_188] = t_273.toString());
  13864. }
  13865. a.update(i_229.join());
  13866. }
  13867. }
  13868. a.update("".concat(r, "-").concat(n));
  13869. if (g instanceof BaseStream) {
  13870. var e_351 = g.str || g, t_274 = e_351.buffer ? new Uint8Array(e_351.buffer.buffer, 0, e_351.bufferLength) : new Uint8Array(e_351.bytes.buffer, e_351.start, e_351.end - e_351.start);
  13871. a.update(t_274);
  13872. }
  13873. else
  13874. g instanceof Name && a.update(g.name);
  13875. var o_50 = e.get("Widths") || t.get("Widths");
  13876. if (Array.isArray(o_50)) {
  13877. var e_352 = [];
  13878. for (var _k = 0, o_49 = o_50; _k < o_49.length; _k++) {
  13879. var t_275 = o_49[_k];
  13880. ("number" == typeof t_275 || t_275 instanceof Ref) && e_352.push(t_275.toString());
  13881. }
  13882. a.update(e_352.join());
  13883. }
  13884. if (s) {
  13885. a.update("compositeFont");
  13886. var i_230 = e.get("W") || t.get("W");
  13887. if (Array.isArray(i_230)) {
  13888. var e_353 = [];
  13889. for (var _l = 0, i_227 = i_230; _l < i_227.length; _l++) {
  13890. var t_276 = i_227[_l];
  13891. if ("number" == typeof t_276 || t_276 instanceof Ref)
  13892. e_353.push(t_276.toString());
  13893. else if (Array.isArray(t_276)) {
  13894. var i_231 = [];
  13895. for (var _m = 0, t_270 = t_276; _m < t_270.length; _m++) {
  13896. var e_354 = t_270[_m];
  13897. ("number" == typeof e_354 || e_354 instanceof Ref) && i_231.push(e_354.toString());
  13898. }
  13899. e_353.push("[".concat(i_231.join(), "]"));
  13900. }
  13901. }
  13902. a.update(e_353.join());
  13903. }
  13904. var s_137 = e.getRaw("CIDToGIDMap") || t.getRaw("CIDToGIDMap");
  13905. s_137 instanceof Name ? a.update(s_137.name) : s_137 instanceof Ref ? a.update(s_137.toString()) : s_137 instanceof BaseStream && a.update(s_137.peekBytes());
  13906. }
  13907. } return { descriptor: o, dict: e, baseDict: t, composite: s, type: i.name, firstChar: r, lastChar: n, toUnicode: g, hash: a ? a.hexdigest() : "" }; };
  13908. PartialEvaluator.prototype.translateFont = function (_b) {
  13909. var e = _b.descriptor, t = _b.dict, i = _b.baseDict, s = _b.composite, r = _b.type, n = _b.firstChar, o = _b.lastChar, g = _b.toUnicode, c = _b.cssFontInfo;
  13910. return tslib_1.__awaiter(this, void 0, void 0, function () { var h, e_355, a_189, s_138, c_22, l_18, C_17, Q_16, E_10, u_8, e_356, t_277, _j, C_16, i_232, a_190, i_233, l, C, Q, E, u, d, f, p, m, y, w, b, e_357, e_358, e_359, D, F, S, k, R, N, G, x, M, e_360, t_278, U; return tslib_1.__generator(this, function (_k) {
  13911. switch (_k.label) {
  13912. case 0:
  13913. h = "Type3" === r;
  13914. if (!!e) return [3 /*break*/, 5];
  13915. if (!!h) return [3 /*break*/, 4];
  13916. e_355 = t.get("BaseFont");
  13917. if (!(e_355 instanceof Name))
  13918. throw new FormatError("Base font is not specified");
  13919. e_355 = e_355.name.replaceAll(/[,_]/g, "-");
  13920. a_189 = this.getBaseFontMetrics(e_355), s_138 = e_355.split("-", 1)[0], c_22 = (this.isSerifFont(s_138) ? Ki : 0) | (a_189.monospace ? vi : 0) | (Zi()[s_138] ? Ti : qi), l_18 = { type: r, name: e_355, loadedName: i.loadedName, systemFontInfo: null, widths: a_189.widths, defaultWidth: a_189.defaultWidth, isSimulatedFlags: !0, flags: c_22, firstChar: n, lastChar: o, toUnicode: g, xHeight: 0, capHeight: 0, italicAngle: 0, isType3Font: h }, C_17 = t.get("Widths"), Q_16 = getStandardFontName(e_355);
  13921. E_10 = null;
  13922. if (!Q_16) return [3 /*break*/, 2];
  13923. return [4 /*yield*/, this.fetchStandardFontData(Q_16)];
  13924. case 1:
  13925. E_10 = _k.sent();
  13926. l_18.isInternalFont = !!E_10;
  13927. _k.label = 2;
  13928. case 2:
  13929. !l_18.isInternalFont && this.options.useSystemFonts && (l_18.systemFontInfo = getFontSubstitution(this.systemFontCache, this.idFactory, this.options.standardFontDataUrl, e_355, Q_16, r));
  13930. return [4 /*yield*/, this.extractDataStructures(t, l_18)];
  13931. case 3:
  13932. u_8 = _k.sent();
  13933. if (Array.isArray(C_17)) {
  13934. e_356 = [];
  13935. t_277 = n;
  13936. for (_j = 0, C_16 = C_17; _j < C_16.length; _j++) {
  13937. i_232 = C_16[_j];
  13938. a_190 = this.xref.fetchIfRef(i_232);
  13939. "number" == typeof a_190 && (e_356[t_277] = a_190);
  13940. t_277++;
  13941. }
  13942. u_8.widths = e_356;
  13943. }
  13944. else
  13945. u_8.widths = this.buildCharCodeToWidth(a_189.widths, u_8);
  13946. return [2 /*return*/, new Font(e_355, E_10, u_8)];
  13947. case 4:
  13948. {
  13949. i_233 = lookupNormalRect(t.getArray("FontBBox"), [0, 0, 0, 0]);
  13950. (e = new Dict(null)).set("FontName", Name.get(r));
  13951. e.set("FontBBox", i_233);
  13952. }
  13953. _k.label = 5;
  13954. case 5:
  13955. l = e.get("FontName"), C = t.get("BaseFont");
  13956. "string" == typeof l && (l = Name.get(l));
  13957. "string" == typeof C && (C = Name.get(C));
  13958. Q = l === null || l === void 0 ? void 0 : l.name, E = C === null || C === void 0 ? void 0 : C.name;
  13959. if (!h && Q !== E) {
  13960. info("The FontDescriptor's FontName is \"".concat(Q, "\" but should be the same as the Font's BaseFont \"").concat(E, "\"."));
  13961. Q && E && (E.startsWith(Q) || !isKnownFontName(Q) && isKnownFontName(E)) && (l = null);
  13962. }
  13963. l || (l = C);
  13964. if (!(l instanceof Name))
  13965. throw new FormatError("invalid font name");
  13966. try {
  13967. u = e.get("FontFile", "FontFile2", "FontFile3");
  13968. }
  13969. catch (e) {
  13970. if (!this.options.ignoreErrors)
  13971. throw e;
  13972. warn("translateFont - fetching \"".concat(l.name, "\" font file: \"").concat(e, "\"."));
  13973. u = new NullStream;
  13974. }
  13975. y = !1, w = null, b = null;
  13976. if (!u) return [3 /*break*/, 6];
  13977. if (u.dict) {
  13978. e_357 = u.dict.get("Subtype");
  13979. e_357 instanceof Name && (d = e_357.name);
  13980. f = u.dict.get("Length1");
  13981. p = u.dict.get("Length2");
  13982. m = u.dict.get("Length3");
  13983. }
  13984. return [3 /*break*/, 12];
  13985. case 6:
  13986. if (!c) return [3 /*break*/, 9];
  13987. e_358 = getXfaFontName(l.name);
  13988. if (!e_358) return [3 /*break*/, 8];
  13989. c.fontFamily = "".concat(c.fontFamily, "-PdfJS-XFA");
  13990. c.metrics = e_358.metrics || null;
  13991. w = e_358.factors || null;
  13992. return [4 /*yield*/, this.fetchStandardFontData(e_358.name)];
  13993. case 7:
  13994. u = _k.sent();
  13995. y = !!u;
  13996. i = t = getXfaFontDict(l.name);
  13997. s = !0;
  13998. _k.label = 8;
  13999. case 8: return [3 /*break*/, 12];
  14000. case 9:
  14001. if (!!h) return [3 /*break*/, 12];
  14002. e_359 = getStandardFontName(l.name);
  14003. if (!e_359) return [3 /*break*/, 11];
  14004. return [4 /*yield*/, this.fetchStandardFontData(e_359)];
  14005. case 10:
  14006. u = _k.sent();
  14007. y = !!u;
  14008. _k.label = 11;
  14009. case 11:
  14010. !y && this.options.useSystemFonts && (b = getFontSubstitution(this.systemFontCache, this.idFactory, this.options.standardFontDataUrl, l.name, e_359, r));
  14011. _k.label = 12;
  14012. case 12:
  14013. D = lookupMatrix(t.getArray("FontMatrix"), a), F = lookupNormalRect(e.getArray("FontBBox") || t.getArray("FontBBox"), void 0);
  14014. S = e.get("Ascent");
  14015. "number" != typeof S && (S = void 0);
  14016. k = e.get("Descent");
  14017. "number" != typeof k && (k = void 0);
  14018. R = e.get("XHeight");
  14019. "number" != typeof R && (R = 0);
  14020. N = e.get("CapHeight");
  14021. "number" != typeof N && (N = 0);
  14022. G = e.get("Flags");
  14023. Number.isInteger(G) || (G = 0);
  14024. x = e.get("ItalicAngle");
  14025. "number" != typeof x && (x = 0);
  14026. M = { type: r, name: l.name, subtype: d, file: u, length1: f, length2: p, length3: m, isInternalFont: y, loadedName: i.loadedName, composite: s, fixedPitch: !1, fontMatrix: D, firstChar: n, lastChar: o, toUnicode: g, bbox: F, ascent: S, descent: k, xHeight: R, capHeight: N, flags: G, italicAngle: x, isType3Font: h, cssFontInfo: c, scaleFactors: w, systemFontInfo: b };
  14027. if (!s) return [3 /*break*/, 14];
  14028. e_360 = i.get("Encoding");
  14029. e_360 instanceof Name && (M.cidEncoding = e_360.name);
  14030. return [4 /*yield*/, CMapFactory.create({ encoding: e_360, fetchBuiltInCMap: this._fetchBuiltInCMapBound, useCMap: null })];
  14031. case 13:
  14032. t_278 = _k.sent();
  14033. M.cMap = t_278;
  14034. M.vertical = M.cMap.vertical;
  14035. _k.label = 14;
  14036. case 14: return [4 /*yield*/, this.extractDataStructures(t, M)];
  14037. case 15:
  14038. U = _k.sent();
  14039. this.extractWidths(t, e, U);
  14040. return [2 /*return*/, new Font(l.name, u, U)];
  14041. }
  14042. }); });
  14043. };
  14044. PartialEvaluator.buildFontPaths = function (e, t, i, a) { function buildPath(t) { var s = "".concat(e.loadedName, "_path_").concat(t); try {
  14045. if (e.renderer.hasBuiltPath(t))
  14046. return;
  14047. i.send("commonobj", [s, "FontPath", e.renderer.getPathJs(t)]);
  14048. }
  14049. catch (e) {
  14050. if (a.ignoreErrors) {
  14051. warn("buildFontPaths - ignoring ".concat(s, " glyph: \"").concat(e, "\"."));
  14052. return;
  14053. }
  14054. throw e;
  14055. } } for (var _b = 0, t_279 = t; _b < t_279.length; _b++) {
  14056. var e_361 = t_279[_b];
  14057. buildPath(e_361.fontChar);
  14058. var t_280 = e_361.accent;
  14059. (t_280 === null || t_280 === void 0 ? void 0 : t_280.fontChar) && buildPath(t_280.fontChar);
  14060. } };
  14061. Object.defineProperty(PartialEvaluator, "fallbackFontDict", {
  14062. get: function () { var e = new Dict; e.set("BaseFont", Name.get("Helvetica")); e.set("Type", Name.get("FallbackType")); e.set("Subtype", Name.get("FallbackType")); e.set("Encoding", Name.get("WinAnsiEncoding")); return shadow(this, "fallbackFontDict", e); },
  14063. enumerable: false,
  14064. configurable: true
  14065. });
  14066. return PartialEvaluator;
  14067. }());
  14068. var TranslatedFont = /** @class */ (function () {
  14069. function TranslatedFont(_b) {
  14070. var e = _b.loadedName, t = _b.font, i = _b.dict, a = _b.evaluatorOptions;
  14071. this.loadedName = e;
  14072. this.font = t;
  14073. this.dict = i;
  14074. this._evaluatorOptions = a || Ds;
  14075. this.type3Loaded = null;
  14076. this.type3Dependencies = t.isType3Font ? new Set : null;
  14077. this.sent = !1;
  14078. }
  14079. TranslatedFont.prototype.send = function (e) { if (!this.sent) {
  14080. this.sent = !0;
  14081. e.send("commonobj", [this.loadedName, "Font", this.font.exportData(this._evaluatorOptions.fontExtraProperties)]);
  14082. } };
  14083. TranslatedFont.prototype.fallback = function (e) { if (this.font.data) {
  14084. this.font.disableFontFace = !0;
  14085. PartialEvaluator.buildFontPaths(this.font, this.font.glyphCacheValues, e, this._evaluatorOptions);
  14086. } };
  14087. TranslatedFont.prototype.loadType3Data = function (e, t, i) {
  14088. var _this = this;
  14089. if (this.type3Loaded)
  14090. return this.type3Loaded;
  14091. if (!this.font.isType3Font)
  14092. throw new Error("Must be a Type3 font.");
  14093. var a = e.clone({ ignoreErrors: !1 }), s = new RefSet(e.type3FontRefs);
  14094. this.dict.objId && !s.has(this.dict.objId) && s.put(this.dict.objId);
  14095. a.type3FontRefs = s;
  14096. var r = this.font, n = this.type3Dependencies;
  14097. var o = Promise.resolve();
  14098. var g = this.dict.get("CharProcs"), c = this.dict.get("Resources") || t, h = Object.create(null), l = Util.normalizeRect(r.bbox || [0, 0, 0, 0]), C = l[2] - l[0], Q = l[3] - l[1], E = Math.hypot(C, Q);
  14099. var _loop_2 = function (e_362) {
  14100. o = o.then((function () { var t = g.get(e_362), s = new OperatorList; return a.getOperatorList({ stream: t, task: i, resources: c, operatorList: s }).then((function () { s.fnArray[0] === Ee && _this._removeType3ColorOperators(s, E); h[e_362] = s.getIR(); for (var _b = 0, _j = s.dependencies; _b < _j.length; _b++) {
  14101. var e_363 = _j[_b];
  14102. n.add(e_363);
  14103. } })).catch((function (t) { warn("Type3 font resource \"".concat(e_362, "\" is not available.")); var i = new OperatorList; h[e_362] = i.getIR(); })); }));
  14104. };
  14105. for (var _b = 0, _j = g.getKeys(); _b < _j.length; _b++) {
  14106. var e_362 = _j[_b];
  14107. _loop_2(e_362);
  14108. }
  14109. this.type3Loaded = o.then((function () { r.charProcOperatorList = h; if (_this._bbox) {
  14110. r.isCharBBox = !0;
  14111. r.bbox = _this._bbox;
  14112. } }));
  14113. return this.type3Loaded;
  14114. };
  14115. TranslatedFont.prototype._removeType3ColorOperators = function (e, t) {
  14116. if (t === void 0) { t = NaN; }
  14117. var i = Util.normalizeRect(e.argsArray[0].slice(2)), a = i[2] - i[0], s = i[3] - i[1], r = Math.hypot(a, s);
  14118. if (0 === a || 0 === s) {
  14119. e.fnArray.splice(0, 1);
  14120. e.argsArray.splice(0, 1);
  14121. }
  14122. else if (0 === t || Math.round(r / t) >= 10) {
  14123. this._bbox || (this._bbox = [1 / 0, 1 / 0, -1 / 0, -1 / 0]);
  14124. this._bbox[0] = Math.min(this._bbox[0], i[0]);
  14125. this._bbox[1] = Math.min(this._bbox[1], i[1]);
  14126. this._bbox[2] = Math.max(this._bbox[2], i[2]);
  14127. this._bbox[3] = Math.max(this._bbox[3], i[3]);
  14128. }
  14129. var n = 0, o = e.length;
  14130. for (; n < o;) {
  14131. switch (e.fnArray[n]) {
  14132. case Ee: break;
  14133. case ue:
  14134. case de:
  14135. case fe:
  14136. case pe:
  14137. case me:
  14138. case ye:
  14139. case we:
  14140. case be:
  14141. case De:
  14142. case Fe:
  14143. case Se:
  14144. case ke:
  14145. case Re:
  14146. case kA:
  14147. e.fnArray.splice(n, 1);
  14148. e.argsArray.splice(n, 1);
  14149. o--;
  14150. continue;
  14151. case NA:
  14152. var t_281 = e.argsArray[n][0];
  14153. var i_234 = 0, a_191 = t_281.length;
  14154. for (; i_234 < a_191;) {
  14155. var e_364 = t_281[i_234][0];
  14156. switch (e_364) {
  14157. case "TR":
  14158. case "TR2":
  14159. case "HT":
  14160. case "BG":
  14161. case "BG2":
  14162. case "UCR":
  14163. case "UCR2":
  14164. t_281.splice(i_234, 1);
  14165. a_191--;
  14166. continue;
  14167. }
  14168. i_234++;
  14169. }
  14170. }
  14171. n++;
  14172. }
  14173. };
  14174. return TranslatedFont;
  14175. }());
  14176. var StateManager = /** @class */ (function () {
  14177. function StateManager(e) {
  14178. if (e === void 0) { e = new EvalState; }
  14179. this.state = e;
  14180. this.stateStack = [];
  14181. }
  14182. StateManager.prototype.save = function () { var e = this.state; this.stateStack.push(this.state); this.state = e.clone(); };
  14183. StateManager.prototype.restore = function () { var e = this.stateStack.pop(); e && (this.state = e); };
  14184. StateManager.prototype.transform = function (e) { this.state.ctm = Util.transform(this.state.ctm, e); };
  14185. return StateManager;
  14186. }());
  14187. var TextState = /** @class */ (function () {
  14188. function TextState() {
  14189. this.ctm = new Float32Array(i);
  14190. this.fontName = null;
  14191. this.fontSize = 0;
  14192. this.loadedName = null;
  14193. this.font = null;
  14194. this.fontMatrix = a;
  14195. this.textMatrix = i.slice();
  14196. this.textLineMatrix = i.slice();
  14197. this.charSpacing = 0;
  14198. this.wordSpacing = 0;
  14199. this.leading = 0;
  14200. this.textHScale = 1;
  14201. this.textRise = 0;
  14202. }
  14203. TextState.prototype.setTextMatrix = function (e, t, i, a, s, r) { var n = this.textMatrix; n[0] = e; n[1] = t; n[2] = i; n[3] = a; n[4] = s; n[5] = r; };
  14204. TextState.prototype.setTextLineMatrix = function (e, t, i, a, s, r) { var n = this.textLineMatrix; n[0] = e; n[1] = t; n[2] = i; n[3] = a; n[4] = s; n[5] = r; };
  14205. TextState.prototype.translateTextMatrix = function (e, t) { var i = this.textMatrix; i[4] = i[0] * e + i[2] * t + i[4]; i[5] = i[1] * e + i[3] * t + i[5]; };
  14206. TextState.prototype.translateTextLineMatrix = function (e, t) { var i = this.textLineMatrix; i[4] = i[0] * e + i[2] * t + i[4]; i[5] = i[1] * e + i[3] * t + i[5]; };
  14207. TextState.prototype.carriageReturn = function () { this.translateTextLineMatrix(0, -this.leading); this.textMatrix = this.textLineMatrix.slice(); };
  14208. TextState.prototype.clone = function () { var e = Object.create(this); e.textMatrix = this.textMatrix.slice(); e.textLineMatrix = this.textLineMatrix.slice(); e.fontMatrix = this.fontMatrix.slice(); return e; };
  14209. return TextState;
  14210. }());
  14211. var EvalState = /** @class */ (function () {
  14212. function EvalState() {
  14213. this.ctm = new Float32Array(i);
  14214. this.font = null;
  14215. this.textRenderingMode = y;
  14216. this.fillColorSpace = ColorSpace.singletons.gray;
  14217. this.strokeColorSpace = ColorSpace.singletons.gray;
  14218. }
  14219. EvalState.prototype.clone = function () { return Object.create(this); };
  14220. return EvalState;
  14221. }());
  14222. var EvaluatorPreprocessor = /** @class */ (function () {
  14223. function EvaluatorPreprocessor(e, t, i) {
  14224. if (i === void 0) { i = new StateManager; }
  14225. this.parser = new Parser({ lexer: new Lexer(e, EvaluatorPreprocessor.opMap), xref: t });
  14226. this.stateManager = i;
  14227. this.nonProcessedArgs = [];
  14228. this._isPathOp = !1;
  14229. this._numInvalidPathOPS = 0;
  14230. }
  14231. Object.defineProperty(EvaluatorPreprocessor, "opMap", {
  14232. get: function () { return shadow(this, "opMap", Object.assign(Object.create(null), { w: { id: wA, numArgs: 1, variableArgs: !1 }, J: { id: bA, numArgs: 1, variableArgs: !1 }, j: { id: DA, numArgs: 1, variableArgs: !1 }, M: { id: FA, numArgs: 1, variableArgs: !1 }, d: { id: SA, numArgs: 2, variableArgs: !1 }, ri: { id: kA, numArgs: 1, variableArgs: !1 }, i: { id: RA, numArgs: 1, variableArgs: !1 }, gs: { id: NA, numArgs: 1, variableArgs: !1 }, q: { id: GA, numArgs: 0, variableArgs: !1 }, Q: { id: xA, numArgs: 0, variableArgs: !1 }, cm: { id: MA, numArgs: 6, variableArgs: !1 }, m: { id: UA, numArgs: 2, variableArgs: !1 }, l: { id: LA, numArgs: 2, variableArgs: !1 }, c: { id: JA, numArgs: 6, variableArgs: !1 }, v: { id: HA, numArgs: 4, variableArgs: !1 }, y: { id: YA, numArgs: 4, variableArgs: !1 }, h: { id: vA, numArgs: 0, variableArgs: !1 }, re: { id: KA, numArgs: 4, variableArgs: !1 }, S: { id: TA, numArgs: 0, variableArgs: !1 }, s: { id: qA, numArgs: 0, variableArgs: !1 }, f: { id: OA, numArgs: 0, variableArgs: !1 }, F: { id: OA, numArgs: 0, variableArgs: !1 }, "f*": { id: PA, numArgs: 0, variableArgs: !1 }, B: { id: WA, numArgs: 0, variableArgs: !1 }, "B*": { id: XA, numArgs: 0, variableArgs: !1 }, b: { id: jA, numArgs: 0, variableArgs: !1 }, "b*": { id: ZA, numArgs: 0, variableArgs: !1 }, n: { id: VA, numArgs: 0, variableArgs: !1 }, W: { id: zA, numArgs: 0, variableArgs: !1 }, "W*": { id: _A, numArgs: 0, variableArgs: !1 }, BT: { id: $A, numArgs: 0, variableArgs: !1 }, ET: { id: Ae, numArgs: 0, variableArgs: !1 }, Tc: { id: ee, numArgs: 1, variableArgs: !1 }, Tw: { id: te, numArgs: 1, variableArgs: !1 }, Tz: { id: ie, numArgs: 1, variableArgs: !1 }, TL: { id: ae, numArgs: 1, variableArgs: !1 }, Tf: { id: se, numArgs: 2, variableArgs: !1 }, Tr: { id: re, numArgs: 1, variableArgs: !1 }, Ts: { id: ne, numArgs: 1, variableArgs: !1 }, Td: { id: oe, numArgs: 2, variableArgs: !1 }, TD: { id: ge, numArgs: 2, variableArgs: !1 }, Tm: { id: Ie, numArgs: 6, variableArgs: !1 }, "T*": { id: ce, numArgs: 0, variableArgs: !1 }, Tj: { id: he, numArgs: 1, variableArgs: !1 }, TJ: { id: le, numArgs: 1, variableArgs: !1 }, "'": { id: Ce, numArgs: 1, variableArgs: !1 }, '"': { id: Be, numArgs: 3, variableArgs: !1 }, d0: { id: Qe, numArgs: 2, variableArgs: !1 }, d1: { id: Ee, numArgs: 6, variableArgs: !1 }, CS: { id: ue, numArgs: 1, variableArgs: !1 }, cs: { id: de, numArgs: 1, variableArgs: !1 }, SC: { id: fe, numArgs: 4, variableArgs: !0 }, SCN: { id: pe, numArgs: 33, variableArgs: !0 }, sc: { id: me, numArgs: 4, variableArgs: !0 }, scn: { id: ye, numArgs: 33, variableArgs: !0 }, G: { id: we, numArgs: 1, variableArgs: !1 }, g: { id: be, numArgs: 1, variableArgs: !1 }, RG: { id: De, numArgs: 3, variableArgs: !1 }, rg: { id: Fe, numArgs: 3, variableArgs: !1 }, K: { id: Se, numArgs: 4, variableArgs: !1 }, k: { id: ke, numArgs: 4, variableArgs: !1 }, sh: { id: Re, numArgs: 1, variableArgs: !1 }, BI: { id: Ne, numArgs: 0, variableArgs: !1 }, ID: { id: Ge, numArgs: 0, variableArgs: !1 }, EI: { id: xe, numArgs: 1, variableArgs: !1 }, Do: { id: Me, numArgs: 1, variableArgs: !1 }, MP: { id: Ue, numArgs: 1, variableArgs: !1 }, DP: { id: Le, numArgs: 2, variableArgs: !1 }, BMC: { id: Je, numArgs: 1, variableArgs: !1 }, BDC: { id: He, numArgs: 2, variableArgs: !1 }, EMC: { id: Ye, numArgs: 0, variableArgs: !1 }, BX: { id: ve, numArgs: 0, variableArgs: !1 }, EX: { id: Ke, numArgs: 0, variableArgs: !1 }, BM: null, BD: null, true: null, fa: null, fal: null, fals: null, false: null, nu: null, nul: null, null: null })); },
  14233. enumerable: false,
  14234. configurable: true
  14235. });
  14236. Object.defineProperty(EvaluatorPreprocessor.prototype, "savedStatesDepth", {
  14237. get: function () { return this.stateManager.stateStack.length; },
  14238. enumerable: false,
  14239. configurable: true
  14240. });
  14241. EvaluatorPreprocessor.prototype.read = function (e) { var t = e.args; for (;;) {
  14242. var i_235 = this.parser.getObj();
  14243. if (i_235 instanceof Cmd) {
  14244. var a_192 = i_235.cmd, s_139 = EvaluatorPreprocessor.opMap[a_192];
  14245. if (!s_139) {
  14246. warn("Unknown command \"".concat(a_192, "\"."));
  14247. continue;
  14248. }
  14249. var r_103 = s_139.id, n_74 = s_139.numArgs;
  14250. var o_51 = null !== t ? t.length : 0;
  14251. this._isPathOp || (this._numInvalidPathOPS = 0);
  14252. this._isPathOp = r_103 >= UA && r_103 <= VA;
  14253. if (s_139.variableArgs)
  14254. o_51 > n_74 && info("Command ".concat(a_192, ": expected [0, ").concat(n_74, "] args, but received ").concat(o_51, " args."));
  14255. else {
  14256. if (o_51 !== n_74) {
  14257. var e_365 = this.nonProcessedArgs;
  14258. for (; o_51 > n_74;) {
  14259. e_365.push(t.shift());
  14260. o_51--;
  14261. }
  14262. for (; o_51 < n_74 && 0 !== e_365.length;) {
  14263. null === t && (t = []);
  14264. t.unshift(e_365.pop());
  14265. o_51++;
  14266. }
  14267. }
  14268. if (o_51 < n_74) {
  14269. var e_366 = "command ".concat(a_192, ": expected ").concat(n_74, " args, but received ").concat(o_51, " args.");
  14270. if (this._isPathOp && ++this._numInvalidPathOPS > EvaluatorPreprocessor.MAX_INVALID_PATH_OPS)
  14271. throw new FormatError("Invalid ".concat(e_366));
  14272. warn("Skipping ".concat(e_366));
  14273. null !== t && (t.length = 0);
  14274. continue;
  14275. }
  14276. }
  14277. this.preprocessCommand(r_103, t);
  14278. e.fn = r_103;
  14279. e.args = t;
  14280. return !0;
  14281. }
  14282. if (i_235 === pt)
  14283. return !1;
  14284. if (null !== i_235) {
  14285. null === t && (t = []);
  14286. t.push(i_235);
  14287. if (t.length > 33)
  14288. throw new FormatError("Too many arguments");
  14289. }
  14290. } };
  14291. EvaluatorPreprocessor.prototype.preprocessCommand = function (e, t) { switch (0 | e) {
  14292. case GA:
  14293. this.stateManager.save();
  14294. break;
  14295. case xA:
  14296. this.stateManager.restore();
  14297. break;
  14298. case MA: this.stateManager.transform(t);
  14299. } };
  14300. EvaluatorPreprocessor.MAX_INVALID_PATH_OPS = 10;
  14301. return EvaluatorPreprocessor;
  14302. }());
  14303. var DefaultAppearanceEvaluator = /** @class */ (function (_super) {
  14304. tslib_1.__extends(DefaultAppearanceEvaluator, _super);
  14305. function DefaultAppearanceEvaluator(e) {
  14306. return _super.call(this, new StringStream(e)) || this;
  14307. }
  14308. DefaultAppearanceEvaluator.prototype.parse = function () { var e = { fn: 0, args: [] }, t = { fontSize: 0, fontName: "", fontColor: new Uint8ClampedArray(3) }; try {
  14309. for (;;) {
  14310. e.args.length = 0;
  14311. if (!this.read(e))
  14312. break;
  14313. if (0 !== this.savedStatesDepth)
  14314. continue;
  14315. var i_236 = e.fn, a_193 = e.args;
  14316. switch (0 | i_236) {
  14317. case se:
  14318. var e_367 = a_193[0], i_237 = a_193[1];
  14319. e_367 instanceof Name && (t.fontName = e_367.name);
  14320. "number" == typeof i_237 && i_237 > 0 && (t.fontSize = i_237);
  14321. break;
  14322. case Fe:
  14323. ColorSpace.singletons.rgb.getRgbItem(a_193, 0, t.fontColor, 0);
  14324. break;
  14325. case be:
  14326. ColorSpace.singletons.gray.getRgbItem(a_193, 0, t.fontColor, 0);
  14327. break;
  14328. case ke: ColorSpace.singletons.cmyk.getRgbItem(a_193, 0, t.fontColor, 0);
  14329. }
  14330. }
  14331. }
  14332. catch (e) {
  14333. warn("parseDefaultAppearance - ignoring errors: \"".concat(e, "\"."));
  14334. } return t; };
  14335. return DefaultAppearanceEvaluator;
  14336. }(EvaluatorPreprocessor));
  14337. function parseDefaultAppearance(e) { return new DefaultAppearanceEvaluator(e).parse(); }
  14338. var AppearanceStreamEvaluator = /** @class */ (function (_super) {
  14339. tslib_1.__extends(AppearanceStreamEvaluator, _super);
  14340. function AppearanceStreamEvaluator(e, t, i) {
  14341. var _this = this;
  14342. var _b;
  14343. _this = _super.call(this, e) || this;
  14344. _this.stream = e;
  14345. _this.evaluatorOptions = t;
  14346. _this.xref = i;
  14347. _this.resources = (_b = e.dict) === null || _b === void 0 ? void 0 : _b.get("Resources");
  14348. return _this;
  14349. }
  14350. AppearanceStreamEvaluator.prototype.parse = function () { var e = { fn: 0, args: [] }; var t = { scaleFactor: 1, fontSize: 0, fontName: "", fontColor: new Uint8ClampedArray(3), fillColorSpace: ColorSpace.singletons.gray }, i = !1; var a = []; try {
  14351. for (;;) {
  14352. e.args.length = 0;
  14353. if (i || !this.read(e))
  14354. break;
  14355. var s_140 = e.fn, r_104 = e.args;
  14356. switch (0 | s_140) {
  14357. case GA:
  14358. a.push({ scaleFactor: t.scaleFactor, fontSize: t.fontSize, fontName: t.fontName, fontColor: t.fontColor.slice(), fillColorSpace: t.fillColorSpace });
  14359. break;
  14360. case xA:
  14361. t = a.pop() || t;
  14362. break;
  14363. case Ie:
  14364. t.scaleFactor *= Math.hypot(r_104[0], r_104[1]);
  14365. break;
  14366. case se:
  14367. var e_368 = r_104[0], s_141 = r_104[1];
  14368. e_368 instanceof Name && (t.fontName = e_368.name);
  14369. "number" == typeof s_141 && s_141 > 0 && (t.fontSize = s_141 * t.scaleFactor);
  14370. break;
  14371. case de:
  14372. t.fillColorSpace = ColorSpace.parse({ cs: r_104[0], xref: this.xref, resources: this.resources, pdfFunctionFactory: this._pdfFunctionFactory, localColorSpaceCache: this._localColorSpaceCache });
  14373. break;
  14374. case me:
  14375. t.fillColorSpace.getRgbItem(r_104, 0, t.fontColor, 0);
  14376. break;
  14377. case Fe:
  14378. ColorSpace.singletons.rgb.getRgbItem(r_104, 0, t.fontColor, 0);
  14379. break;
  14380. case be:
  14381. ColorSpace.singletons.gray.getRgbItem(r_104, 0, t.fontColor, 0);
  14382. break;
  14383. case ke:
  14384. ColorSpace.singletons.cmyk.getRgbItem(r_104, 0, t.fontColor, 0);
  14385. break;
  14386. case he:
  14387. case le:
  14388. case Ce:
  14389. case Be: i = !0;
  14390. }
  14391. }
  14392. }
  14393. catch (e) {
  14394. warn("parseAppearanceStream - ignoring errors: \"".concat(e, "\"."));
  14395. } this.stream.reset(); delete t.scaleFactor; delete t.fillColorSpace; return t; };
  14396. Object.defineProperty(AppearanceStreamEvaluator.prototype, "_localColorSpaceCache", {
  14397. get: function () { return shadow(this, "_localColorSpaceCache", new LocalColorSpaceCache); },
  14398. enumerable: false,
  14399. configurable: true
  14400. });
  14401. Object.defineProperty(AppearanceStreamEvaluator.prototype, "_pdfFunctionFactory", {
  14402. get: function () { return shadow(this, "_pdfFunctionFactory", new PDFFunctionFactory({ xref: this.xref, isEvalSupported: this.evaluatorOptions.isEvalSupported })); },
  14403. enumerable: false,
  14404. configurable: true
  14405. });
  14406. return AppearanceStreamEvaluator;
  14407. }(EvaluatorPreprocessor));
  14408. function getPdfColor(e, t) { if (e[0] === e[1] && e[1] === e[2]) {
  14409. return "".concat(numberToString(e[0] / 255), " ").concat(t ? "g" : "G");
  14410. } return Array.from(e, (function (e) { return numberToString(e / 255); })).join(" ") + " " + (t ? "rg" : "RG"); }
  14411. var FakeUnicodeFont = /** @class */ (function () {
  14412. function FakeUnicodeFont(e, t) {
  14413. this.xref = e;
  14414. this.widths = null;
  14415. this.firstChar = 1 / 0;
  14416. this.lastChar = -1 / 0;
  14417. this.fontFamily = t;
  14418. var i = new OffscreenCanvas(1, 1);
  14419. this.ctxMeasure = i.getContext("2d");
  14420. FakeUnicodeFont._fontNameId || (FakeUnicodeFont._fontNameId = 1);
  14421. this.fontName = Name.get("InvalidPDFjsFont_".concat(t, "_").concat(FakeUnicodeFont._fontNameId++));
  14422. }
  14423. Object.defineProperty(FakeUnicodeFont.prototype, "fontDescriptorRef", {
  14424. get: function () { if (!FakeUnicodeFont._fontDescriptorRef) {
  14425. var e_369 = new Dict(this.xref);
  14426. e_369.set("Type", Name.get("FontDescriptor"));
  14427. e_369.set("FontName", this.fontName);
  14428. e_369.set("FontFamily", "MyriadPro Regular");
  14429. e_369.set("FontBBox", [0, 0, 0, 0]);
  14430. e_369.set("FontStretch", Name.get("Normal"));
  14431. e_369.set("FontWeight", 400);
  14432. e_369.set("ItalicAngle", 0);
  14433. FakeUnicodeFont._fontDescriptorRef = this.xref.getNewPersistentRef(e_369);
  14434. } return FakeUnicodeFont._fontDescriptorRef; },
  14435. enumerable: false,
  14436. configurable: true
  14437. });
  14438. Object.defineProperty(FakeUnicodeFont.prototype, "descendantFontRef", {
  14439. get: function () { var e = new Dict(this.xref); e.set("BaseFont", this.fontName); e.set("Type", Name.get("Font")); e.set("Subtype", Name.get("CIDFontType0")); e.set("CIDToGIDMap", Name.get("Identity")); e.set("FirstChar", this.firstChar); e.set("LastChar", this.lastChar); e.set("FontDescriptor", this.fontDescriptorRef); e.set("DW", 1e3); var t = [], i = tslib_1.__spreadArray([], this.widths.entries(), true).sort(); var a = null, s = null; for (var _b = 0, i_238 = i; _b < i_238.length; _b++) {
  14440. var _j = i_238[_b], e_370 = _j[0], r_105 = _j[1];
  14441. if (a)
  14442. if (e_370 === a + s.length)
  14443. s.push(r_105);
  14444. else {
  14445. t.push(a, s);
  14446. a = e_370;
  14447. s = [r_105];
  14448. }
  14449. else {
  14450. a = e_370;
  14451. s = [r_105];
  14452. }
  14453. } a && t.push(a, s); e.set("W", t); var r = new Dict(this.xref); r.set("Ordering", "Identity"); r.set("Registry", "Adobe"); r.set("Supplement", 0); e.set("CIDSystemInfo", r); return this.xref.getNewPersistentRef(e); },
  14454. enumerable: false,
  14455. configurable: true
  14456. });
  14457. Object.defineProperty(FakeUnicodeFont.prototype, "baseFontRef", {
  14458. get: function () { var e = new Dict(this.xref); e.set("BaseFont", this.fontName); e.set("Type", Name.get("Font")); e.set("Subtype", Name.get("Type0")); e.set("Encoding", Name.get("Identity-H")); e.set("DescendantFonts", [this.descendantFontRef]); e.set("ToUnicode", Name.get("Identity-H")); return this.xref.getNewPersistentRef(e); },
  14459. enumerable: false,
  14460. configurable: true
  14461. });
  14462. Object.defineProperty(FakeUnicodeFont.prototype, "resources", {
  14463. get: function () { var e = new Dict(this.xref), t = new Dict(this.xref); t.set(this.fontName.name, this.baseFontRef); e.set("Font", t); return e; },
  14464. enumerable: false,
  14465. configurable: true
  14466. });
  14467. FakeUnicodeFont.prototype._createContext = function () { this.widths = new Map; this.ctxMeasure.font = "1000px ".concat(this.fontFamily); return this.ctxMeasure; };
  14468. FakeUnicodeFont.prototype.createFontResources = function (e) { var t = this._createContext(); for (var _b = 0, _j = e.split(/\r\n?|\n/); _b < _j.length; _b++) {
  14469. var i_239 = _j[_b];
  14470. for (var _k = 0, _l = i_239.split(""); _k < _l.length; _k++) {
  14471. var e_371 = _l[_k];
  14472. var i_240 = e_371.charCodeAt(0);
  14473. if (this.widths.has(i_240))
  14474. continue;
  14475. var a_194 = t.measureText(e_371), s_142 = Math.ceil(a_194.width);
  14476. this.widths.set(i_240, s_142);
  14477. this.firstChar = Math.min(i_240, this.firstChar);
  14478. this.lastChar = Math.max(i_240, this.lastChar);
  14479. }
  14480. } return this.resources; };
  14481. FakeUnicodeFont.getFirstPositionInfo = function (e, t, i) {
  14482. var _b;
  14483. var a = e[0], n = e[1], o = e[2], g = e[3];
  14484. var c = o - a, h = g - n;
  14485. t % 180 != 0 && (_b = [h, c], c = _b[0], h = _b[1], _b);
  14486. var l = s * i;
  14487. return { coords: [0, h + r * i - l], bbox: [0, 0, c, h], matrix: 0 !== t ? getRotationMatrix(t, h, l) : void 0 };
  14488. };
  14489. FakeUnicodeFont.prototype.createAppearance = function (e, t, i, a, n, o) {
  14490. var _b;
  14491. var g = this._createContext(), c = [];
  14492. var h = -1 / 0;
  14493. for (var _j = 0, _k = e.split(/\r\n?|\n/); _j < _k.length; _j++) {
  14494. var t_282 = _k[_j];
  14495. c.push(t_282);
  14496. var e_372 = g.measureText(t_282).width;
  14497. h = Math.max(h, e_372);
  14498. for (var _l = 0, _m = codePointIter(t_282); _l < _m.length; _l++) {
  14499. var e_373 = _m[_l];
  14500. var t_283 = String.fromCodePoint(e_373);
  14501. var i_241 = this.widths.get(e_373);
  14502. if (void 0 === i_241) {
  14503. var a_195 = g.measureText(t_283);
  14504. i_241 = Math.ceil(a_195.width);
  14505. this.widths.set(e_373, i_241);
  14506. this.firstChar = Math.min(e_373, this.firstChar);
  14507. this.lastChar = Math.max(e_373, this.lastChar);
  14508. }
  14509. }
  14510. }
  14511. h *= a / 1e3;
  14512. var l = t[0], C = t[1], Q = t[2], E = t[3];
  14513. var u = Q - l, d = E - C;
  14514. i % 180 != 0 && (_b = [d, u], u = _b[0], d = _b[1], _b);
  14515. var f = 1;
  14516. h > u && (f = u / h);
  14517. var p = 1;
  14518. var m = s * a, y = r * a, w = m * c.length;
  14519. w > d && (p = d / w);
  14520. var b = a * Math.min(f, p), D = ["q", "0 0 ".concat(numberToString(u), " ").concat(numberToString(d), " re W n"), "BT", "1 0 0 1 0 ".concat(numberToString(d + y), " Tm 0 Tc ").concat(getPdfColor(n, !0)), "/".concat(this.fontName.name, " ").concat(numberToString(b), " Tf")], F = this.resources;
  14521. if (1 !== (o = "number" == typeof o && o >= 0 && o <= 1 ? o : 1)) {
  14522. D.push("/R0 gs");
  14523. var e_374 = new Dict(this.xref), t_284 = new Dict(this.xref);
  14524. t_284.set("ca", o);
  14525. t_284.set("CA", o);
  14526. t_284.set("Type", Name.get("ExtGState"));
  14527. e_374.set("R0", t_284);
  14528. F.set("ExtGState", e_374);
  14529. }
  14530. var S = numberToString(m);
  14531. for (var _o = 0, c_23 = c; _o < c_23.length; _o++) {
  14532. var e_375 = c_23[_o];
  14533. D.push("0 -".concat(S, " Td <").concat(stringToUTF16HexString(e_375), "> Tj"));
  14534. }
  14535. D.push("ET", "Q");
  14536. var k = D.join("\n"), R = new Dict(this.xref);
  14537. R.set("Subtype", Name.get("Form"));
  14538. R.set("Type", Name.get("XObject"));
  14539. R.set("BBox", [0, 0, u, d]);
  14540. R.set("Length", k.length);
  14541. R.set("Resources", F);
  14542. if (i) {
  14543. var e_376 = getRotationMatrix(i, u, d);
  14544. R.set("Matrix", e_376);
  14545. }
  14546. var N = new StringStream(k);
  14547. N.dict = R;
  14548. return N;
  14549. };
  14550. return FakeUnicodeFont;
  14551. }());
  14552. var NameOrNumberTree = /** @class */ (function () {
  14553. function NameOrNumberTree(e, t, i) {
  14554. this.constructor === NameOrNumberTree && unreachable("Cannot initialize NameOrNumberTree.");
  14555. this.root = e;
  14556. this.xref = t;
  14557. this._type = i;
  14558. }
  14559. NameOrNumberTree.prototype.getAll = function () { var e = new Map; if (!this.root)
  14560. return e; var t = this.xref, i = new RefSet; i.put(this.root); var a = [this.root]; for (; a.length > 0;) {
  14561. var s_143 = t.fetchIfRef(a.shift());
  14562. if (!(s_143 instanceof Dict))
  14563. continue;
  14564. if (s_143.has("Kids")) {
  14565. var e_378 = s_143.get("Kids");
  14566. if (!Array.isArray(e_378))
  14567. continue;
  14568. for (var _b = 0, e_377 = e_378; _b < e_377.length; _b++) {
  14569. var t_285 = e_377[_b];
  14570. if (i.has(t_285))
  14571. throw new FormatError("Duplicate entry in \"".concat(this._type, "\" tree."));
  14572. a.push(t_285);
  14573. i.put(t_285);
  14574. }
  14575. continue;
  14576. }
  14577. var r_106 = s_143.get(this._type);
  14578. if (Array.isArray(r_106))
  14579. for (var i_242 = 0, a_196 = r_106.length; i_242 < a_196; i_242 += 2)
  14580. e.set(t.fetchIfRef(r_106[i_242]), t.fetchIfRef(r_106[i_242 + 1]));
  14581. } return e; };
  14582. NameOrNumberTree.prototype.get = function (e) { if (!this.root)
  14583. return null; var t = this.xref; var i = t.fetchIfRef(this.root), a = 0; for (; i.has("Kids");) {
  14584. if (++a > 10) {
  14585. warn("Search depth limit reached for \"".concat(this._type, "\" tree."));
  14586. return null;
  14587. }
  14588. var s_144 = i.get("Kids");
  14589. if (!Array.isArray(s_144))
  14590. return null;
  14591. var r_107 = 0, n_75 = s_144.length - 1;
  14592. for (; r_107 <= n_75;) {
  14593. var a_197 = r_107 + n_75 >> 1, o_52 = t.fetchIfRef(s_144[a_197]), g_36 = o_52.get("Limits");
  14594. if (e < t.fetchIfRef(g_36[0]))
  14595. n_75 = a_197 - 1;
  14596. else {
  14597. if (!(e > t.fetchIfRef(g_36[1]))) {
  14598. i = o_52;
  14599. break;
  14600. }
  14601. r_107 = a_197 + 1;
  14602. }
  14603. }
  14604. if (r_107 > n_75)
  14605. return null;
  14606. } var s = i.get(this._type); if (Array.isArray(s)) {
  14607. var i_243 = 0, a_198 = s.length - 2;
  14608. for (; i_243 <= a_198;) {
  14609. var r_108 = i_243 + a_198 >> 1, n_76 = r_108 + (1 & r_108), o_53 = t.fetchIfRef(s[n_76]);
  14610. if (e < o_53)
  14611. a_198 = n_76 - 2;
  14612. else {
  14613. if (!(e > o_53))
  14614. return t.fetchIfRef(s[n_76 + 1]);
  14615. i_243 = n_76 + 2;
  14616. }
  14617. }
  14618. } return null; };
  14619. return NameOrNumberTree;
  14620. }());
  14621. var NameTree = /** @class */ (function (_super) {
  14622. tslib_1.__extends(NameTree, _super);
  14623. function NameTree(e, t) {
  14624. return _super.call(this, e, t, "Names") || this;
  14625. }
  14626. return NameTree;
  14627. }(NameOrNumberTree));
  14628. var NumberTree = /** @class */ (function (_super) {
  14629. tslib_1.__extends(NumberTree, _super);
  14630. function NumberTree(e, t) {
  14631. return _super.call(this, e, t, "Nums") || this;
  14632. }
  14633. return NumberTree;
  14634. }(NameOrNumberTree));
  14635. function clearGlobalCaches() { !function clearPatternCaches() { ya = Object.create(null); }(); !function clearPrimitiveCaches() { mt = Object.create(null); yt = Object.create(null); wt = Object.create(null); }(); !function clearUnicodeCaches() { Hi.clear(); }(); JpxImage.cleanup(); }
  14636. function pickPlatformItem(e) { return e instanceof Dict ? e.has("UF") ? e.get("UF") : e.has("F") ? e.get("F") : e.has("Unix") ? e.get("Unix") : e.has("Mac") ? e.get("Mac") : e.has("DOS") ? e.get("DOS") : null : null; }
  14637. var FileSpec = /** @class */ (function () {
  14638. function FileSpec(e, t, i) {
  14639. if (i === void 0) { i = !1; }
  14640. _FileSpec_S.set(this, !1);
  14641. if (e instanceof Dict) {
  14642. this.xref = t;
  14643. this.root = e;
  14644. e.has("FS") && (this.fs = e.get("FS"));
  14645. e.has("RF") && warn("Related file specifications are not supported");
  14646. i || (e.has("EF") ? tslib_1.__classPrivateFieldSet(this, _FileSpec_S, !0, "f") : warn("Non-embedded file specifications are not supported"));
  14647. }
  14648. }
  14649. Object.defineProperty(FileSpec.prototype, "filename", {
  14650. get: function () { var e = ""; var t = pickPlatformItem(this.root); t && "string" == typeof t && (e = stringToPDFString(t).replaceAll("\\\\", "\\").replaceAll("\\/", "/").replaceAll("\\", "/")); return shadow(this, "filename", e || "unnamed"); },
  14651. enumerable: false,
  14652. configurable: true
  14653. });
  14654. Object.defineProperty(FileSpec.prototype, "content", {
  14655. get: function () { var _b; if (!tslib_1.__classPrivateFieldGet(this, _FileSpec_S, "f"))
  14656. return null; this._contentRef || (this._contentRef = pickPlatformItem((_b = this.root) === null || _b === void 0 ? void 0 : _b.get("EF"))); var e = null; if (this._contentRef) {
  14657. var t_286 = this.xref.fetchIfRef(this._contentRef);
  14658. t_286 instanceof BaseStream ? e = t_286.getBytes() : warn("Embedded file specification points to non-existing/invalid content");
  14659. }
  14660. else
  14661. warn("Embedded file specification does not have any content"); return e; },
  14662. enumerable: false,
  14663. configurable: true
  14664. });
  14665. Object.defineProperty(FileSpec.prototype, "description", {
  14666. get: function () { var _b; var e = ""; var t = (_b = this.root) === null || _b === void 0 ? void 0 : _b.get("Desc"); t && "string" == typeof t && (e = stringToPDFString(t)); return shadow(this, "description", e); },
  14667. enumerable: false,
  14668. configurable: true
  14669. });
  14670. Object.defineProperty(FileSpec.prototype, "serializable", {
  14671. get: function () { return { rawFilename: this.filename, filename: (e = this.filename, e.substring(e.lastIndexOf("/") + 1)), content: this.content, description: this.description }; var e; },
  14672. enumerable: false,
  14673. configurable: true
  14674. });
  14675. return FileSpec;
  14676. }());
  14677. _FileSpec_S = new WeakMap();
  14678. var Rs = 0, Ns = -2, Gs = -3, xs = -4, Ms = -5, Us = -6, Ls = -9;
  14679. function isWhitespace(e, t) { var i = e[t]; return " " === i || "\n" === i || "\r" === i || "\t" === i; }
  14680. var XMLParserBase = /** @class */ (function () {
  14681. function XMLParserBase() {
  14682. }
  14683. XMLParserBase.prototype._resolveEntities = function (e) {
  14684. var _this = this;
  14685. return e.replaceAll(/&([^;]+);/g, (function (e, t) { if ("#x" === t.substring(0, 2))
  14686. return String.fromCodePoint(parseInt(t.substring(2), 16)); if ("#" === t.substring(0, 1))
  14687. return String.fromCodePoint(parseInt(t.substring(1), 10)); switch (t) {
  14688. case "lt": return "<";
  14689. case "gt": return ">";
  14690. case "amp": return "&";
  14691. case "quot": return '"';
  14692. case "apos": return "'";
  14693. } return _this.onResolveEntity(t); }));
  14694. };
  14695. XMLParserBase.prototype._parseContent = function (e, t) { var i = []; var a = t; function skipWs() { for (; a < e.length && isWhitespace(e, a);)
  14696. ++a; } for (; a < e.length && !isWhitespace(e, a) && ">" !== e[a] && "/" !== e[a];)
  14697. ++a; var s = e.substring(t, a); skipWs(); for (; a < e.length && ">" !== e[a] && "/" !== e[a] && "?" !== e[a];) {
  14698. skipWs();
  14699. var t_287 = "", s_145 = "";
  14700. for (; a < e.length && !isWhitespace(e, a) && "=" !== e[a];) {
  14701. t_287 += e[a];
  14702. ++a;
  14703. }
  14704. skipWs();
  14705. if ("=" !== e[a])
  14706. return null;
  14707. ++a;
  14708. skipWs();
  14709. var r_109 = e[a];
  14710. if ('"' !== r_109 && "'" !== r_109)
  14711. return null;
  14712. var n_77 = e.indexOf(r_109, ++a);
  14713. if (n_77 < 0)
  14714. return null;
  14715. s_145 = e.substring(a, n_77);
  14716. i.push({ name: t_287, value: this._resolveEntities(s_145) });
  14717. a = n_77 + 1;
  14718. skipWs();
  14719. } return { name: s, attributes: i, parsed: a - t }; };
  14720. XMLParserBase.prototype._parseProcessingInstruction = function (e, t) { var i = t; for (; i < e.length && !isWhitespace(e, i) && ">" !== e[i] && "?" !== e[i] && "/" !== e[i];)
  14721. ++i; var a = e.substring(t, i); !function skipWs() { for (; i < e.length && isWhitespace(e, i);)
  14722. ++i; }(); var s = i; for (; i < e.length && ("?" !== e[i] || ">" !== e[i + 1]);)
  14723. ++i; return { name: a, value: e.substring(s, i), parsed: i - t }; };
  14724. XMLParserBase.prototype.parseXml = function (e) { var t = 0; for (; t < e.length;) {
  14725. var i_244 = t;
  14726. if ("<" === e[t]) {
  14727. ++i_244;
  14728. var t_288 = void 0;
  14729. switch (e[i_244]) {
  14730. case "/":
  14731. ++i_244;
  14732. t_288 = e.indexOf(">", i_244);
  14733. if (t_288 < 0) {
  14734. this.onError(Ls);
  14735. return;
  14736. }
  14737. this.onEndElement(e.substring(i_244, t_288));
  14738. i_244 = t_288 + 1;
  14739. break;
  14740. case "?":
  14741. ++i_244;
  14742. var a_199 = this._parseProcessingInstruction(e, i_244);
  14743. if ("?>" !== e.substring(i_244 + a_199.parsed, i_244 + a_199.parsed + 2)) {
  14744. this.onError(Gs);
  14745. return;
  14746. }
  14747. this.onPi(a_199.name, a_199.value);
  14748. i_244 += a_199.parsed + 2;
  14749. break;
  14750. case "!":
  14751. if ("--" === e.substring(i_244 + 1, i_244 + 3)) {
  14752. t_288 = e.indexOf("--\x3e", i_244 + 3);
  14753. if (t_288 < 0) {
  14754. this.onError(Ms);
  14755. return;
  14756. }
  14757. this.onComment(e.substring(i_244 + 3, t_288));
  14758. i_244 = t_288 + 3;
  14759. }
  14760. else if ("[CDATA[" === e.substring(i_244 + 1, i_244 + 8)) {
  14761. t_288 = e.indexOf("]]>", i_244 + 8);
  14762. if (t_288 < 0) {
  14763. this.onError(Ns);
  14764. return;
  14765. }
  14766. this.onCdata(e.substring(i_244 + 8, t_288));
  14767. i_244 = t_288 + 3;
  14768. }
  14769. else {
  14770. if ("DOCTYPE" !== e.substring(i_244 + 1, i_244 + 8)) {
  14771. this.onError(Us);
  14772. return;
  14773. }
  14774. {
  14775. var a_200 = e.indexOf("[", i_244 + 8);
  14776. var s_146 = !1;
  14777. t_288 = e.indexOf(">", i_244 + 8);
  14778. if (t_288 < 0) {
  14779. this.onError(xs);
  14780. return;
  14781. }
  14782. if (a_200 > 0 && t_288 > a_200) {
  14783. t_288 = e.indexOf("]>", i_244 + 8);
  14784. if (t_288 < 0) {
  14785. this.onError(xs);
  14786. return;
  14787. }
  14788. s_146 = !0;
  14789. }
  14790. var r_110 = e.substring(i_244 + 8, t_288 + (s_146 ? 1 : 0));
  14791. this.onDoctype(r_110);
  14792. i_244 = t_288 + (s_146 ? 2 : 1);
  14793. }
  14794. }
  14795. break;
  14796. default:
  14797. var s_147 = this._parseContent(e, i_244);
  14798. if (null === s_147) {
  14799. this.onError(Us);
  14800. return;
  14801. }
  14802. var r_111 = !1;
  14803. if ("/>" === e.substring(i_244 + s_147.parsed, i_244 + s_147.parsed + 2))
  14804. r_111 = !0;
  14805. else if (">" !== e.substring(i_244 + s_147.parsed, i_244 + s_147.parsed + 1)) {
  14806. this.onError(Ls);
  14807. return;
  14808. }
  14809. this.onBeginElement(s_147.name, s_147.attributes, r_111);
  14810. i_244 += s_147.parsed + (r_111 ? 2 : 1);
  14811. }
  14812. }
  14813. else {
  14814. for (; i_244 < e.length && "<" !== e[i_244];)
  14815. i_244++;
  14816. var a_201 = e.substring(t, i_244);
  14817. this.onText(this._resolveEntities(a_201));
  14818. }
  14819. t = i_244;
  14820. } };
  14821. XMLParserBase.prototype.onResolveEntity = function (e) { return "&".concat(e, ";"); };
  14822. XMLParserBase.prototype.onPi = function (e, t) { };
  14823. XMLParserBase.prototype.onComment = function (e) { };
  14824. XMLParserBase.prototype.onCdata = function (e) { };
  14825. XMLParserBase.prototype.onDoctype = function (e) { };
  14826. XMLParserBase.prototype.onText = function (e) { };
  14827. XMLParserBase.prototype.onBeginElement = function (e, t, i) { };
  14828. XMLParserBase.prototype.onEndElement = function (e) { };
  14829. XMLParserBase.prototype.onError = function (e) { };
  14830. return XMLParserBase;
  14831. }());
  14832. var SimpleDOMNode = /** @class */ (function () {
  14833. function SimpleDOMNode(e, t) {
  14834. this.nodeName = e;
  14835. this.nodeValue = t;
  14836. Object.defineProperty(this, "parentNode", { value: null, writable: !0 });
  14837. }
  14838. Object.defineProperty(SimpleDOMNode.prototype, "firstChild", {
  14839. get: function () { var _b; return (_b = this.childNodes) === null || _b === void 0 ? void 0 : _b[0]; },
  14840. enumerable: false,
  14841. configurable: true
  14842. });
  14843. Object.defineProperty(SimpleDOMNode.prototype, "nextSibling", {
  14844. get: function () { var e = this.parentNode.childNodes; if (!e)
  14845. return; var t = e.indexOf(this); return -1 !== t ? e[t + 1] : void 0; },
  14846. enumerable: false,
  14847. configurable: true
  14848. });
  14849. Object.defineProperty(SimpleDOMNode.prototype, "textContent", {
  14850. get: function () { return this.childNodes ? this.childNodes.map((function (e) { return e.textContent; })).join("") : this.nodeValue || ""; },
  14851. enumerable: false,
  14852. configurable: true
  14853. });
  14854. Object.defineProperty(SimpleDOMNode.prototype, "children", {
  14855. get: function () { return this.childNodes || []; },
  14856. enumerable: false,
  14857. configurable: true
  14858. });
  14859. SimpleDOMNode.prototype.hasChildNodes = function () { var _b; return ((_b = this.childNodes) === null || _b === void 0 ? void 0 : _b.length) > 0; };
  14860. SimpleDOMNode.prototype.searchNode = function (e, t) { var _b; if (t >= e.length)
  14861. return this; var i = e[t]; if (i.name.startsWith("#") && t < e.length - 1)
  14862. return this.searchNode(e, t + 1); var a = []; var s = this; for (;;) {
  14863. if (i.name === s.nodeName) {
  14864. if (0 !== i.pos) {
  14865. if (0 === a.length)
  14866. return null;
  14867. {
  14868. var r_112 = a.pop()[0];
  14869. var n_78 = 0;
  14870. for (var _j = 0, _k = r_112.childNodes; _j < _k.length; _j++) {
  14871. var a_202 = _k[_j];
  14872. if (i.name === a_202.nodeName) {
  14873. if (n_78 === i.pos)
  14874. return a_202.searchNode(e, t + 1);
  14875. n_78++;
  14876. }
  14877. }
  14878. return s.searchNode(e, t + 1);
  14879. }
  14880. }
  14881. {
  14882. var i_245 = s.searchNode(e, t + 1);
  14883. if (null !== i_245)
  14884. return i_245;
  14885. }
  14886. }
  14887. if (((_b = s.childNodes) === null || _b === void 0 ? void 0 : _b.length) > 0) {
  14888. a.push([s, 0]);
  14889. s = s.childNodes[0];
  14890. }
  14891. else {
  14892. if (0 === a.length)
  14893. return null;
  14894. for (; 0 !== a.length;) {
  14895. var _l = a.pop(), e_379 = _l[0], t_289 = _l[1], i_246 = t_289 + 1;
  14896. if (i_246 < e_379.childNodes.length) {
  14897. a.push([e_379, i_246]);
  14898. s = e_379.childNodes[i_246];
  14899. break;
  14900. }
  14901. }
  14902. if (0 === a.length)
  14903. return null;
  14904. }
  14905. } };
  14906. SimpleDOMNode.prototype.dump = function (e) { if ("#text" !== this.nodeName) {
  14907. e.push("<".concat(this.nodeName));
  14908. if (this.attributes)
  14909. for (var _b = 0, _j = this.attributes; _b < _j.length; _b++) {
  14910. var t_290 = _j[_b];
  14911. e.push(" ".concat(t_290.name, "=\"").concat(encodeToXmlString(t_290.value), "\""));
  14912. }
  14913. if (this.hasChildNodes()) {
  14914. e.push(">");
  14915. for (var _k = 0, _l = this.childNodes; _k < _l.length; _k++) {
  14916. var t_291 = _l[_k];
  14917. t_291.dump(e);
  14918. }
  14919. e.push("</".concat(this.nodeName, ">"));
  14920. }
  14921. else
  14922. this.nodeValue ? e.push(">".concat(encodeToXmlString(this.nodeValue), "</").concat(this.nodeName, ">")) : e.push("/>");
  14923. }
  14924. else
  14925. e.push(encodeToXmlString(this.nodeValue)); };
  14926. return SimpleDOMNode;
  14927. }());
  14928. var SimpleXMLParser = /** @class */ (function (_super) {
  14929. tslib_1.__extends(SimpleXMLParser, _super);
  14930. function SimpleXMLParser(_b) {
  14931. var _j = _b.hasAttributes, e = _j === void 0 ? !1 : _j, _k = _b.lowerCaseName, t = _k === void 0 ? !1 : _k;
  14932. var _this = _super.call(this) || this;
  14933. _this._currentFragment = null;
  14934. _this._stack = null;
  14935. _this._errorCode = Rs;
  14936. _this._hasAttributes = e;
  14937. _this._lowerCaseName = t;
  14938. return _this;
  14939. }
  14940. SimpleXMLParser.prototype.parseFromString = function (e) { this._currentFragment = []; this._stack = []; this._errorCode = Rs; this.parseXml(e); if (this._errorCode !== Rs)
  14941. return; var t = this._currentFragment[0]; return t ? { documentElement: t } : void 0; };
  14942. SimpleXMLParser.prototype.onText = function (e) { if (function isWhitespaceString(e) { for (var t_292 = 0, i_247 = e.length; t_292 < i_247; t_292++)
  14943. if (!isWhitespace(e, t_292))
  14944. return !1; return !0; }(e))
  14945. return; var t = new SimpleDOMNode("#text", e); this._currentFragment.push(t); };
  14946. SimpleXMLParser.prototype.onCdata = function (e) { var t = new SimpleDOMNode("#text", e); this._currentFragment.push(t); };
  14947. SimpleXMLParser.prototype.onBeginElement = function (e, t, i) { this._lowerCaseName && (e = e.toLowerCase()); var a = new SimpleDOMNode(e); a.childNodes = []; this._hasAttributes && (a.attributes = t); this._currentFragment.push(a); if (!i) {
  14948. this._stack.push(this._currentFragment);
  14949. this._currentFragment = a.childNodes;
  14950. } };
  14951. SimpleXMLParser.prototype.onEndElement = function (e) { this._currentFragment = this._stack.pop() || []; var t = this._currentFragment.at(-1); if (!t)
  14952. return null; for (var _b = 0, _j = t.childNodes; _b < _j.length; _b++) {
  14953. var e_380 = _j[_b];
  14954. e_380.parentNode = t;
  14955. } return t; };
  14956. SimpleXMLParser.prototype.onError = function (e) { this._errorCode = e; };
  14957. return SimpleXMLParser;
  14958. }(XMLParserBase));
  14959. var MetadataParser = /** @class */ (function () {
  14960. function MetadataParser(e) {
  14961. e = this._repair(e);
  14962. var t = new SimpleXMLParser({ lowerCaseName: !0 }).parseFromString(e);
  14963. this._metadataMap = new Map;
  14964. this._data = e;
  14965. t && this._parse(t);
  14966. }
  14967. MetadataParser.prototype._repair = function (e) { return e.replace(/^[^<]+/, "").replaceAll(/>\\376\\377([^<]+)/g, (function (e, t) { var i = t.replaceAll(/\\([0-3])([0-7])([0-7])/g, (function (e, t, i, a) { return String.fromCharCode(64 * t + 8 * i + 1 * a); })).replaceAll(/&(amp|apos|gt|lt|quot);/g, (function (e, t) { switch (t) {
  14968. case "amp": return "&";
  14969. case "apos": return "'";
  14970. case "gt": return ">";
  14971. case "lt": return "<";
  14972. case "quot": return '"';
  14973. } throw new Error("_repair: ".concat(t, " isn't defined.")); })), a = [">"]; for (var e_381 = 0, t_293 = i.length; e_381 < t_293; e_381 += 2) {
  14974. var t_294 = 256 * i.charCodeAt(e_381) + i.charCodeAt(e_381 + 1);
  14975. t_294 >= 32 && t_294 < 127 && 60 !== t_294 && 62 !== t_294 && 38 !== t_294 ? a.push(String.fromCharCode(t_294)) : a.push("&#x" + (65536 + t_294).toString(16).substring(1) + ";");
  14976. } return a.join(""); })); };
  14977. MetadataParser.prototype._getSequence = function (e) { var t = e.nodeName; return "rdf:bag" !== t && "rdf:seq" !== t && "rdf:alt" !== t ? null : e.childNodes.filter((function (e) { return "rdf:li" === e.nodeName; })); };
  14978. MetadataParser.prototype._parseArray = function (e) { if (!e.hasChildNodes())
  14979. return; var t = e.childNodes[0], i = this._getSequence(t) || []; this._metadataMap.set(e.nodeName, i.map((function (e) { return e.textContent.trim(); }))); };
  14980. MetadataParser.prototype._parse = function (e) { var t = e.documentElement; if ("rdf:rdf" !== t.nodeName) {
  14981. t = t.firstChild;
  14982. for (; t && "rdf:rdf" !== t.nodeName;)
  14983. t = t.nextSibling;
  14984. } if (t && "rdf:rdf" === t.nodeName && t.hasChildNodes())
  14985. for (var _b = 0, _j = t.childNodes; _b < _j.length; _b++) {
  14986. var e_382 = _j[_b];
  14987. if ("rdf:description" === e_382.nodeName)
  14988. for (var _k = 0, _l = e_382.childNodes; _k < _l.length; _k++) {
  14989. var t_295 = _l[_k];
  14990. var e_383 = t_295.nodeName;
  14991. switch (e_383) {
  14992. case "#text": continue;
  14993. case "dc:creator":
  14994. case "dc:subject":
  14995. this._parseArray(t_295);
  14996. continue;
  14997. }
  14998. this._metadataMap.set(e_383, t_295.textContent.trim());
  14999. }
  15000. } };
  15001. Object.defineProperty(MetadataParser.prototype, "serializable", {
  15002. get: function () { return { parsedData: this._metadataMap, rawData: this._data }; },
  15003. enumerable: false,
  15004. configurable: true
  15005. });
  15006. return MetadataParser;
  15007. }());
  15008. var DecryptStream = /** @class */ (function (_super) {
  15009. tslib_1.__extends(DecryptStream, _super);
  15010. function DecryptStream(e, t, i) {
  15011. var _this = _super.call(this, t) || this;
  15012. _this.str = e;
  15013. _this.dict = e.dict;
  15014. _this.decrypt = i;
  15015. _this.nextChunk = null;
  15016. _this.initialized = !1;
  15017. return _this;
  15018. }
  15019. DecryptStream.prototype.readBlock = function () { var _b; var e; if (this.initialized)
  15020. e = this.nextChunk;
  15021. else {
  15022. e = this.str.getBytes(512);
  15023. this.initialized = !0;
  15024. } if (!e || 0 === e.length) {
  15025. this.eof = !0;
  15026. return;
  15027. } this.nextChunk = this.str.getBytes(512); var t = ((_b = this.nextChunk) === null || _b === void 0 ? void 0 : _b.length) > 0; e = (0, this.decrypt)(e, !t); var i = this.bufferLength, a = i + e.length; this.ensureBuffer(a).set(e, i); this.bufferLength = a; };
  15028. return DecryptStream;
  15029. }(DecodeStream));
  15030. var ARCFourCipher = /** @class */ (function () {
  15031. function ARCFourCipher(e) {
  15032. this.a = 0;
  15033. this.b = 0;
  15034. var t = new Uint8Array(256), i = e.length;
  15035. for (var e_384 = 0; e_384 < 256; ++e_384)
  15036. t[e_384] = e_384;
  15037. for (var a_203 = 0, s_148 = 0; a_203 < 256; ++a_203) {
  15038. var r_113 = t[a_203];
  15039. s_148 = s_148 + r_113 + e[a_203 % i] & 255;
  15040. t[a_203] = t[s_148];
  15041. t[s_148] = r_113;
  15042. }
  15043. this.s = t;
  15044. }
  15045. ARCFourCipher.prototype.encryptBlock = function (e) { var t = this.a, i = this.b; var a = this.s, s = e.length, r = new Uint8Array(s); for (var n_79 = 0; n_79 < s; ++n_79) {
  15046. t = t + 1 & 255;
  15047. var s_149 = a[t];
  15048. i = i + s_149 & 255;
  15049. var o_54 = a[i];
  15050. a[t] = o_54;
  15051. a[i] = s_149;
  15052. r[n_79] = e[n_79] ^ a[s_149 + o_54 & 255];
  15053. } this.a = t; this.b = i; return r; };
  15054. ARCFourCipher.prototype.decryptBlock = function (e) { return this.encryptBlock(e); };
  15055. ARCFourCipher.prototype.encrypt = function (e) { return this.encryptBlock(e); };
  15056. return ARCFourCipher;
  15057. }());
  15058. var Js = function calculateMD5Closure() { var e = new Uint8Array([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]), t = new Int32Array([-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551]); return function hash(i, a, s) { var r = 1732584193, n = -271733879, o = -1732584194, g = 271733878; var c = s + 72 & -64, h = new Uint8Array(c); var l, C; for (l = 0; l < s; ++l)
  15059. h[l] = i[a++]; h[l++] = 128; var Q = c - 8; for (; l < Q;)
  15060. h[l++] = 0; h[l++] = s << 3 & 255; h[l++] = s >> 5 & 255; h[l++] = s >> 13 & 255; h[l++] = s >> 21 & 255; h[l++] = s >>> 29 & 255; h[l++] = 0; h[l++] = 0; h[l++] = 0; var E = new Int32Array(16); for (l = 0; l < c;) {
  15061. for (C = 0; C < 16; ++C, l += 4)
  15062. E[C] = h[l] | h[l + 1] << 8 | h[l + 2] << 16 | h[l + 3] << 24;
  15063. var i_248 = void 0, a_204 = void 0, s_150 = r, c_24 = n, Q_17 = o, u_9 = g;
  15064. for (C = 0; C < 64; ++C) {
  15065. if (C < 16) {
  15066. i_248 = c_24 & Q_17 | ~c_24 & u_9;
  15067. a_204 = C;
  15068. }
  15069. else if (C < 32) {
  15070. i_248 = u_9 & c_24 | ~u_9 & Q_17;
  15071. a_204 = 5 * C + 1 & 15;
  15072. }
  15073. else if (C < 48) {
  15074. i_248 = c_24 ^ Q_17 ^ u_9;
  15075. a_204 = 3 * C + 5 & 15;
  15076. }
  15077. else {
  15078. i_248 = Q_17 ^ (c_24 | ~u_9);
  15079. a_204 = 7 * C & 15;
  15080. }
  15081. var r_114 = u_9, n_80 = s_150 + i_248 + t[C] + E[a_204] | 0, o_55 = e[C];
  15082. u_9 = Q_17;
  15083. Q_17 = c_24;
  15084. c_24 = c_24 + (n_80 << o_55 | n_80 >>> 32 - o_55) | 0;
  15085. s_150 = r_114;
  15086. }
  15087. r = r + s_150 | 0;
  15088. n = n + c_24 | 0;
  15089. o = o + Q_17 | 0;
  15090. g = g + u_9 | 0;
  15091. } return new Uint8Array([255 & r, r >> 8 & 255, r >> 16 & 255, r >>> 24 & 255, 255 & n, n >> 8 & 255, n >> 16 & 255, n >>> 24 & 255, 255 & o, o >> 8 & 255, o >> 16 & 255, o >>> 24 & 255, 255 & g, g >> 8 & 255, g >> 16 & 255, g >>> 24 & 255]); }; }();
  15092. var Word64 = /** @class */ (function () {
  15093. function Word64(e, t) {
  15094. this.high = 0 | e;
  15095. this.low = 0 | t;
  15096. }
  15097. Word64.prototype.and = function (e) { this.high &= e.high; this.low &= e.low; };
  15098. Word64.prototype.xor = function (e) { this.high ^= e.high; this.low ^= e.low; };
  15099. Word64.prototype.or = function (e) { this.high |= e.high; this.low |= e.low; };
  15100. Word64.prototype.shiftRight = function (e) { if (e >= 32) {
  15101. this.low = this.high >>> e - 32 | 0;
  15102. this.high = 0;
  15103. }
  15104. else {
  15105. this.low = this.low >>> e | this.high << 32 - e;
  15106. this.high = this.high >>> e | 0;
  15107. } };
  15108. Word64.prototype.shiftLeft = function (e) { if (e >= 32) {
  15109. this.high = this.low << e - 32;
  15110. this.low = 0;
  15111. }
  15112. else {
  15113. this.high = this.high << e | this.low >>> 32 - e;
  15114. this.low <<= e;
  15115. } };
  15116. Word64.prototype.rotateRight = function (e) { var t, i; if (32 & e) {
  15117. i = this.low;
  15118. t = this.high;
  15119. }
  15120. else {
  15121. t = this.low;
  15122. i = this.high;
  15123. } e &= 31; this.low = t >>> e | i << 32 - e; this.high = i >>> e | t << 32 - e; };
  15124. Word64.prototype.not = function () { this.high = ~this.high; this.low = ~this.low; };
  15125. Word64.prototype.add = function (e) { var t = (this.low >>> 0) + (e.low >>> 0); var i = (this.high >>> 0) + (e.high >>> 0); t > 4294967295 && (i += 1); this.low = 0 | t; this.high = 0 | i; };
  15126. Word64.prototype.copyTo = function (e, t) { e[t] = this.high >>> 24 & 255; e[t + 1] = this.high >> 16 & 255; e[t + 2] = this.high >> 8 & 255; e[t + 3] = 255 & this.high; e[t + 4] = this.low >>> 24 & 255; e[t + 5] = this.low >> 16 & 255; e[t + 6] = this.low >> 8 & 255; e[t + 7] = 255 & this.low; };
  15127. Word64.prototype.assign = function (e) { this.high = e.high; this.low = e.low; };
  15128. return Word64;
  15129. }());
  15130. var Hs = function calculateSHA256Closure() { function rotr(e, t) { return e >>> t | e << 32 - t; } function ch(e, t, i) { return e & t ^ ~e & i; } function maj(e, t, i) { return e & t ^ e & i ^ t & i; } function sigma(e) { return rotr(e, 2) ^ rotr(e, 13) ^ rotr(e, 22); } function sigmaPrime(e) { return rotr(e, 6) ^ rotr(e, 11) ^ rotr(e, 25); } function littleSigma(e) { return rotr(e, 7) ^ rotr(e, 18) ^ e >>> 3; } var e = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298]; return function hash(t, i, a) { var s = 1779033703, r = 3144134277, n = 1013904242, o = 2773480762, g = 1359893119, c = 2600822924, h = 528734635, l = 1541459225; var C = 64 * Math.ceil((a + 9) / 64), Q = new Uint8Array(C); var E, u; for (E = 0; E < a; ++E)
  15131. Q[E] = t[i++]; Q[E++] = 128; var d = C - 8; for (; E < d;)
  15132. Q[E++] = 0; Q[E++] = 0; Q[E++] = 0; Q[E++] = 0; Q[E++] = a >>> 29 & 255; Q[E++] = a >> 21 & 255; Q[E++] = a >> 13 & 255; Q[E++] = a >> 5 & 255; Q[E++] = a << 3 & 255; var f = new Uint32Array(64); for (E = 0; E < C;) {
  15133. for (u = 0; u < 16; ++u) {
  15134. f[u] = Q[E] << 24 | Q[E + 1] << 16 | Q[E + 2] << 8 | Q[E + 3];
  15135. E += 4;
  15136. }
  15137. for (u = 16; u < 64; ++u)
  15138. f[u] = (rotr(p = f[u - 2], 17) ^ rotr(p, 19) ^ p >>> 10) + f[u - 7] + littleSigma(f[u - 15]) + f[u - 16] | 0;
  15139. var t_296 = void 0, i_249 = void 0, a_205 = s, C_18 = r, d_5 = n, m_6 = o, y_3 = g, w_2 = c, b_2 = h, D_2 = l;
  15140. for (u = 0; u < 64; ++u) {
  15141. t_296 = D_2 + sigmaPrime(y_3) + ch(y_3, w_2, b_2) + e[u] + f[u];
  15142. i_249 = sigma(a_205) + maj(a_205, C_18, d_5);
  15143. D_2 = b_2;
  15144. b_2 = w_2;
  15145. w_2 = y_3;
  15146. y_3 = m_6 + t_296 | 0;
  15147. m_6 = d_5;
  15148. d_5 = C_18;
  15149. C_18 = a_205;
  15150. a_205 = t_296 + i_249 | 0;
  15151. }
  15152. s = s + a_205 | 0;
  15153. r = r + C_18 | 0;
  15154. n = n + d_5 | 0;
  15155. o = o + m_6 | 0;
  15156. g = g + y_3 | 0;
  15157. c = c + w_2 | 0;
  15158. h = h + b_2 | 0;
  15159. l = l + D_2 | 0;
  15160. } var p; return new Uint8Array([s >> 24 & 255, s >> 16 & 255, s >> 8 & 255, 255 & s, r >> 24 & 255, r >> 16 & 255, r >> 8 & 255, 255 & r, n >> 24 & 255, n >> 16 & 255, n >> 8 & 255, 255 & n, o >> 24 & 255, o >> 16 & 255, o >> 8 & 255, 255 & o, g >> 24 & 255, g >> 16 & 255, g >> 8 & 255, 255 & g, c >> 24 & 255, c >> 16 & 255, c >> 8 & 255, 255 & c, h >> 24 & 255, h >> 16 & 255, h >> 8 & 255, 255 & h, l >> 24 & 255, l >> 16 & 255, l >> 8 & 255, 255 & l]); }; }(), Ys = function calculateSHA512Closure() { function ch(e, t, i, a, s) { e.assign(t); e.and(i); s.assign(t); s.not(); s.and(a); e.xor(s); } function maj(e, t, i, a, s) { e.assign(t); e.and(i); s.assign(t); s.and(a); e.xor(s); s.assign(i); s.and(a); e.xor(s); } function sigma(e, t, i) { e.assign(t); e.rotateRight(28); i.assign(t); i.rotateRight(34); e.xor(i); i.assign(t); i.rotateRight(39); e.xor(i); } function sigmaPrime(e, t, i) { e.assign(t); e.rotateRight(14); i.assign(t); i.rotateRight(18); e.xor(i); i.assign(t); i.rotateRight(41); e.xor(i); } function littleSigma(e, t, i) { e.assign(t); e.rotateRight(1); i.assign(t); i.rotateRight(8); e.xor(i); i.assign(t); i.shiftRight(7); e.xor(i); } function littleSigmaPrime(e, t, i) { e.assign(t); e.rotateRight(19); i.assign(t); i.rotateRight(61); e.xor(i); i.assign(t); i.shiftRight(6); e.xor(i); } var e = [new Word64(1116352408, 3609767458), new Word64(1899447441, 602891725), new Word64(3049323471, 3964484399), new Word64(3921009573, 2173295548), new Word64(961987163, 4081628472), new Word64(1508970993, 3053834265), new Word64(2453635748, 2937671579), new Word64(2870763221, 3664609560), new Word64(3624381080, 2734883394), new Word64(310598401, 1164996542), new Word64(607225278, 1323610764), new Word64(1426881987, 3590304994), new Word64(1925078388, 4068182383), new Word64(2162078206, 991336113), new Word64(2614888103, 633803317), new Word64(3248222580, 3479774868), new Word64(3835390401, 2666613458), new Word64(4022224774, 944711139), new Word64(264347078, 2341262773), new Word64(604807628, 2007800933), new Word64(770255983, 1495990901), new Word64(1249150122, 1856431235), new Word64(1555081692, 3175218132), new Word64(1996064986, 2198950837), new Word64(2554220882, 3999719339), new Word64(2821834349, 766784016), new Word64(2952996808, 2566594879), new Word64(3210313671, 3203337956), new Word64(3336571891, 1034457026), new Word64(3584528711, 2466948901), new Word64(113926993, 3758326383), new Word64(338241895, 168717936), new Word64(666307205, 1188179964), new Word64(773529912, 1546045734), new Word64(1294757372, 1522805485), new Word64(1396182291, 2643833823), new Word64(1695183700, 2343527390), new Word64(1986661051, 1014477480), new Word64(2177026350, 1206759142), new Word64(2456956037, 344077627), new Word64(2730485921, 1290863460), new Word64(2820302411, 3158454273), new Word64(3259730800, 3505952657), new Word64(3345764771, 106217008), new Word64(3516065817, 3606008344), new Word64(3600352804, 1432725776), new Word64(4094571909, 1467031594), new Word64(275423344, 851169720), new Word64(430227734, 3100823752), new Word64(506948616, 1363258195), new Word64(659060556, 3750685593), new Word64(883997877, 3785050280), new Word64(958139571, 3318307427), new Word64(1322822218, 3812723403), new Word64(1537002063, 2003034995), new Word64(1747873779, 3602036899), new Word64(1955562222, 1575990012), new Word64(2024104815, 1125592928), new Word64(2227730452, 2716904306), new Word64(2361852424, 442776044), new Word64(2428436474, 593698344), new Word64(2756734187, 3733110249), new Word64(3204031479, 2999351573), new Word64(3329325298, 3815920427), new Word64(3391569614, 3928383900), new Word64(3515267271, 566280711), new Word64(3940187606, 3454069534), new Word64(4118630271, 4000239992), new Word64(116418474, 1914138554), new Word64(174292421, 2731055270), new Word64(289380356, 3203993006), new Word64(460393269, 320620315), new Word64(685471733, 587496836), new Word64(852142971, 1086792851), new Word64(1017036298, 365543100), new Word64(1126000580, 2618297676), new Word64(1288033470, 3409855158), new Word64(1501505948, 4234509866), new Word64(1607167915, 987167468), new Word64(1816402316, 1246189591)]; return function hash(t, i, a, s) {
  15161. if (s === void 0) { s = !1; }
  15162. var r, n, o, g, c, h, l, C;
  15163. if (s) {
  15164. r = new Word64(3418070365, 3238371032);
  15165. n = new Word64(1654270250, 914150663);
  15166. o = new Word64(2438529370, 812702999);
  15167. g = new Word64(355462360, 4144912697);
  15168. c = new Word64(1731405415, 4290775857);
  15169. h = new Word64(2394180231, 1750603025);
  15170. l = new Word64(3675008525, 1694076839);
  15171. C = new Word64(1203062813, 3204075428);
  15172. }
  15173. else {
  15174. r = new Word64(1779033703, 4089235720);
  15175. n = new Word64(3144134277, 2227873595);
  15176. o = new Word64(1013904242, 4271175723);
  15177. g = new Word64(2773480762, 1595750129);
  15178. c = new Word64(1359893119, 2917565137);
  15179. h = new Word64(2600822924, 725511199);
  15180. l = new Word64(528734635, 4215389547);
  15181. C = new Word64(1541459225, 327033209);
  15182. }
  15183. var Q = 128 * Math.ceil((a + 17) / 128), E = new Uint8Array(Q);
  15184. var u, d;
  15185. for (u = 0; u < a; ++u)
  15186. E[u] = t[i++];
  15187. E[u++] = 128;
  15188. var f = Q - 16;
  15189. for (; u < f;)
  15190. E[u++] = 0;
  15191. E[u++] = 0;
  15192. E[u++] = 0;
  15193. E[u++] = 0;
  15194. E[u++] = 0;
  15195. E[u++] = 0;
  15196. E[u++] = 0;
  15197. E[u++] = 0;
  15198. E[u++] = 0;
  15199. E[u++] = 0;
  15200. E[u++] = 0;
  15201. E[u++] = 0;
  15202. E[u++] = a >>> 29 & 255;
  15203. E[u++] = a >> 21 & 255;
  15204. E[u++] = a >> 13 & 255;
  15205. E[u++] = a >> 5 & 255;
  15206. E[u++] = a << 3 & 255;
  15207. var p = new Array(80);
  15208. for (u = 0; u < 80; u++)
  15209. p[u] = new Word64(0, 0);
  15210. var m = new Word64(0, 0), y = new Word64(0, 0), w = new Word64(0, 0), b = new Word64(0, 0), D = new Word64(0, 0), F = new Word64(0, 0), S = new Word64(0, 0), k = new Word64(0, 0);
  15211. var R = new Word64(0, 0), N = new Word64(0, 0), G = new Word64(0, 0), x = new Word64(0, 0);
  15212. var M, U;
  15213. for (u = 0; u < Q;) {
  15214. for (d = 0; d < 16; ++d) {
  15215. p[d].high = E[u] << 24 | E[u + 1] << 16 | E[u + 2] << 8 | E[u + 3];
  15216. p[d].low = E[u + 4] << 24 | E[u + 5] << 16 | E[u + 6] << 8 | E[u + 7];
  15217. u += 8;
  15218. }
  15219. for (d = 16; d < 80; ++d) {
  15220. M = p[d];
  15221. littleSigmaPrime(M, p[d - 2], x);
  15222. M.add(p[d - 7]);
  15223. littleSigma(G, p[d - 15], x);
  15224. M.add(G);
  15225. M.add(p[d - 16]);
  15226. }
  15227. m.assign(r);
  15228. y.assign(n);
  15229. w.assign(o);
  15230. b.assign(g);
  15231. D.assign(c);
  15232. F.assign(h);
  15233. S.assign(l);
  15234. k.assign(C);
  15235. for (d = 0; d < 80; ++d) {
  15236. R.assign(k);
  15237. sigmaPrime(G, D, x);
  15238. R.add(G);
  15239. ch(G, D, F, S, x);
  15240. R.add(G);
  15241. R.add(e[d]);
  15242. R.add(p[d]);
  15243. sigma(N, m, x);
  15244. maj(G, m, y, w, x);
  15245. N.add(G);
  15246. M = k;
  15247. k = S;
  15248. S = F;
  15249. F = D;
  15250. b.add(R);
  15251. D = b;
  15252. b = w;
  15253. w = y;
  15254. y = m;
  15255. M.assign(R);
  15256. M.add(N);
  15257. m = M;
  15258. }
  15259. r.add(m);
  15260. n.add(y);
  15261. o.add(w);
  15262. g.add(b);
  15263. c.add(D);
  15264. h.add(F);
  15265. l.add(S);
  15266. C.add(k);
  15267. }
  15268. if (s) {
  15269. U = new Uint8Array(48);
  15270. r.copyTo(U, 0);
  15271. n.copyTo(U, 8);
  15272. o.copyTo(U, 16);
  15273. g.copyTo(U, 24);
  15274. c.copyTo(U, 32);
  15275. h.copyTo(U, 40);
  15276. }
  15277. else {
  15278. U = new Uint8Array(64);
  15279. r.copyTo(U, 0);
  15280. n.copyTo(U, 8);
  15281. o.copyTo(U, 16);
  15282. g.copyTo(U, 24);
  15283. c.copyTo(U, 32);
  15284. h.copyTo(U, 40);
  15285. l.copyTo(U, 48);
  15286. C.copyTo(U, 56);
  15287. }
  15288. return U;
  15289. }; }();
  15290. var NullCipher = /** @class */ (function () {
  15291. function NullCipher() {
  15292. }
  15293. NullCipher.prototype.decryptBlock = function (e) { return e; };
  15294. NullCipher.prototype.encrypt = function (e) { return e; };
  15295. return NullCipher;
  15296. }());
  15297. var AESBaseCipher = /** @class */ (function () {
  15298. function AESBaseCipher() {
  15299. this.constructor === AESBaseCipher && unreachable("Cannot initialize AESBaseCipher.");
  15300. this._s = new Uint8Array([99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 22]);
  15301. this._inv_s = new Uint8Array([82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, 251, 124, 227, 57, 130, 155, 47, 255, 135, 52, 142, 67, 68, 196, 222, 233, 203, 84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66, 250, 195, 78, 8, 46, 161, 102, 40, 217, 36, 178, 118, 91, 162, 73, 109, 139, 209, 37, 114, 248, 246, 100, 134, 104, 152, 22, 212, 164, 92, 204, 93, 101, 182, 146, 108, 112, 72, 80, 253, 237, 185, 218, 94, 21, 70, 87, 167, 141, 157, 132, 144, 216, 171, 0, 140, 188, 211, 10, 247, 228, 88, 5, 184, 179, 69, 6, 208, 44, 30, 143, 202, 63, 15, 2, 193, 175, 189, 3, 1, 19, 138, 107, 58, 145, 17, 65, 79, 103, 220, 234, 151, 242, 207, 206, 240, 180, 230, 115, 150, 172, 116, 34, 231, 173, 53, 133, 226, 249, 55, 232, 28, 117, 223, 110, 71, 241, 26, 113, 29, 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27, 252, 86, 62, 75, 198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244, 31, 221, 168, 51, 136, 7, 199, 49, 177, 18, 16, 89, 39, 128, 236, 95, 96, 81, 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239, 160, 224, 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, 23, 43, 4, 126, 186, 119, 214, 38, 225, 105, 20, 99, 85, 33, 12, 125]);
  15302. this._mix = new Uint32Array([0, 235474187, 470948374, 303765277, 941896748, 908933415, 607530554, 708780849, 1883793496, 2118214995, 1817866830, 1649639237, 1215061108, 1181045119, 1417561698, 1517767529, 3767586992, 4003061179, 4236429990, 4069246893, 3635733660, 3602770327, 3299278474, 3400528769, 2430122216, 2664543715, 2362090238, 2193862645, 2835123396, 2801107407, 3035535058, 3135740889, 3678124923, 3576870512, 3341394285, 3374361702, 3810496343, 3977675356, 4279080257, 4043610186, 2876494627, 2776292904, 3076639029, 3110650942, 2472011535, 2640243204, 2403728665, 2169303058, 1001089995, 899835584, 666464733, 699432150, 59727847, 226906860, 530400753, 294930682, 1273168787, 1172967064, 1475418501, 1509430414, 1942435775, 2110667444, 1876241833, 1641816226, 2910219766, 2743034109, 2976151520, 3211623147, 2505202138, 2606453969, 2302690252, 2269728455, 3711829422, 3543599269, 3240894392, 3475313331, 3843699074, 3943906441, 4178062228, 4144047775, 1306967366, 1139781709, 1374988112, 1610459739, 1975683434, 2076935265, 1775276924, 1742315127, 1034867998, 866637845, 566021896, 800440835, 92987698, 193195065, 429456164, 395441711, 1984812685, 2017778566, 1784663195, 1683407248, 1315562145, 1080094634, 1383856311, 1551037884, 101039829, 135050206, 437757123, 337553864, 1042385657, 807962610, 573804783, 742039012, 2531067453, 2564033334, 2328828971, 2227573024, 2935566865, 2700099354, 3001755655, 3168937228, 3868552805, 3902563182, 4203181171, 4102977912, 3736164937, 3501741890, 3265478751, 3433712980, 1106041591, 1340463100, 1576976609, 1408749034, 2043211483, 2009195472, 1708848333, 1809054150, 832877231, 1068351396, 766945465, 599762354, 159417987, 126454664, 361929877, 463180190, 2709260871, 2943682380, 3178106961, 3009879386, 2572697195, 2538681184, 2236228733, 2336434550, 3509871135, 3745345300, 3441850377, 3274667266, 3910161971, 3877198648, 4110568485, 4211818798, 2597806476, 2497604743, 2261089178, 2295101073, 2733856160, 2902087851, 3202437046, 2968011453, 3936291284, 3835036895, 4136440770, 4169408201, 3535486456, 3702665459, 3467192302, 3231722213, 2051518780, 1951317047, 1716890410, 1750902305, 1113818384, 1282050075, 1584504582, 1350078989, 168810852, 67556463, 371049330, 404016761, 841739592, 1008918595, 775550814, 540080725, 3969562369, 3801332234, 4035489047, 4269907996, 3569255213, 3669462566, 3366754619, 3332740144, 2631065433, 2463879762, 2160117071, 2395588676, 2767645557, 2868897406, 3102011747, 3069049960, 202008497, 33778362, 270040487, 504459436, 875451293, 975658646, 675039627, 641025152, 2084704233, 1917518562, 1615861247, 1851332852, 1147550661, 1248802510, 1484005843, 1451044056, 933301370, 967311729, 733156972, 632953703, 260388950, 25965917, 328671808, 496906059, 1206477858, 1239443753, 1543208500, 1441952575, 2144161806, 1908694277, 1675577880, 1842759443, 3610369226, 3644379585, 3408119516, 3307916247, 4011190502, 3776767469, 4077384432, 4245618683, 2809771154, 2842737049, 3144396420, 3043140495, 2673705150, 2438237621, 2203032232, 2370213795]);
  15303. this._mixCol = new Uint8Array(256);
  15304. for (var e_385 = 0; e_385 < 256; e_385++)
  15305. this._mixCol[e_385] = e_385 < 128 ? e_385 << 1 : e_385 << 1 ^ 27;
  15306. this.buffer = new Uint8Array(16);
  15307. this.bufferPosition = 0;
  15308. }
  15309. AESBaseCipher.prototype._expandKey = function (e) { unreachable("Cannot call `_expandKey` on the base class"); };
  15310. AESBaseCipher.prototype._decrypt = function (e, t) { var i, a, s; var r = new Uint8Array(16); r.set(e); for (var e_386 = 0, i_250 = this._keySize; e_386 < 16; ++e_386, ++i_250)
  15311. r[e_386] ^= t[i_250]; for (var e_387 = this._cyclesOfRepetition - 1; e_387 >= 1; --e_387) {
  15312. i = r[13];
  15313. r[13] = r[9];
  15314. r[9] = r[5];
  15315. r[5] = r[1];
  15316. r[1] = i;
  15317. i = r[14];
  15318. a = r[10];
  15319. r[14] = r[6];
  15320. r[10] = r[2];
  15321. r[6] = i;
  15322. r[2] = a;
  15323. i = r[15];
  15324. a = r[11];
  15325. s = r[7];
  15326. r[15] = r[3];
  15327. r[11] = i;
  15328. r[7] = a;
  15329. r[3] = s;
  15330. for (var e_388 = 0; e_388 < 16; ++e_388)
  15331. r[e_388] = this._inv_s[r[e_388]];
  15332. for (var i_251 = 0, a_206 = 16 * e_387; i_251 < 16; ++i_251, ++a_206)
  15333. r[i_251] ^= t[a_206];
  15334. for (var e_389 = 0; e_389 < 16; e_389 += 4) {
  15335. var t_297 = this._mix[r[e_389]], a_207 = this._mix[r[e_389 + 1]], s_151 = this._mix[r[e_389 + 2]], n_81 = this._mix[r[e_389 + 3]];
  15336. i = t_297 ^ a_207 >>> 8 ^ a_207 << 24 ^ s_151 >>> 16 ^ s_151 << 16 ^ n_81 >>> 24 ^ n_81 << 8;
  15337. r[e_389] = i >>> 24 & 255;
  15338. r[e_389 + 1] = i >> 16 & 255;
  15339. r[e_389 + 2] = i >> 8 & 255;
  15340. r[e_389 + 3] = 255 & i;
  15341. }
  15342. } i = r[13]; r[13] = r[9]; r[9] = r[5]; r[5] = r[1]; r[1] = i; i = r[14]; a = r[10]; r[14] = r[6]; r[10] = r[2]; r[6] = i; r[2] = a; i = r[15]; a = r[11]; s = r[7]; r[15] = r[3]; r[11] = i; r[7] = a; r[3] = s; for (var e_390 = 0; e_390 < 16; ++e_390) {
  15343. r[e_390] = this._inv_s[r[e_390]];
  15344. r[e_390] ^= t[e_390];
  15345. } return r; };
  15346. AESBaseCipher.prototype._encrypt = function (e, t) { var i = this._s; var a, s, r; var n = new Uint8Array(16); n.set(e); for (var e_391 = 0; e_391 < 16; ++e_391)
  15347. n[e_391] ^= t[e_391]; for (var e_392 = 1; e_392 < this._cyclesOfRepetition; e_392++) {
  15348. for (var e_393 = 0; e_393 < 16; ++e_393)
  15349. n[e_393] = i[n[e_393]];
  15350. r = n[1];
  15351. n[1] = n[5];
  15352. n[5] = n[9];
  15353. n[9] = n[13];
  15354. n[13] = r;
  15355. r = n[2];
  15356. s = n[6];
  15357. n[2] = n[10];
  15358. n[6] = n[14];
  15359. n[10] = r;
  15360. n[14] = s;
  15361. r = n[3];
  15362. s = n[7];
  15363. a = n[11];
  15364. n[3] = n[15];
  15365. n[7] = r;
  15366. n[11] = s;
  15367. n[15] = a;
  15368. for (var e_394 = 0; e_394 < 16; e_394 += 4) {
  15369. var t_298 = n[e_394 + 0], i_252 = n[e_394 + 1], s_152 = n[e_394 + 2], r_115 = n[e_394 + 3];
  15370. a = t_298 ^ i_252 ^ s_152 ^ r_115;
  15371. n[e_394 + 0] ^= a ^ this._mixCol[t_298 ^ i_252];
  15372. n[e_394 + 1] ^= a ^ this._mixCol[i_252 ^ s_152];
  15373. n[e_394 + 2] ^= a ^ this._mixCol[s_152 ^ r_115];
  15374. n[e_394 + 3] ^= a ^ this._mixCol[r_115 ^ t_298];
  15375. }
  15376. for (var i_253 = 0, a_208 = 16 * e_392; i_253 < 16; ++i_253, ++a_208)
  15377. n[i_253] ^= t[a_208];
  15378. } for (var e_395 = 0; e_395 < 16; ++e_395)
  15379. n[e_395] = i[n[e_395]]; r = n[1]; n[1] = n[5]; n[5] = n[9]; n[9] = n[13]; n[13] = r; r = n[2]; s = n[6]; n[2] = n[10]; n[6] = n[14]; n[10] = r; n[14] = s; r = n[3]; s = n[7]; a = n[11]; n[3] = n[15]; n[7] = r; n[11] = s; n[15] = a; for (var e_396 = 0, i_254 = this._keySize; e_396 < 16; ++e_396, ++i_254)
  15380. n[e_396] ^= t[i_254]; return n; };
  15381. AESBaseCipher.prototype._decryptBlock2 = function (e, t) { var i = e.length; var a = this.buffer, s = this.bufferPosition; var r = []; var n = this.iv; for (var t_299 = 0; t_299 < i; ++t_299) {
  15382. a[s] = e[t_299];
  15383. ++s;
  15384. if (s < 16)
  15385. continue;
  15386. var i_255 = this._decrypt(a, this._key);
  15387. for (var e_397 = 0; e_397 < 16; ++e_397)
  15388. i_255[e_397] ^= n[e_397];
  15389. n = a;
  15390. r.push(i_255);
  15391. a = new Uint8Array(16);
  15392. s = 0;
  15393. } this.buffer = a; this.bufferLength = s; this.iv = n; if (0 === r.length)
  15394. return new Uint8Array(0); var o = 16 * r.length; if (t) {
  15395. var e_398 = r.at(-1);
  15396. var t_300 = e_398[15];
  15397. if (t_300 <= 16) {
  15398. for (var i_256 = 15, a_209 = 16 - t_300; i_256 >= a_209; --i_256)
  15399. if (e_398[i_256] !== t_300) {
  15400. t_300 = 0;
  15401. break;
  15402. }
  15403. o -= t_300;
  15404. r[r.length - 1] = e_398.subarray(0, 16 - t_300);
  15405. }
  15406. } var g = new Uint8Array(o); for (var e_399 = 0, t_301 = 0, i_257 = r.length; e_399 < i_257; ++e_399, t_301 += 16)
  15407. g.set(r[e_399], t_301); return g; };
  15408. AESBaseCipher.prototype.decryptBlock = function (e, t, i) {
  15409. if (i === void 0) { i = null; }
  15410. var a = e.length, s = this.buffer;
  15411. var r = this.bufferPosition;
  15412. if (i)
  15413. this.iv = i;
  15414. else {
  15415. for (var t_302 = 0; r < 16 && t_302 < a; ++t_302, ++r)
  15416. s[r] = e[t_302];
  15417. if (r < 16) {
  15418. this.bufferLength = r;
  15419. return new Uint8Array(0);
  15420. }
  15421. this.iv = s;
  15422. e = e.subarray(16);
  15423. }
  15424. this.buffer = new Uint8Array(16);
  15425. this.bufferLength = 0;
  15426. this.decryptBlock = this._decryptBlock2;
  15427. return this.decryptBlock(e, t);
  15428. };
  15429. AESBaseCipher.prototype.encrypt = function (e, t) { var i = e.length; var a = this.buffer, s = this.bufferPosition; var r = []; t || (t = new Uint8Array(16)); for (var n_82 = 0; n_82 < i; ++n_82) {
  15430. a[s] = e[n_82];
  15431. ++s;
  15432. if (s < 16)
  15433. continue;
  15434. for (var e_400 = 0; e_400 < 16; ++e_400)
  15435. a[e_400] ^= t[e_400];
  15436. var i_258 = this._encrypt(a, this._key);
  15437. t = i_258;
  15438. r.push(i_258);
  15439. a = new Uint8Array(16);
  15440. s = 0;
  15441. } this.buffer = a; this.bufferLength = s; this.iv = t; if (0 === r.length)
  15442. return new Uint8Array(0); var n = 16 * r.length, o = new Uint8Array(n); for (var e_401 = 0, t_303 = 0, i_259 = r.length; e_401 < i_259; ++e_401, t_303 += 16)
  15443. o.set(r[e_401], t_303); return o; };
  15444. return AESBaseCipher;
  15445. }());
  15446. var AES128Cipher = /** @class */ (function (_super) {
  15447. tslib_1.__extends(AES128Cipher, _super);
  15448. function AES128Cipher(e) {
  15449. var _this = _super.call(this) || this;
  15450. _this._cyclesOfRepetition = 10;
  15451. _this._keySize = 160;
  15452. _this._rcon = new Uint8Array([141, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145, 57, 114, 228, 211, 189, 97, 194, 159, 37, 74, 148, 51, 102, 204, 131, 29, 58, 116, 232, 203, 141, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145, 57, 114, 228, 211, 189, 97, 194, 159, 37, 74, 148, 51, 102, 204, 131, 29, 58, 116, 232, 203, 141, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145, 57, 114, 228, 211, 189, 97, 194, 159, 37, 74, 148, 51, 102, 204, 131, 29, 58, 116, 232, 203, 141, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145, 57, 114, 228, 211, 189, 97, 194, 159, 37, 74, 148, 51, 102, 204, 131, 29, 58, 116, 232, 203, 141, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145, 57, 114, 228, 211, 189, 97, 194, 159, 37, 74, 148, 51, 102, 204, 131, 29, 58, 116, 232, 203, 141]);
  15453. _this._key = _this._expandKey(e);
  15454. return _this;
  15455. }
  15456. AES128Cipher.prototype._expandKey = function (e) { var t = this._s, i = this._rcon, a = new Uint8Array(176); a.set(e); for (var e_402 = 16, s_153 = 1; e_402 < 176; ++s_153) {
  15457. var r_116 = a[e_402 - 3], n_83 = a[e_402 - 2], o_56 = a[e_402 - 1], g_37 = a[e_402 - 4];
  15458. r_116 = t[r_116];
  15459. n_83 = t[n_83];
  15460. o_56 = t[o_56];
  15461. g_37 = t[g_37];
  15462. r_116 ^= i[s_153];
  15463. for (var t_304 = 0; t_304 < 4; ++t_304) {
  15464. a[e_402] = r_116 ^= a[e_402 - 16];
  15465. e_402++;
  15466. a[e_402] = n_83 ^= a[e_402 - 16];
  15467. e_402++;
  15468. a[e_402] = o_56 ^= a[e_402 - 16];
  15469. e_402++;
  15470. a[e_402] = g_37 ^= a[e_402 - 16];
  15471. e_402++;
  15472. }
  15473. } return a; };
  15474. return AES128Cipher;
  15475. }(AESBaseCipher));
  15476. var AES256Cipher = /** @class */ (function (_super) {
  15477. tslib_1.__extends(AES256Cipher, _super);
  15478. function AES256Cipher(e) {
  15479. var _this = _super.call(this) || this;
  15480. _this._cyclesOfRepetition = 14;
  15481. _this._keySize = 224;
  15482. _this._key = _this._expandKey(e);
  15483. return _this;
  15484. }
  15485. AES256Cipher.prototype._expandKey = function (e) { var t = this._s, i = new Uint8Array(240); i.set(e); var a, s, r, n, o = 1; for (var e_403 = 32, g_38 = 1; e_403 < 240; ++g_38) {
  15486. if (e_403 % 32 == 16) {
  15487. a = t[a];
  15488. s = t[s];
  15489. r = t[r];
  15490. n = t[n];
  15491. }
  15492. else if (e_403 % 32 == 0) {
  15493. a = i[e_403 - 3];
  15494. s = i[e_403 - 2];
  15495. r = i[e_403 - 1];
  15496. n = i[e_403 - 4];
  15497. a = t[a];
  15498. s = t[s];
  15499. r = t[r];
  15500. n = t[n];
  15501. a ^= o;
  15502. (o <<= 1) >= 256 && (o = 255 & (27 ^ o));
  15503. }
  15504. for (var t_305 = 0; t_305 < 4; ++t_305) {
  15505. i[e_403] = a ^= i[e_403 - 32];
  15506. e_403++;
  15507. i[e_403] = s ^= i[e_403 - 32];
  15508. e_403++;
  15509. i[e_403] = r ^= i[e_403 - 32];
  15510. e_403++;
  15511. i[e_403] = n ^= i[e_403 - 32];
  15512. e_403++;
  15513. }
  15514. } return i; };
  15515. return AES256Cipher;
  15516. }(AESBaseCipher));
  15517. var PDF17 = /** @class */ (function () {
  15518. function PDF17() {
  15519. }
  15520. PDF17.prototype.checkOwnerPassword = function (e, t, i, a) { var s = new Uint8Array(e.length + 56); s.set(e, 0); s.set(t, e.length); s.set(i, e.length + t.length); return isArrayEqual(Hs(s, 0, s.length), a); };
  15521. PDF17.prototype.checkUserPassword = function (e, t, i) { var a = new Uint8Array(e.length + 8); a.set(e, 0); a.set(t, e.length); return isArrayEqual(Hs(a, 0, a.length), i); };
  15522. PDF17.prototype.getOwnerKey = function (e, t, i, a) { var s = new Uint8Array(e.length + 56); s.set(e, 0); s.set(t, e.length); s.set(i, e.length + t.length); var r = Hs(s, 0, s.length); return new AES256Cipher(r).decryptBlock(a, !1, new Uint8Array(16)); };
  15523. PDF17.prototype.getUserKey = function (e, t, i) { var a = new Uint8Array(e.length + 8); a.set(e, 0); a.set(t, e.length); var s = Hs(a, 0, a.length); return new AES256Cipher(s).decryptBlock(i, !1, new Uint8Array(16)); };
  15524. return PDF17;
  15525. }());
  15526. var PDF20 = /** @class */ (function () {
  15527. function PDF20() {
  15528. }
  15529. PDF20.prototype._hash = function (e, t, i) { var a = Hs(t, 0, t.length).subarray(0, 32), s = [0], r = 0; for (; r < 64 || s.at(-1) > r - 32;) {
  15530. var t_306 = e.length + a.length + i.length, c_25 = new Uint8Array(t_306);
  15531. var h_17 = 0;
  15532. c_25.set(e, h_17);
  15533. h_17 += e.length;
  15534. c_25.set(a, h_17);
  15535. h_17 += a.length;
  15536. c_25.set(i, h_17);
  15537. var l_19 = new Uint8Array(64 * t_306);
  15538. for (var e_404 = 0, i_260 = 0; e_404 < 64; e_404++, i_260 += t_306)
  15539. l_19.set(c_25, i_260);
  15540. s = new AES128Cipher(a.subarray(0, 16)).encrypt(l_19, a.subarray(16, 32));
  15541. var C_19 = s.slice(0, 16).reduce((function (e, t) { return e + t; }), 0) % 3;
  15542. 0 === C_19 ? a = Hs(s, 0, s.length) : 1 === C_19 ? a = (n = s, o = 0, g = s.length, Ys(n, o, g, !0)) : 2 === C_19 && (a = Ys(s, 0, s.length));
  15543. r++;
  15544. } var n, o, g; return a.subarray(0, 32); };
  15545. PDF20.prototype.checkOwnerPassword = function (e, t, i, a) { var s = new Uint8Array(e.length + 56); s.set(e, 0); s.set(t, e.length); s.set(i, e.length + t.length); return isArrayEqual(this._hash(e, s, i), a); };
  15546. PDF20.prototype.checkUserPassword = function (e, t, i) { var a = new Uint8Array(e.length + 8); a.set(e, 0); a.set(t, e.length); return isArrayEqual(this._hash(e, a, []), i); };
  15547. PDF20.prototype.getOwnerKey = function (e, t, i, a) { var s = new Uint8Array(e.length + 56); s.set(e, 0); s.set(t, e.length); s.set(i, e.length + t.length); var r = this._hash(e, s, i); return new AES256Cipher(r).decryptBlock(a, !1, new Uint8Array(16)); };
  15548. PDF20.prototype.getUserKey = function (e, t, i) { var a = new Uint8Array(e.length + 8); a.set(e, 0); a.set(t, e.length); var s = this._hash(e, a, []); return new AES256Cipher(s).decryptBlock(i, !1, new Uint8Array(16)); };
  15549. return PDF20;
  15550. }());
  15551. var CipherTransform = /** @class */ (function () {
  15552. function CipherTransform(e, t) {
  15553. this.StringCipherConstructor = e;
  15554. this.StreamCipherConstructor = t;
  15555. }
  15556. CipherTransform.prototype.createStream = function (e, t) { var i = new this.StreamCipherConstructor; return new DecryptStream(e, t, (function cipherTransformDecryptStream(e, t) { return i.decryptBlock(e, t); })); };
  15557. CipherTransform.prototype.decryptString = function (e) { var t = new this.StringCipherConstructor; var i = stringToBytes(e); i = t.decryptBlock(i, !0); return bytesToString(i); };
  15558. CipherTransform.prototype.encryptString = function (e) { var t = new this.StringCipherConstructor; if (t instanceof AESBaseCipher) {
  15559. var i_261 = 16 - e.length % 16;
  15560. e += String.fromCharCode(i_261).repeat(i_261);
  15561. var a_210 = new Uint8Array(16);
  15562. if ("undefined" != typeof crypto)
  15563. crypto.getRandomValues(a_210);
  15564. else
  15565. for (var e_405 = 0; e_405 < 16; e_405++)
  15566. a_210[e_405] = Math.floor(256 * Math.random());
  15567. var s_154 = stringToBytes(e);
  15568. s_154 = t.encrypt(s_154, a_210);
  15569. var r_117 = new Uint8Array(16 + s_154.length);
  15570. r_117.set(a_210);
  15571. r_117.set(s_154, 16);
  15572. return bytesToString(r_117);
  15573. } var i = stringToBytes(e); i = t.encrypt(i); return bytesToString(i); };
  15574. return CipherTransform;
  15575. }());
  15576. var CipherTransformFactory = /** @class */ (function () {
  15577. function CipherTransformFactory(e, t, i) {
  15578. _CipherTransformFactory_instances.add(this);
  15579. var a = e.get("Filter");
  15580. if (!isName(a, "Standard"))
  15581. throw new FormatError("unknown encryption method");
  15582. this.filterName = a.name;
  15583. this.dict = e;
  15584. var s = e.get("V");
  15585. if (!Number.isInteger(s) || 1 !== s && 2 !== s && 4 !== s && 5 !== s)
  15586. throw new FormatError("unsupported encryption algorithm");
  15587. this.algorithm = s;
  15588. var r = e.get("Length");
  15589. if (!r)
  15590. if (s <= 3)
  15591. r = 40;
  15592. else {
  15593. var t_307 = e.get("CF"), i_262 = e.get("StmF");
  15594. if (t_307 instanceof Dict && i_262 instanceof Name) {
  15595. t_307.suppressEncryption = !0;
  15596. var e_406 = t_307.get(i_262.name);
  15597. r = (e_406 === null || e_406 === void 0 ? void 0 : e_406.get("Length")) || 128;
  15598. r < 40 && (r <<= 3);
  15599. }
  15600. }
  15601. if (!Number.isInteger(r) || r < 40 || r % 8 != 0)
  15602. throw new FormatError("invalid key length");
  15603. var n = stringToBytes(e.get("O")), o = stringToBytes(e.get("U")), g = n.subarray(0, 32), c = o.subarray(0, 32), h = e.get("P"), l = e.get("R"), C = (4 === s || 5 === s) && !1 !== e.get("EncryptMetadata");
  15604. this.encryptMetadata = C;
  15605. var Q = stringToBytes(t);
  15606. var E, u;
  15607. if (i) {
  15608. if (6 === l)
  15609. try {
  15610. i = utf8StringToString(i);
  15611. }
  15612. catch (_b) {
  15613. warn("CipherTransformFactory: Unable to convert UTF8 encoded password.");
  15614. }
  15615. E = stringToBytes(i);
  15616. }
  15617. if (5 !== s)
  15618. u = tslib_1.__classPrivateFieldGet(this, _CipherTransformFactory_instances, "m", _CipherTransformFactory_N).call(this, Q, E, g, c, h, l, r, C);
  15619. else {
  15620. var t_308 = n.subarray(32, 40), i_263 = n.subarray(40, 48), a_211 = o.subarray(0, 48), s_155 = o.subarray(32, 40), r_118 = o.subarray(40, 48), h_18 = stringToBytes(e.get("OE")), C_20 = stringToBytes(e.get("UE")), Q_18 = stringToBytes(e.get("Perms"));
  15621. u = tslib_1.__classPrivateFieldGet(this, _CipherTransformFactory_instances, "m", _CipherTransformFactory_R).call(this, l, E, g, t_308, i_263, a_211, c, s_155, r_118, h_18, C_20, Q_18);
  15622. }
  15623. if (!u && !i)
  15624. throw new PasswordException("No password given", it);
  15625. if (!u && i) {
  15626. var e_407 = tslib_1.__classPrivateFieldGet(this, _CipherTransformFactory_instances, "m", _CipherTransformFactory_G).call(this, E, g, l, r);
  15627. u = tslib_1.__classPrivateFieldGet(this, _CipherTransformFactory_instances, "m", _CipherTransformFactory_N).call(this, Q, e_407, g, c, h, l, r, C);
  15628. }
  15629. if (!u)
  15630. throw new PasswordException("Incorrect Password", at);
  15631. this.encryptionKey = u;
  15632. if (s >= 4) {
  15633. var t_309 = e.get("CF");
  15634. t_309 instanceof Dict && (t_309.suppressEncryption = !0);
  15635. this.cf = t_309;
  15636. this.stmf = e.get("StmF") || Name.get("Identity");
  15637. this.strf = e.get("StrF") || Name.get("Identity");
  15638. this.eff = e.get("EFF") || this.stmf;
  15639. }
  15640. }
  15641. CipherTransformFactory.prototype.createCipherTransform = function (e, t) { if (4 === this.algorithm || 5 === this.algorithm)
  15642. return new CipherTransform(tslib_1.__classPrivateFieldGet(this, _CipherTransformFactory_instances, "m", _CipherTransformFactory_M).call(this, this.cf, this.strf, e, t, this.encryptionKey), tslib_1.__classPrivateFieldGet(this, _CipherTransformFactory_instances, "m", _CipherTransformFactory_M).call(this, this.cf, this.stmf, e, t, this.encryptionKey)); var i = tslib_1.__classPrivateFieldGet(this, _CipherTransformFactory_instances, "m", _CipherTransformFactory_x).call(this, e, t, this.encryptionKey, !1), cipherConstructor = function () { return new ARCFourCipher(i); }; return new CipherTransform(cipherConstructor, cipherConstructor); };
  15643. var _CipherTransformFactory_instances, _j, _CipherTransformFactory_k, _CipherTransformFactory_R, _CipherTransformFactory_N, _CipherTransformFactory_G, _CipherTransformFactory_x, _CipherTransformFactory_M;
  15644. _j = CipherTransformFactory, _CipherTransformFactory_instances = new WeakSet(), _CipherTransformFactory_R = function _CipherTransformFactory_R(e, t, i, a, s, r, n, o, g, c, h, l) { if (t) {
  15645. var e_408 = Math.min(127, t.length);
  15646. t = t.subarray(0, e_408);
  15647. }
  15648. else
  15649. t = []; var C = 6 === e ? new PDF20 : new PDF17; return C.checkUserPassword(t, o, n) ? C.getUserKey(t, g, h) : t.length && C.checkOwnerPassword(t, a, r, i) ? C.getOwnerKey(t, s, r, c) : null; }, _CipherTransformFactory_N = function _CipherTransformFactory_N(e, t, i, a, s, r, n, o) { var g = 40 + i.length + e.length, c = new Uint8Array(g); var h, l, C = 0; if (t) {
  15650. l = Math.min(32, t.length);
  15651. for (; C < l; ++C)
  15652. c[C] = t[C];
  15653. } h = 0; for (; C < 32;)
  15654. c[C++] = tslib_1.__classPrivateFieldGet(CipherTransformFactory, _j, "f", _CipherTransformFactory_k)[h++]; for (h = 0, l = i.length; h < l; ++h)
  15655. c[C++] = i[h]; c[C++] = 255 & s; c[C++] = s >> 8 & 255; c[C++] = s >> 16 & 255; c[C++] = s >>> 24 & 255; for (h = 0, l = e.length; h < l; ++h)
  15656. c[C++] = e[h]; if (r >= 4 && !o) {
  15657. c[C++] = 255;
  15658. c[C++] = 255;
  15659. c[C++] = 255;
  15660. c[C++] = 255;
  15661. } var Q = Js(c, 0, C); var E = n >> 3; if (r >= 3)
  15662. for (h = 0; h < 50; ++h)
  15663. Q = Js(Q, 0, E); var u = Q.subarray(0, E); var d, f; if (r >= 3) {
  15664. for (C = 0; C < 32; ++C)
  15665. c[C] = tslib_1.__classPrivateFieldGet(CipherTransformFactory, _j, "f", _CipherTransformFactory_k)[C];
  15666. for (h = 0, l = e.length; h < l; ++h)
  15667. c[C++] = e[h];
  15668. d = new ARCFourCipher(u);
  15669. f = d.encryptBlock(Js(c, 0, C));
  15670. l = u.length;
  15671. var t_310 = new Uint8Array(l);
  15672. for (h = 1; h <= 19; ++h) {
  15673. for (var e_409 = 0; e_409 < l; ++e_409)
  15674. t_310[e_409] = u[e_409] ^ h;
  15675. d = new ARCFourCipher(t_310);
  15676. f = d.encryptBlock(f);
  15677. }
  15678. for (h = 0, l = f.length; h < l; ++h)
  15679. if (a[h] !== f[h])
  15680. return null;
  15681. }
  15682. else {
  15683. d = new ARCFourCipher(u);
  15684. f = d.encryptBlock(tslib_1.__classPrivateFieldGet(CipherTransformFactory, _j, "f", _CipherTransformFactory_k));
  15685. for (h = 0, l = f.length; h < l; ++h)
  15686. if (a[h] !== f[h])
  15687. return null;
  15688. } return u; }, _CipherTransformFactory_G = function _CipherTransformFactory_G(e, t, i, a) { var s = new Uint8Array(32); var r = 0; var n = Math.min(32, e.length); for (; r < n; ++r)
  15689. s[r] = e[r]; var o = 0; for (; r < 32;)
  15690. s[r++] = tslib_1.__classPrivateFieldGet(CipherTransformFactory, _j, "f", _CipherTransformFactory_k)[o++]; var g = Js(s, 0, r); var c = a >> 3; if (i >= 3)
  15691. for (o = 0; o < 50; ++o)
  15692. g = Js(g, 0, g.length); var h, l; if (i >= 3) {
  15693. l = t;
  15694. var e_410 = new Uint8Array(c);
  15695. for (o = 19; o >= 0; o--) {
  15696. for (var t_311 = 0; t_311 < c; ++t_311)
  15697. e_410[t_311] = g[t_311] ^ o;
  15698. h = new ARCFourCipher(e_410);
  15699. l = h.encryptBlock(l);
  15700. }
  15701. }
  15702. else {
  15703. h = new ARCFourCipher(g.subarray(0, c));
  15704. l = h.encryptBlock(t);
  15705. } return l; }, _CipherTransformFactory_x = function _CipherTransformFactory_x(e, t, i, a) {
  15706. if (a === void 0) { a = !1; }
  15707. var s = new Uint8Array(i.length + 9), r = i.length;
  15708. var n;
  15709. for (n = 0; n < r; ++n)
  15710. s[n] = i[n];
  15711. s[n++] = 255 & e;
  15712. s[n++] = e >> 8 & 255;
  15713. s[n++] = e >> 16 & 255;
  15714. s[n++] = 255 & t;
  15715. s[n++] = t >> 8 & 255;
  15716. if (a) {
  15717. s[n++] = 115;
  15718. s[n++] = 65;
  15719. s[n++] = 108;
  15720. s[n++] = 84;
  15721. }
  15722. return Js(s, 0, n).subarray(0, Math.min(i.length + 5, 16));
  15723. }, _CipherTransformFactory_M = function _CipherTransformFactory_M(e, t, i, a, s) { if (!(t instanceof Name))
  15724. throw new FormatError("Invalid crypt filter name."); var r = this, n = e.get(t.name), o = n === null || n === void 0 ? void 0 : n.get("CFM"); if (!o || "None" === o.name)
  15725. return function () { return new NullCipher; }; if ("V2" === o.name)
  15726. return function () { return new ARCFourCipher(tslib_1.__classPrivateFieldGet(r, _CipherTransformFactory_instances, "m", _CipherTransformFactory_x).call(r, i, a, s, !1)); }; if ("AESV2" === o.name)
  15727. return function () { return new AES128Cipher(tslib_1.__classPrivateFieldGet(r, _CipherTransformFactory_instances, "m", _CipherTransformFactory_x).call(r, i, a, s, !0)); }; if ("AESV3" === o.name)
  15728. return function () { return new AES256Cipher(s); }; throw new FormatError("Unknown crypto method"); };
  15729. _CipherTransformFactory_k = { value: new Uint8Array([40, 191, 78, 94, 78, 117, 138, 65, 100, 0, 78, 86, 255, 250, 1, 8, 46, 46, 0, 182, 208, 104, 62, 128, 47, 12, 169, 254, 100, 83, 105, 122]) };
  15730. return CipherTransformFactory;
  15731. }());
  15732. function writeObject(e, t, i, _b) {
  15733. var _k = _b.encrypt, a = _k === void 0 ? null : _k;
  15734. return tslib_1.__awaiter(this, void 0, void 0, function () { var s, _l, _m, _o; return tslib_1.__generator(this, function (_p) {
  15735. switch (_p.label) {
  15736. case 0:
  15737. s = a === null || a === void 0 ? void 0 : a.createCipherTransform(e.num, e.gen);
  15738. i.push("".concat(e.num, " ").concat(e.gen, " obj\n"));
  15739. if (!(t instanceof Dict)) return [3 /*break*/, 2];
  15740. return [4 /*yield*/, writeDict(t, i, s)];
  15741. case 1:
  15742. _l = _p.sent();
  15743. return [3 /*break*/, 8];
  15744. case 2:
  15745. if (!(t instanceof BaseStream)) return [3 /*break*/, 4];
  15746. return [4 /*yield*/, writeStream(t, i, s)];
  15747. case 3:
  15748. _m = _p.sent();
  15749. return [3 /*break*/, 7];
  15750. case 4:
  15751. _o = (Array.isArray(t) || ArrayBuffer.isView(t));
  15752. if (!_o) return [3 /*break*/, 6];
  15753. return [4 /*yield*/, writeArray(t, i, s)];
  15754. case 5:
  15755. _o = (_p.sent());
  15756. _p.label = 6;
  15757. case 6:
  15758. _m = _o;
  15759. _p.label = 7;
  15760. case 7:
  15761. _l = _m;
  15762. _p.label = 8;
  15763. case 8:
  15764. _l;
  15765. i.push("\nendobj\n");
  15766. return [2 /*return*/];
  15767. }
  15768. }); });
  15769. }
  15770. function writeDict(e, t, i) {
  15771. return tslib_1.__awaiter(this, void 0, void 0, function () { var _b, _k, a_212; return tslib_1.__generator(this, function (_l) {
  15772. switch (_l.label) {
  15773. case 0:
  15774. t.push("<<");
  15775. _b = 0, _k = e.getKeys();
  15776. _l.label = 1;
  15777. case 1:
  15778. if (!(_b < _k.length)) return [3 /*break*/, 4];
  15779. a_212 = _k[_b];
  15780. t.push(" /".concat(escapePDFName(a_212), " "));
  15781. return [4 /*yield*/, writeValue(e.getRaw(a_212), t, i)];
  15782. case 2:
  15783. _l.sent();
  15784. _l.label = 3;
  15785. case 3:
  15786. _b++;
  15787. return [3 /*break*/, 1];
  15788. case 4:
  15789. t.push(">>");
  15790. return [2 /*return*/];
  15791. }
  15792. }); });
  15793. }
  15794. function writeStream(e, t, i) {
  15795. return tslib_1.__awaiter(this, void 0, void 0, function () { var a, s, _b, r, n, o, _k, _l, e_412, t_312, i_264, g_39, c_26, e_411, g; return tslib_1.__generator(this, function (_m) {
  15796. switch (_m.label) {
  15797. case 0:
  15798. a = e.getBytes();
  15799. s = e.dict;
  15800. return [4 /*yield*/, Promise.all([s.getAsync("Filter"), s.getAsync("DecodeParms")])];
  15801. case 1:
  15802. _b = _m.sent(), r = _b[0], n = _b[1];
  15803. _k = isName;
  15804. if (!Array.isArray(r)) return [3 /*break*/, 3];
  15805. return [4 /*yield*/, s.xref.fetchIfRefAsync(r[0])];
  15806. case 2:
  15807. _l = _m.sent();
  15808. return [3 /*break*/, 4];
  15809. case 3:
  15810. _l = r;
  15811. _m.label = 4;
  15812. case 4:
  15813. o = _k.apply(void 0, [_l, "FlateDecode"]);
  15814. if (!(a.length >= 256 || o)) return [3 /*break*/, 8];
  15815. _m.label = 5;
  15816. case 5:
  15817. _m.trys.push([5, 7, , 8]);
  15818. e_412 = new CompressionStream("deflate"), t_312 = e_412.writable.getWriter();
  15819. t_312.write(a);
  15820. t_312.close();
  15821. return [4 /*yield*/, new Response(e_412.readable).arrayBuffer()];
  15822. case 6:
  15823. i_264 = _m.sent();
  15824. a = new Uint8Array(i_264);
  15825. if (r) {
  15826. if (!o) {
  15827. g_39 = Array.isArray(r) ? tslib_1.__spreadArray([Name.get("FlateDecode")], r, true) : [Name.get("FlateDecode"), r];
  15828. n && (c_26 = Array.isArray(n) ? tslib_1.__spreadArray([null], n, true) : [null, n]);
  15829. }
  15830. }
  15831. else
  15832. g_39 = Name.get("FlateDecode");
  15833. g_39 && s.set("Filter", g_39);
  15834. c_26 && s.set("DecodeParms", c_26);
  15835. return [3 /*break*/, 8];
  15836. case 7:
  15837. e_411 = _m.sent();
  15838. info("writeStream - cannot compress data: \"".concat(e_411, "\"."));
  15839. return [3 /*break*/, 8];
  15840. case 8:
  15841. g = bytesToString(a);
  15842. i && (g = i.encryptString(g));
  15843. s.set("Length", g.length);
  15844. return [4 /*yield*/, writeDict(s, t, i)];
  15845. case 9:
  15846. _m.sent();
  15847. t.push(" stream\n", g, "\nendstream");
  15848. return [2 /*return*/];
  15849. }
  15850. }); });
  15851. }
  15852. function writeArray(e, t, i) {
  15853. return tslib_1.__awaiter(this, void 0, void 0, function () { var a, _b, e_413, s_156; return tslib_1.__generator(this, function (_k) {
  15854. switch (_k.label) {
  15855. case 0:
  15856. t.push("[");
  15857. a = !0;
  15858. _b = 0, e_413 = e;
  15859. _k.label = 1;
  15860. case 1:
  15861. if (!(_b < e_413.length)) return [3 /*break*/, 4];
  15862. s_156 = e_413[_b];
  15863. a ? a = !1 : t.push(" ");
  15864. return [4 /*yield*/, writeValue(s_156, t, i)];
  15865. case 2:
  15866. _k.sent();
  15867. _k.label = 3;
  15868. case 3:
  15869. _b++;
  15870. return [3 /*break*/, 1];
  15871. case 4:
  15872. t.push("]");
  15873. return [2 /*return*/];
  15874. }
  15875. }); });
  15876. }
  15877. function writeValue(e, t, i) {
  15878. return tslib_1.__awaiter(this, void 0, void 0, function () { var _b, _k, _l, _m; return tslib_1.__generator(this, function (_o) {
  15879. switch (_o.label) {
  15880. case 0:
  15881. if (!(e instanceof Name)) return [3 /*break*/, 1];
  15882. t.push("/".concat(escapePDFName(e.name)));
  15883. return [3 /*break*/, 16];
  15884. case 1:
  15885. if (!(e instanceof Ref)) return [3 /*break*/, 2];
  15886. t.push("".concat(e.num, " ").concat(e.gen, " R"));
  15887. return [3 /*break*/, 16];
  15888. case 2:
  15889. if (!(Array.isArray(e) || ArrayBuffer.isView(e))) return [3 /*break*/, 4];
  15890. return [4 /*yield*/, writeArray(e, t, i)];
  15891. case 3:
  15892. _o.sent();
  15893. return [3 /*break*/, 16];
  15894. case 4:
  15895. if (!("string" == typeof e)) return [3 /*break*/, 5];
  15896. i && (e = i.encryptString(e));
  15897. t.push("(".concat(escapeString(e), ")"));
  15898. return [3 /*break*/, 16];
  15899. case 5:
  15900. if (!("number" == typeof e)) return [3 /*break*/, 6];
  15901. _b = t.push(numberToString(e));
  15902. return [3 /*break*/, 15];
  15903. case 6:
  15904. if (!("boolean" == typeof e)) return [3 /*break*/, 7];
  15905. _k = t.push(e.toString());
  15906. return [3 /*break*/, 14];
  15907. case 7:
  15908. if (!(e instanceof Dict)) return [3 /*break*/, 9];
  15909. return [4 /*yield*/, writeDict(e, t, i)];
  15910. case 8:
  15911. _l = _o.sent();
  15912. return [3 /*break*/, 13];
  15913. case 9:
  15914. if (!(e instanceof BaseStream)) return [3 /*break*/, 11];
  15915. return [4 /*yield*/, writeStream(e, t, i)];
  15916. case 10:
  15917. _m = _o.sent();
  15918. return [3 /*break*/, 12];
  15919. case 11:
  15920. _m = null === e ? t.push("null") : warn("Unhandled value in writer: ".concat(typeof e, ", please file a bug."));
  15921. _o.label = 12;
  15922. case 12:
  15923. _l = _m;
  15924. _o.label = 13;
  15925. case 13:
  15926. _k = _l;
  15927. _o.label = 14;
  15928. case 14:
  15929. _b = _k;
  15930. _o.label = 15;
  15931. case 15:
  15932. _b;
  15933. _o.label = 16;
  15934. case 16: return [2 /*return*/];
  15935. }
  15936. }); });
  15937. }
  15938. function writeInt(e, t, i, a) { for (var s_157 = t + i - 1; s_157 > i - 1; s_157--) {
  15939. a[s_157] = 255 & e;
  15940. e >>= 8;
  15941. } return i + t; }
  15942. function writeString(e, t, i) { for (var a_213 = 0, s_158 = e.length; a_213 < s_158; a_213++)
  15943. i[t + a_213] = 255 & e.charCodeAt(a_213); }
  15944. function updateXFA(_b) {
  15945. var e = _b.xfaData, t = _b.xfaDatasetsRef, i = _b.newRefs, a = _b.xref;
  15946. if (null === e) {
  15947. e = function writeXFADataForAcroform(e, t) { var i = new SimpleXMLParser({ hasAttributes: !0 }).parseFromString(e); for (var _b = 0, t_313 = t; _b < t_313.length; _b++) {
  15948. var e_414 = t_313[_b].xfa;
  15949. if (!e_414)
  15950. continue;
  15951. var t_314 = e_414.path, a_214 = e_414.value;
  15952. if (!t_314)
  15953. continue;
  15954. var s_159 = parseXFAPath(t_314);
  15955. var r_119 = i.documentElement.searchNode(s_159, 0);
  15956. !r_119 && s_159.length > 1 && (r_119 = i.documentElement.searchNode([s_159.at(-1)], 0));
  15957. r_119 ? r_119.childNodes = Array.isArray(a_214) ? a_214.map((function (e) { return new SimpleDOMNode("value", e); })) : [new SimpleDOMNode("#text", a_214)] : warn("Node not found for path: ".concat(t_314));
  15958. } var a = []; i.documentElement.dump(a); return a.join(""); }(a.fetchIfRef(t).getString(), i);
  15959. }
  15960. var s = a.encrypt;
  15961. if (s) {
  15962. e = s.createCipherTransform(t.num, t.gen).encryptString(e);
  15963. }
  15964. var r = "".concat(t.num, " ").concat(t.gen, " obj\n<< /Type /EmbeddedFile /Length ").concat(e.length, ">>\nstream\n") + e + "\nendstream\nendobj\n";
  15965. i.push({ ref: t, data: r });
  15966. }
  15967. function getIndexes(e) { var t = []; for (var _b = 0, e_415 = e; _b < e_415.length; _b++) {
  15968. var i_265 = e_415[_b].ref;
  15969. i_265.num === t.at(-2) + t.at(-1) ? t[t.length - 1] += 1 : t.push(i_265.num, 1);
  15970. } return t; }
  15971. function computeIDs(e, t, i) { if (Array.isArray(t.fileIds) && t.fileIds.length > 0) {
  15972. var a_215 = function computeMD5(e, t) { var i = Math.floor(Date.now() / 1e3), a = t.filename || "", s = [i.toString(), a, e.toString()]; var r = s.reduce((function (e, t) { return e + t.length; }), 0); for (var _b = 0, _k = Object.values(t.info); _b < _k.length; _b++) {
  15973. var e_416 = _k[_b];
  15974. s.push(e_416);
  15975. r += e_416.length;
  15976. } var n = new Uint8Array(r); var o = 0; for (var _l = 0, s_160 = s; _l < s_160.length; _l++) {
  15977. var e_417 = s_160[_l];
  15978. writeString(e_417, o, n);
  15979. o += e_417.length;
  15980. } return bytesToString(Js(n)); }(e, t);
  15981. i.set("ID", [t.fileIds[0], a_215]);
  15982. } }
  15983. function incrementalUpdate(_b) {
  15984. var e = _b.originalData, t = _b.xrefInfo, i = _b.newRefs, _k = _b.xref, a = _k === void 0 ? null : _k, _l = _b.hasXfa, s = _l === void 0 ? !1 : _l, _m = _b.xfaDatasetsRef, r = _m === void 0 ? null : _m, _o = _b.hasXfaDatasetsEntry, n = _o === void 0 ? !1 : _o, o = _b.needAppearances, _p = _b.acroFormRef, g = _p === void 0 ? null : _p, _q = _b.acroForm, c = _q === void 0 ? null : _q, _u = _b.xfaData, h = _u === void 0 ? null : _u, _v = _b.useXrefStream, l = _v === void 0 ? !1 : _v;
  15985. return tslib_1.__awaiter(this, void 0, void 0, function () { var C, Q, E, u, _w, i_266, e_418, d, f, p, _x, C_21, e_419; return tslib_1.__generator(this, function (_y) {
  15986. switch (_y.label) {
  15987. case 0: return [4 /*yield*/, function updateAcroform(_b) {
  15988. var e = _b.xref, t = _b.acroForm, i = _b.acroFormRef, a = _b.hasXfa, s = _b.hasXfaDatasetsEntry, r = _b.xfaDatasetsRef, n = _b.needAppearances, o = _b.newRefs;
  15989. return tslib_1.__awaiter(this, void 0, void 0, function () { var g, e_420, c; return tslib_1.__generator(this, function (_k) {
  15990. switch (_k.label) {
  15991. case 0:
  15992. !a || s || r || warn("XFA - Cannot save it");
  15993. if (!n && (!a || !r || s))
  15994. return [2 /*return*/];
  15995. g = t.clone();
  15996. if (a && !s) {
  15997. e_420 = t.get("XFA").slice();
  15998. e_420.splice(2, 0, "datasets");
  15999. e_420.splice(3, 0, r);
  16000. g.set("XFA", e_420);
  16001. }
  16002. n && g.set("NeedAppearances", !0);
  16003. c = [];
  16004. return [4 /*yield*/, writeObject(i, g, c, e)];
  16005. case 1:
  16006. _k.sent();
  16007. o.push({ ref: i, data: c.join("") });
  16008. return [2 /*return*/];
  16009. }
  16010. }); });
  16011. }({ xref: a, acroForm: c, acroFormRef: g, hasXfa: s, hasXfaDatasetsEntry: n, xfaDatasetsRef: r, needAppearances: o, newRefs: i })];
  16012. case 1:
  16013. _y.sent();
  16014. s && updateXFA({ xfaData: h, xfaDatasetsRef: r, newRefs: i, xref: a });
  16015. C = [];
  16016. Q = e.length;
  16017. E = e.at(-1);
  16018. if (10 !== E && 13 !== E) {
  16019. C.push("\n");
  16020. Q += 1;
  16021. }
  16022. u = function getTrailerDict(e, t, i) { var a = new Dict(null); a.set("Prev", e.startXRef); var s = e.newRef; if (i) {
  16023. t.push({ ref: s, data: "" });
  16024. a.set("Size", s.num + 1);
  16025. a.set("Type", Name.get("XRef"));
  16026. }
  16027. else
  16028. a.set("Size", s.num); null !== e.rootRef && a.set("Root", e.rootRef); null !== e.infoRef && a.set("Info", e.infoRef); null !== e.encryptRef && a.set("Encrypt", e.encryptRef); return a; }(t, i, l);
  16029. i = i.sort((function (e, t) { return e.ref.num - t.ref.num; }));
  16030. for (_w = 0, i_266 = i; _w < i_266.length; _w++) {
  16031. e_418 = i_266[_w].data;
  16032. null !== e_418 && C.push(e_418);
  16033. }
  16034. return [4 /*yield*/, (l ? function getXRefStreamTable(e, t, i, a, s) {
  16035. return tslib_1.__awaiter(this, void 0, void 0, function () { var r, n, o, _b, i_267, _k, e_421, a_216, i_268, g, c, h, l, C, _l, r_120, _m, e_422, t_315, i_269; return tslib_1.__generator(this, function (_o) {
  16036. switch (_o.label) {
  16037. case 0:
  16038. r = [];
  16039. n = 0, o = 0;
  16040. for (_b = 0, i_267 = i; _b < i_267.length; _b++) {
  16041. _k = i_267[_b], e_421 = _k.ref, a_216 = _k.data;
  16042. i_268 = void 0;
  16043. n = Math.max(n, t);
  16044. if (null !== a_216) {
  16045. i_268 = Math.min(e_421.gen, 65535);
  16046. r.push([1, t, i_268]);
  16047. t += a_216.length;
  16048. }
  16049. else {
  16050. i_268 = Math.min(e_421.gen + 1, 65535);
  16051. r.push([0, 0, i_268]);
  16052. }
  16053. o = Math.max(o, i_268);
  16054. }
  16055. a.set("Index", getIndexes(i));
  16056. g = [1, getSizeInBytes(n), getSizeInBytes(o)];
  16057. a.set("W", g);
  16058. computeIDs(t, e, a);
  16059. c = g.reduce((function (e, t) { return e + t; }), 0), h = new Uint8Array(c * r.length), l = new Stream(h);
  16060. l.dict = a;
  16061. C = 0;
  16062. for (_l = 0, r_120 = r; _l < r_120.length; _l++) {
  16063. _m = r_120[_l], e_422 = _m[0], t_315 = _m[1], i_269 = _m[2];
  16064. C = writeInt(e_422, g[0], C, h);
  16065. C = writeInt(t_315, g[1], C, h);
  16066. C = writeInt(i_269, g[2], C, h);
  16067. }
  16068. return [4 /*yield*/, writeObject(e.newRef, l, s, {})];
  16069. case 1:
  16070. _o.sent();
  16071. s.push("startxref\n", t.toString(), "\n%%EOF\n");
  16072. return [2 /*return*/];
  16073. }
  16074. }); });
  16075. }(t, Q, i, u, C) : function getXRefTable(e, t, i, a, s) {
  16076. return tslib_1.__awaiter(this, void 0, void 0, function () { var r, n, _b, i_270, _k, e_423, a_217; return tslib_1.__generator(this, function (_l) {
  16077. switch (_l.label) {
  16078. case 0:
  16079. s.push("xref\n");
  16080. r = getIndexes(i);
  16081. n = 0;
  16082. for (_b = 0, i_270 = i; _b < i_270.length; _b++) {
  16083. _k = i_270[_b], e_423 = _k.ref, a_217 = _k.data;
  16084. if (e_423.num === r[n]) {
  16085. s.push("".concat(r[n], " ").concat(r[n + 1], "\n"));
  16086. n += 2;
  16087. }
  16088. if (null !== a_217) {
  16089. s.push("".concat(t.toString().padStart(10, "0"), " ").concat(Math.min(e_423.gen, 65535).toString().padStart(5, "0"), " n\r\n"));
  16090. t += a_217.length;
  16091. }
  16092. else
  16093. s.push("0000000000 ".concat(Math.min(e_423.gen + 1, 65535).toString().padStart(5, "0"), " f\r\n"));
  16094. }
  16095. computeIDs(t, e, a);
  16096. s.push("trailer\n");
  16097. return [4 /*yield*/, writeDict(a, s)];
  16098. case 1:
  16099. _l.sent();
  16100. s.push("\nstartxref\n", t.toString(), "\n%%EOF\n");
  16101. return [2 /*return*/];
  16102. }
  16103. }); });
  16104. }(t, Q, i, u, C))];
  16105. case 2:
  16106. _y.sent();
  16107. d = C.reduce((function (e, t) { return e + t.length; }), e.length), f = new Uint8Array(d);
  16108. f.set(e);
  16109. p = e.length;
  16110. for (_x = 0, C_21 = C; _x < C_21.length; _x++) {
  16111. e_419 = C_21[_x];
  16112. writeString(e_419, p, f);
  16113. p += e_419.length;
  16114. }
  16115. return [2 /*return*/, f];
  16116. }
  16117. }); });
  16118. }
  16119. var vs = 1, Ks = 2, Ts = 3, qs = 4, Os = 5;
  16120. var StructTreeRoot = /** @class */ (function () {
  16121. function StructTreeRoot(e, t) {
  16122. _StructTreeRoot_instances.add(this);
  16123. this.dict = e;
  16124. this.ref = t instanceof Ref ? t : null;
  16125. this.roleMap = new Map;
  16126. this.structParentIds = null;
  16127. }
  16128. StructTreeRoot.prototype.init = function () { this.readRoleMap(); };
  16129. StructTreeRoot.prototype.addAnnotationIdToPage = function (e, t) { tslib_1.__classPrivateFieldGet(this, _StructTreeRoot_instances, "m", _StructTreeRoot_U).call(this, e, t, qs); };
  16130. StructTreeRoot.prototype.readRoleMap = function () {
  16131. var _this = this;
  16132. var e = this.dict.get("RoleMap");
  16133. e instanceof Dict && e.forEach((function (e, t) { t instanceof Name && _this.roleMap.set(e, t.name); }));
  16134. };
  16135. StructTreeRoot.canCreateStructureTree = function (_b) {
  16136. var _k;
  16137. var e = _b.catalogRef, t = _b.pdfManager, i = _b.newAnnotationsByPage;
  16138. return tslib_1.__awaiter(this, void 0, void 0, function () { var a, s, _l, i_271, _m, e_425, r_122, i_272, _o, r_121, e_426, _p, _q, e_427, _u, e_424, t_316; return tslib_1.__generator(this, function (_v) {
  16139. switch (_v.label) {
  16140. case 0:
  16141. if (!(e instanceof Ref)) {
  16142. warn("Cannot save the struct tree: no catalog reference.");
  16143. return [2 /*return*/, !1];
  16144. }
  16145. a = 0, s = !0;
  16146. _l = 0, i_271 = i;
  16147. _v.label = 1;
  16148. case 1:
  16149. if (!(_l < i_271.length)) return [3 /*break*/, 4];
  16150. _m = i_271[_l], e_425 = _m[0], r_122 = _m[1];
  16151. return [4 /*yield*/, t.getPage(e_425)];
  16152. case 2:
  16153. i_272 = (_v.sent()).ref;
  16154. if (!(i_272 instanceof Ref)) {
  16155. warn("Cannot save the struct tree: page ".concat(e_425, " has no ref."));
  16156. s = !0;
  16157. return [3 /*break*/, 4];
  16158. }
  16159. for (_o = 0, r_121 = r_122; _o < r_121.length; _o++) {
  16160. e_426 = r_121[_o];
  16161. if ((_k = e_426.accessibilityData) === null || _k === void 0 ? void 0 : _k.type) {
  16162. e_426.parentTreeId = a++;
  16163. s = !1;
  16164. }
  16165. }
  16166. _v.label = 3;
  16167. case 3:
  16168. _l++;
  16169. return [3 /*break*/, 1];
  16170. case 4:
  16171. if (s) {
  16172. for (_p = 0, _q = i.values(); _p < _q.length; _p++) {
  16173. e_427 = _q[_p];
  16174. for (_u = 0, e_424 = e_427; _u < e_424.length; _u++) {
  16175. t_316 = e_424[_u];
  16176. delete t_316.parentTreeId;
  16177. }
  16178. }
  16179. return [2 /*return*/, !1];
  16180. }
  16181. return [2 /*return*/, !0];
  16182. }
  16183. }); });
  16184. };
  16185. StructTreeRoot.createStructureTree = function (_b) {
  16186. var e = _b.newAnnotationsByPage, t = _b.xref, i = _b.catalogRef, a = _b.pdfManager, s = _b.newRefs;
  16187. return tslib_1.__awaiter(this, void 0, void 0, function () { var r, n, o, g, c, h, l, C, Q, E, _k, _l, _m, e_428, i_273; return tslib_1.__generator(this, function (_o) {
  16188. switch (_o.label) {
  16189. case 0:
  16190. r = a.catalog.cloneDict(), n = new RefSetCache;
  16191. n.put(i, r);
  16192. o = t.getNewTemporaryRef();
  16193. r.set("StructTreeRoot", o);
  16194. g = new Dict(t);
  16195. g.set("Type", Name.get("StructTreeRoot"));
  16196. c = t.getNewTemporaryRef();
  16197. g.set("ParentTree", c);
  16198. h = [];
  16199. g.set("K", h);
  16200. n.put(o, g);
  16201. l = new Dict(t), C = [];
  16202. l.set("Nums", C);
  16203. return [4 /*yield*/, tslib_1.__classPrivateFieldGet(this, _d, "m", _StructTreeRoot_L).call(this, { newAnnotationsByPage: e, structTreeRootRef: o, kids: h, nums: C, xref: t, pdfManager: a, cache: n })];
  16204. case 1:
  16205. Q = _o.sent();
  16206. g.set("ParentTreeNextKey", Q);
  16207. n.put(c, l);
  16208. E = [];
  16209. _k = 0, _l = n.items();
  16210. _o.label = 2;
  16211. case 2:
  16212. if (!(_k < _l.length)) return [3 /*break*/, 5];
  16213. _m = _l[_k], e_428 = _m[0], i_273 = _m[1];
  16214. E.length = 0;
  16215. return [4 /*yield*/, writeObject(e_428, i_273, E, t)];
  16216. case 3:
  16217. _o.sent();
  16218. s.push({ ref: e_428, data: E.join("") });
  16219. _o.label = 4;
  16220. case 4:
  16221. _k++;
  16222. return [3 /*break*/, 2];
  16223. case 5: return [2 /*return*/];
  16224. }
  16225. }); });
  16226. };
  16227. StructTreeRoot.prototype.canUpdateStructTree = function (_b) {
  16228. var _k;
  16229. var e = _b.pdfManager, t = _b.xref, i = _b.newAnnotationsByPage;
  16230. return tslib_1.__awaiter(this, void 0, void 0, function () { var a, s, r, n, _l, _m, t_317, i_275, a_218, o, _o, i_274, _p, t_318, s_162, i_276, _q, s_161, e_430, _u, _v, e_431, _w, e_429, t_319; return tslib_1.__generator(this, function (_x) {
  16231. switch (_x.label) {
  16232. case 0:
  16233. if (!this.ref) {
  16234. warn("Cannot update the struct tree: no root reference.");
  16235. return [2 /*return*/, !1];
  16236. }
  16237. a = this.dict.get("ParentTreeNextKey");
  16238. if (!Number.isInteger(a) || a < 0) {
  16239. warn("Cannot update the struct tree: invalid next key.");
  16240. return [2 /*return*/, !1];
  16241. }
  16242. s = this.dict.get("ParentTree");
  16243. if (!(s instanceof Dict)) {
  16244. warn("Cannot update the struct tree: ParentTree isn't a dict.");
  16245. return [2 /*return*/, !1];
  16246. }
  16247. r = s.get("Nums");
  16248. if (!Array.isArray(r)) {
  16249. warn("Cannot update the struct tree: nums isn't an array.");
  16250. return [2 /*return*/, !1];
  16251. }
  16252. n = new NumberTree(s, t);
  16253. _l = 0, _m = i.keys();
  16254. _x.label = 1;
  16255. case 1:
  16256. if (!(_l < _m.length)) return [3 /*break*/, 4];
  16257. t_317 = _m[_l];
  16258. return [4 /*yield*/, e.getPage(t_317)];
  16259. case 2:
  16260. i_275 = (_x.sent()).pageDict;
  16261. if (!i_275.has("StructParents"))
  16262. return [3 /*break*/, 3];
  16263. a_218 = i_275.get("StructParents");
  16264. if (!Number.isInteger(a_218) || !Array.isArray(n.get(a_218))) {
  16265. warn("Cannot save the struct tree: page ".concat(t_317, " has a wrong id."));
  16266. return [2 /*return*/, !1];
  16267. }
  16268. _x.label = 3;
  16269. case 3:
  16270. _l++;
  16271. return [3 /*break*/, 1];
  16272. case 4:
  16273. o = !0;
  16274. _o = 0, i_274 = i;
  16275. _x.label = 5;
  16276. case 5:
  16277. if (!(_o < i_274.length)) return [3 /*break*/, 8];
  16278. _p = i_274[_o], t_318 = _p[0], s_162 = _p[1];
  16279. return [4 /*yield*/, e.getPage(t_318)];
  16280. case 6:
  16281. i_276 = (_x.sent()).pageDict;
  16282. tslib_1.__classPrivateFieldGet(StructTreeRoot, _d, "m", _StructTreeRoot_J).call(StructTreeRoot, { elements: s_162, xref: this.dict.xref, pageDict: i_276, numberTree: n });
  16283. for (_q = 0, s_161 = s_162; _q < s_161.length; _q++) {
  16284. e_430 = s_161[_q];
  16285. if ((_k = e_430.accessibilityData) === null || _k === void 0 ? void 0 : _k.type) {
  16286. e_430.parentTreeId = a++;
  16287. o = !1;
  16288. }
  16289. }
  16290. _x.label = 7;
  16291. case 7:
  16292. _o++;
  16293. return [3 /*break*/, 5];
  16294. case 8:
  16295. if (o) {
  16296. for (_u = 0, _v = i.values(); _u < _v.length; _u++) {
  16297. e_431 = _v[_u];
  16298. for (_w = 0, e_429 = e_431; _w < e_429.length; _w++) {
  16299. t_319 = e_429[_w];
  16300. delete t_319.parentTreeId;
  16301. delete t_319.structTreeParent;
  16302. }
  16303. }
  16304. return [2 /*return*/, !1];
  16305. }
  16306. return [2 /*return*/, !0];
  16307. }
  16308. }); });
  16309. };
  16310. StructTreeRoot.prototype.updateStructureTree = function (_b) {
  16311. var e = _b.newAnnotationsByPage, t = _b.pdfManager, i = _b.newRefs;
  16312. return tslib_1.__awaiter(this, void 0, void 0, function () { var a, s, r, n, o, g, c, h, l, C, _k, _l, _m, e_432, t_320; return tslib_1.__generator(this, function (_o) {
  16313. switch (_o.label) {
  16314. case 0:
  16315. a = this.dict.xref, s = this.dict.clone(), r = this.ref, n = new RefSetCache;
  16316. n.put(r, s);
  16317. g = s.getRaw("ParentTree");
  16318. if (g instanceof Ref)
  16319. o = a.fetch(g);
  16320. else {
  16321. o = g;
  16322. g = a.getNewTemporaryRef();
  16323. s.set("ParentTree", g);
  16324. }
  16325. o = o.clone();
  16326. n.put(g, o);
  16327. c = o.getRaw("Nums"), h = null;
  16328. if (c instanceof Ref) {
  16329. h = c;
  16330. c = a.fetch(h);
  16331. }
  16332. c = c.slice();
  16333. h || o.set("Nums", c);
  16334. return [4 /*yield*/, tslib_1.__classPrivateFieldGet(StructTreeRoot, _d, "m", _StructTreeRoot_L).call(StructTreeRoot, { newAnnotationsByPage: e, structTreeRootRef: r, kids: null, nums: c, xref: a, pdfManager: t, cache: n })];
  16335. case 1:
  16336. l = _o.sent();
  16337. s.set("ParentTreeNextKey", l);
  16338. h && n.put(h, c);
  16339. C = [];
  16340. _k = 0, _l = n.items();
  16341. _o.label = 2;
  16342. case 2:
  16343. if (!(_k < _l.length)) return [3 /*break*/, 5];
  16344. _m = _l[_k], e_432 = _m[0], t_320 = _m[1];
  16345. C.length = 0;
  16346. return [4 /*yield*/, writeObject(e_432, t_320, C, a)];
  16347. case 3:
  16348. _o.sent();
  16349. i.push({ ref: e_432, data: C.join("") });
  16350. _o.label = 4;
  16351. case 4:
  16352. _k++;
  16353. return [3 /*break*/, 2];
  16354. case 5: return [2 /*return*/];
  16355. }
  16356. }); });
  16357. };
  16358. return StructTreeRoot;
  16359. }());
  16360. _d = StructTreeRoot, _StructTreeRoot_instances = new WeakSet(), _StructTreeRoot_U = function _StructTreeRoot_U(e, t, i) { if (!(e instanceof Ref) || t < 0)
  16361. return; this.structParentIds || (this.structParentIds = new RefSetCache); var a = this.structParentIds.get(e); if (!a) {
  16362. a = [];
  16363. this.structParentIds.put(e, a);
  16364. } a.push([t, i]); }, _StructTreeRoot_L = function _StructTreeRoot_L(_b) {
  16365. var e = _b.newAnnotationsByPage, t = _b.structTreeRootRef, i = _b.kids, a = _b.nums, s = _b.xref, r = _b.pdfManager, n = _b.cache;
  16366. return tslib_1.__awaiter(this, void 0, void 0, function () { var o, g, _k, e_433, _l, c_27, h_20, e_434, l_20, _m, h_19, _o, r_123, c_28, C_22, Q_19, h_21, E_11, u_10, d_6, f_8, p_5, m_7, y_4, w_3; return tslib_1.__generator(this, function (_p) {
  16367. switch (_p.label) {
  16368. case 0:
  16369. o = Name.get("OBJR");
  16370. g = -1 / 0;
  16371. _k = 0, e_433 = e;
  16372. _p.label = 1;
  16373. case 1:
  16374. if (!(_k < e_433.length)) return [3 /*break*/, 7];
  16375. _l = e_433[_k], c_27 = _l[0], h_20 = _l[1];
  16376. return [4 /*yield*/, r.getPage(c_27)];
  16377. case 2:
  16378. e_434 = (_p.sent()).ref, l_20 = e_434 instanceof Ref;
  16379. _m = 0, h_19 = h_20;
  16380. _p.label = 3;
  16381. case 3:
  16382. if (!(_m < h_19.length)) return [3 /*break*/, 6];
  16383. _o = h_19[_m], r_123 = _o.accessibilityData, c_28 = _o.ref, C_22 = _o.parentTreeId, Q_19 = _o.structTreeParent;
  16384. if (!(r_123 === null || r_123 === void 0 ? void 0 : r_123.type))
  16385. return [3 /*break*/, 5];
  16386. h_21 = r_123.type, E_11 = r_123.title, u_10 = r_123.lang, d_6 = r_123.alt, f_8 = r_123.expanded, p_5 = r_123.actualText;
  16387. g = Math.max(g, C_22);
  16388. m_7 = s.getNewTemporaryRef(), y_4 = new Dict(s);
  16389. y_4.set("S", Name.get(h_21));
  16390. E_11 && y_4.set("T", E_11);
  16391. u_10 && y_4.set("Lang", u_10);
  16392. d_6 && y_4.set("Alt", d_6);
  16393. f_8 && y_4.set("E", f_8);
  16394. p_5 && y_4.set("ActualText", p_5);
  16395. return [4 /*yield*/, tslib_1.__classPrivateFieldGet(this, _d, "m", _StructTreeRoot_H).call(this, { structTreeParent: Q_19, tagDict: y_4, newTagRef: m_7, structTreeRootRef: t, fallbackKids: i, xref: s, cache: n })];
  16396. case 4:
  16397. _p.sent();
  16398. w_3 = new Dict(s);
  16399. y_4.set("K", w_3);
  16400. w_3.set("Type", o);
  16401. l_20 && w_3.set("Pg", e_434);
  16402. w_3.set("Obj", c_28);
  16403. n.put(m_7, y_4);
  16404. a.push(C_22, m_7);
  16405. _p.label = 5;
  16406. case 5:
  16407. _m++;
  16408. return [3 /*break*/, 3];
  16409. case 6:
  16410. _k++;
  16411. return [3 /*break*/, 1];
  16412. case 7: return [2 /*return*/, g + 1];
  16413. }
  16414. }); });
  16415. }, _StructTreeRoot_J = function _StructTreeRoot_J(_b) {
  16416. var e = _b.elements, t = _b.xref, i = _b.pageDict, a = _b.numberTree;
  16417. var s = new Map;
  16418. for (var _k = 0, e_435 = e; _k < e_435.length; _k++) {
  16419. var t_321 = e_435[_k];
  16420. if (t_321.structTreeParentId) {
  16421. var e_436 = parseInt(t_321.structTreeParentId.split("_mc")[1], 10);
  16422. var i_277 = s.get(e_436);
  16423. if (!i_277) {
  16424. i_277 = [];
  16425. s.set(e_436, i_277);
  16426. }
  16427. i_277.push(t_321);
  16428. }
  16429. }
  16430. var r = i.get("StructParents");
  16431. if (!Number.isInteger(r))
  16432. return;
  16433. var n = a.get(r), updateElement = function (e, i, a) { var r = s.get(e); if (r) {
  16434. var e_437 = i.getRaw("P"), s_163 = t.fetchIfRef(e_437);
  16435. if (e_437 instanceof Ref && s_163 instanceof Dict) {
  16436. var e_438 = { ref: a, dict: i };
  16437. for (var _b = 0, r_124 = r; _b < r_124.length; _b++) {
  16438. var t_322 = r_124[_b];
  16439. t_322.structTreeParent = e_438;
  16440. }
  16441. }
  16442. return !0;
  16443. } return !1; };
  16444. for (var _l = 0, n_84 = n; _l < n_84.length; _l++) {
  16445. var e_439 = n_84[_l];
  16446. if (!(e_439 instanceof Ref))
  16447. continue;
  16448. var i_278 = t.fetch(e_439), a_220 = i_278.get("K");
  16449. if (Number.isInteger(a_220))
  16450. updateElement(a_220, i_278, e_439);
  16451. else if (Array.isArray(a_220))
  16452. for (var _m = 0, a_219 = a_220; _m < a_219.length; _m++) {
  16453. var s_164 = a_219[_m];
  16454. s_164 = t.fetchIfRef(s_164);
  16455. if (Number.isInteger(s_164) && updateElement(s_164, i_278, e_439))
  16456. break;
  16457. if (!(s_164 instanceof Dict))
  16458. continue;
  16459. if (!isName(s_164.get("Type"), "MCR"))
  16460. break;
  16461. var a_221 = s_164.get("MCID");
  16462. if (Number.isInteger(a_221) && updateElement(a_221, i_278, e_439))
  16463. break;
  16464. }
  16465. }
  16466. }, _StructTreeRoot_H = function _StructTreeRoot_H(_b) {
  16467. var e = _b.structTreeParent, t = _b.tagDict, i = _b.newTagRef, a = _b.structTreeRootRef, s = _b.fallbackKids, r = _b.xref, n = _b.cache;
  16468. return tslib_1.__awaiter(this, void 0, void 0, function () { var o, g, c, h, l, C, e_440, Q; return tslib_1.__generator(this, function (_k) {
  16469. g = null;
  16470. if (e) {
  16471. (g = e.ref);
  16472. o = e.dict.getRaw("P") || a;
  16473. }
  16474. else
  16475. o = a;
  16476. t.set("P", o);
  16477. c = r.fetchIfRef(o);
  16478. if (!c) {
  16479. s.push(i);
  16480. return [2 /*return*/];
  16481. }
  16482. h = n.get(o);
  16483. if (!h) {
  16484. h = c.clone();
  16485. n.put(o, h);
  16486. }
  16487. l = h.getRaw("K");
  16488. C = l instanceof Ref ? n.get(l) : null;
  16489. if (!C) {
  16490. C = r.fetchIfRef(l);
  16491. C = Array.isArray(C) ? C.slice() : [l];
  16492. e_440 = r.getNewTemporaryRef();
  16493. h.set("K", e_440);
  16494. n.put(e_440, C);
  16495. }
  16496. Q = C.indexOf(g);
  16497. C.splice(Q >= 0 ? Q + 1 : C.length, 0, i);
  16498. return [2 /*return*/];
  16499. }); });
  16500. };
  16501. var StructElementNode = /** @class */ (function () {
  16502. function StructElementNode(e, t) {
  16503. this.tree = e;
  16504. this.dict = t;
  16505. this.kids = [];
  16506. this.parseKids();
  16507. }
  16508. Object.defineProperty(StructElementNode.prototype, "role", {
  16509. get: function () { var e = this.dict.get("S"), t = e instanceof Name ? e.name : "", i = this.tree.root; return i.roleMap.has(t) ? i.roleMap.get(t) : t; },
  16510. enumerable: false,
  16511. configurable: true
  16512. });
  16513. StructElementNode.prototype.parseKids = function () { var e = null; var t = this.dict.getRaw("Pg"); t instanceof Ref && (e = t.toString()); var i = this.dict.get("K"); if (Array.isArray(i))
  16514. for (var _b = 0, i_279 = i; _b < i_279.length; _b++) {
  16515. var t_323 = i_279[_b];
  16516. var i_280 = this.parseKid(e, t_323);
  16517. i_280 && this.kids.push(i_280);
  16518. }
  16519. else {
  16520. var t_324 = this.parseKid(e, i);
  16521. t_324 && this.kids.push(t_324);
  16522. } };
  16523. StructElementNode.prototype.parseKid = function (e, t) { if (Number.isInteger(t))
  16524. return this.tree.pageDict.objId !== e ? null : new StructElement({ type: vs, mcid: t, pageObjId: e }); var i = null; t instanceof Ref ? i = this.dict.xref.fetch(t) : t instanceof Dict && (i = t); if (!i)
  16525. return null; var a = i.getRaw("Pg"); a instanceof Ref && (e = a.toString()); var s = i.get("Type") instanceof Name ? i.get("Type").name : null; if ("MCR" === s) {
  16526. if (this.tree.pageDict.objId !== e)
  16527. return null;
  16528. var t_325 = i.getRaw("Stm");
  16529. return new StructElement({ type: Ks, refObjId: t_325 instanceof Ref ? t_325.toString() : null, pageObjId: e, mcid: i.get("MCID") });
  16530. } if ("OBJR" === s) {
  16531. if (this.tree.pageDict.objId !== e)
  16532. return null;
  16533. var t_326 = i.getRaw("Obj");
  16534. return new StructElement({ type: Ts, refObjId: t_326 instanceof Ref ? t_326.toString() : null, pageObjId: e });
  16535. } return new StructElement({ type: Os, dict: i }); };
  16536. return StructElementNode;
  16537. }());
  16538. var StructElement = /** @class */ (function () {
  16539. function StructElement(_b) {
  16540. var e = _b.type, _k = _b.dict, t = _k === void 0 ? null : _k, _l = _b.mcid, i = _l === void 0 ? null : _l, _m = _b.pageObjId, a = _m === void 0 ? null : _m, _o = _b.refObjId, s = _o === void 0 ? null : _o;
  16541. this.type = e;
  16542. this.dict = t;
  16543. this.mcid = i;
  16544. this.pageObjId = a;
  16545. this.refObjId = s;
  16546. this.parentNode = null;
  16547. }
  16548. return StructElement;
  16549. }());
  16550. var StructTreePage = /** @class */ (function () {
  16551. function StructTreePage(e, t) {
  16552. this.root = e;
  16553. this.rootDict = e ? e.dict : null;
  16554. this.pageDict = t;
  16555. this.nodes = [];
  16556. }
  16557. StructTreePage.prototype.parse = function (e) { var _b, _k; if (!this.root || !this.rootDict)
  16558. return; var t = this.rootDict.get("ParentTree"); if (!t)
  16559. return; var i = this.pageDict.get("StructParents"), a = e instanceof Ref && ((_b = this.root.structParentIds) === null || _b === void 0 ? void 0 : _b.get(e)); if (!Number.isInteger(i) && !a)
  16560. return; var s = new Map, r = new NumberTree(t, this.rootDict.xref); if (Number.isInteger(i)) {
  16561. var e_442 = r.get(i);
  16562. if (Array.isArray(e_442))
  16563. for (var _l = 0, e_441 = e_442; _l < e_441.length; _l++) {
  16564. var t_327 = e_441[_l];
  16565. t_327 instanceof Ref && this.addNode(this.rootDict.xref.fetch(t_327), s);
  16566. }
  16567. } if (a)
  16568. for (var _m = 0, a_222 = a; _m < a_222.length; _m++) {
  16569. var _o = a_222[_m], e_443 = _o[0], t_328 = _o[1];
  16570. var i_281 = r.get(e_443);
  16571. if (i_281) {
  16572. var e_444 = this.addNode(this.rootDict.xref.fetchIfRef(i_281), s);
  16573. 1 === ((_k = e_444 === null || e_444 === void 0 ? void 0 : e_444.kids) === null || _k === void 0 ? void 0 : _k.length) && e_444.kids[0].type === Ts && (e_444.kids[0].type = t_328);
  16574. }
  16575. } };
  16576. StructTreePage.prototype.addNode = function (e, t, i) {
  16577. if (i === void 0) { i = 0; }
  16578. if (i > 40) {
  16579. warn("StructTree MAX_DEPTH reached.");
  16580. return null;
  16581. }
  16582. if (t.has(e))
  16583. return t.get(e);
  16584. var a = new StructElementNode(this, e);
  16585. t.set(e, a);
  16586. var s = e.get("P");
  16587. if (!s || isName(s.get("Type"), "StructTreeRoot")) {
  16588. this.addTopLevelNode(e, a) || t.delete(e);
  16589. return a;
  16590. }
  16591. var r = this.addNode(s, t, i + 1);
  16592. if (!r)
  16593. return a;
  16594. var n = !1;
  16595. for (var _b = 0, _k = r.kids; _b < _k.length; _b++) {
  16596. var t_329 = _k[_b];
  16597. if (t_329.type === Os && t_329.dict === e) {
  16598. t_329.parentNode = a;
  16599. n = !0;
  16600. }
  16601. }
  16602. n || t.delete(e);
  16603. return a;
  16604. };
  16605. StructTreePage.prototype.addTopLevelNode = function (e, t) { var i = this.rootDict.get("K"); if (!i)
  16606. return !1; if (i instanceof Dict) {
  16607. if (i.objId !== e.objId)
  16608. return !1;
  16609. this.nodes[0] = t;
  16610. return !0;
  16611. } if (!Array.isArray(i))
  16612. return !0; var a = !1; for (var s_165 = 0; s_165 < i.length; s_165++) {
  16613. var r_125 = i[s_165];
  16614. if ((r_125 === null || r_125 === void 0 ? void 0 : r_125.toString()) === e.objId) {
  16615. this.nodes[s_165] = t;
  16616. a = !0;
  16617. }
  16618. } return a; };
  16619. Object.defineProperty(StructTreePage.prototype, "serializable", {
  16620. get: function () { function nodeToSerializable(e, t, i) {
  16621. if (i === void 0) { i = 0; }
  16622. if (i > 40) {
  16623. warn("StructTree too deep to be fully serialized.");
  16624. return;
  16625. }
  16626. var a = Object.create(null);
  16627. a.role = e.role;
  16628. a.children = [];
  16629. t.children.push(a);
  16630. var s = e.dict.get("Alt");
  16631. "string" == typeof s && (a.alt = stringToPDFString(s));
  16632. var r = e.dict.get("Lang");
  16633. "string" == typeof r && (a.lang = stringToPDFString(r));
  16634. for (var _b = 0, _k = e.kids; _b < _k.length; _b++) {
  16635. var t_330 = _k[_b];
  16636. var e_445 = t_330.type === Os ? t_330.parentNode : null;
  16637. e_445 ? nodeToSerializable(e_445, a, i + 1) : t_330.type === vs || t_330.type === Ks ? a.children.push({ type: "content", id: "p".concat(t_330.pageObjId, "_mc").concat(t_330.mcid) }) : t_330.type === Ts ? a.children.push({ type: "object", id: t_330.refObjId }) : t_330.type === qs && a.children.push({ type: "annotation", id: "pdfjs_internal_id_".concat(t_330.refObjId) });
  16638. }
  16639. } var e = Object.create(null); e.children = []; e.role = "Root"; for (var _b = 0, _k = this.nodes; _b < _k.length; _b++) {
  16640. var t_331 = _k[_b];
  16641. t_331 && nodeToSerializable(t_331, e);
  16642. } return e; },
  16643. enumerable: false,
  16644. configurable: true
  16645. });
  16646. return StructTreePage;
  16647. }());
  16648. function isValidExplicitDest(e) { if (!Array.isArray(e) || e.length < 2)
  16649. return !1; var t = e[0], i = e[1], a = e.slice(2); if (!(t instanceof Ref || Number.isInteger(t)))
  16650. return !1; if (!(i instanceof Name))
  16651. return !1; var s = !0; switch (i.name) {
  16652. case "XYZ":
  16653. if (3 !== a.length)
  16654. return !1;
  16655. break;
  16656. case "Fit":
  16657. case "FitB": return 0 === a.length;
  16658. case "FitH":
  16659. case "FitBH":
  16660. case "FitV":
  16661. case "FitBV":
  16662. if (1 !== a.length)
  16663. return !1;
  16664. break;
  16665. case "FitR":
  16666. if (4 !== a.length)
  16667. return !1;
  16668. s = !1;
  16669. break;
  16670. default: return !1;
  16671. } for (var _b = 0, a_223 = a; _b < a_223.length; _b++) {
  16672. var e_446 = a_223[_b];
  16673. if (!("number" == typeof e_446 || s && null === e_446))
  16674. return !1;
  16675. } return !0; }
  16676. function fetchDest(e) { e instanceof Dict && (e = e.get("D")); return isValidExplicitDest(e) ? e : null; }
  16677. function fetchRemoteDest(e) { var t = e.get("D"); if (t) {
  16678. t instanceof Name && (t = t.name);
  16679. if ("string" == typeof t)
  16680. return stringToPDFString(t);
  16681. if (isValidExplicitDest(t))
  16682. return JSON.stringify(t);
  16683. } return null; }
  16684. var Catalog = /** @class */ (function () {
  16685. function Catalog(e, t) {
  16686. _Catalog_instances.add(this);
  16687. this.pdfManager = e;
  16688. this.xref = t;
  16689. this._catDict = t.getCatalogObj();
  16690. if (!(this._catDict instanceof Dict))
  16691. throw new FormatError("Catalog object is not a dictionary.");
  16692. this.toplevelPagesDict;
  16693. this._actualNumPages = null;
  16694. this.fontCache = new RefSetCache;
  16695. this.builtInCMapCache = new Map;
  16696. this.standardFontDataCache = new Map;
  16697. this.globalImageCache = new GlobalImageCache;
  16698. this.pageKidsCountCache = new RefSetCache;
  16699. this.pageIndexCache = new RefSetCache;
  16700. this.nonBlendModesSet = new RefSet;
  16701. this.systemFontCache = new Map;
  16702. }
  16703. Catalog.prototype.cloneDict = function () { return this._catDict.clone(); };
  16704. Object.defineProperty(Catalog.prototype, "version", {
  16705. get: function () { var e = this._catDict.get("Version"); if (e instanceof Name) {
  16706. if (Dt.test(e.name))
  16707. return shadow(this, "version", e.name);
  16708. warn("Invalid PDF catalog version: ".concat(e.name));
  16709. } return shadow(this, "version", null); },
  16710. enumerable: false,
  16711. configurable: true
  16712. });
  16713. Object.defineProperty(Catalog.prototype, "lang", {
  16714. get: function () { var e = this._catDict.get("Lang"); return shadow(this, "lang", e && "string" == typeof e ? stringToPDFString(e) : null); },
  16715. enumerable: false,
  16716. configurable: true
  16717. });
  16718. Object.defineProperty(Catalog.prototype, "needsRendering", {
  16719. get: function () { var e = this._catDict.get("NeedsRendering"); return shadow(this, "needsRendering", "boolean" == typeof e && e); },
  16720. enumerable: false,
  16721. configurable: true
  16722. });
  16723. Object.defineProperty(Catalog.prototype, "collection", {
  16724. get: function () { var e = null; try {
  16725. var t_332 = this._catDict.get("Collection");
  16726. t_332 instanceof Dict && t_332.size > 0 && (e = t_332);
  16727. }
  16728. catch (e) {
  16729. if (e instanceof MissingDataException)
  16730. throw e;
  16731. info("Cannot fetch Collection entry; assuming no collection is present.");
  16732. } return shadow(this, "collection", e); },
  16733. enumerable: false,
  16734. configurable: true
  16735. });
  16736. Object.defineProperty(Catalog.prototype, "acroForm", {
  16737. get: function () { var e = null; try {
  16738. var t_333 = this._catDict.get("AcroForm");
  16739. t_333 instanceof Dict && t_333.size > 0 && (e = t_333);
  16740. }
  16741. catch (e) {
  16742. if (e instanceof MissingDataException)
  16743. throw e;
  16744. info("Cannot fetch AcroForm entry; assuming no forms are present.");
  16745. } return shadow(this, "acroForm", e); },
  16746. enumerable: false,
  16747. configurable: true
  16748. });
  16749. Object.defineProperty(Catalog.prototype, "acroFormRef", {
  16750. get: function () { var e = this._catDict.getRaw("AcroForm"); return shadow(this, "acroFormRef", e instanceof Ref ? e : null); },
  16751. enumerable: false,
  16752. configurable: true
  16753. });
  16754. Object.defineProperty(Catalog.prototype, "metadata", {
  16755. get: function () { var _b; var e = this._catDict.getRaw("Metadata"); if (!(e instanceof Ref))
  16756. return shadow(this, "metadata", null); var t = null; try {
  16757. var i_282 = this.xref.fetch(e, !((_b = this.xref.encrypt) === null || _b === void 0 ? void 0 : _b.encryptMetadata));
  16758. if (i_282 instanceof BaseStream && i_282.dict instanceof Dict) {
  16759. var e_447 = i_282.dict.get("Type"), a_224 = i_282.dict.get("Subtype");
  16760. if (isName(e_447, "Metadata") && isName(a_224, "XML")) {
  16761. var e_448 = stringToUTF8String(i_282.getString());
  16762. e_448 && (t = new MetadataParser(e_448).serializable);
  16763. }
  16764. }
  16765. }
  16766. catch (e) {
  16767. if (e instanceof MissingDataException)
  16768. throw e;
  16769. info("Skipping invalid Metadata: \"".concat(e, "\"."));
  16770. } return shadow(this, "metadata", t); },
  16771. enumerable: false,
  16772. configurable: true
  16773. });
  16774. Object.defineProperty(Catalog.prototype, "markInfo", {
  16775. get: function () { var e = null; try {
  16776. e = this._readMarkInfo();
  16777. }
  16778. catch (e) {
  16779. if (e instanceof MissingDataException)
  16780. throw e;
  16781. warn("Unable to read mark info.");
  16782. } return shadow(this, "markInfo", e); },
  16783. enumerable: false,
  16784. configurable: true
  16785. });
  16786. Catalog.prototype._readMarkInfo = function () { var e = this._catDict.get("MarkInfo"); if (!(e instanceof Dict))
  16787. return null; var t = { Marked: !1, UserProperties: !1, Suspects: !1 }; for (var i_283 in t) {
  16788. var a_225 = e.get(i_283);
  16789. "boolean" == typeof a_225 && (t[i_283] = a_225);
  16790. } return t; };
  16791. Object.defineProperty(Catalog.prototype, "structTreeRoot", {
  16792. get: function () { var e = null; try {
  16793. e = this._readStructTreeRoot();
  16794. }
  16795. catch (e) {
  16796. if (e instanceof MissingDataException)
  16797. throw e;
  16798. warn("Unable read to structTreeRoot info.");
  16799. } return shadow(this, "structTreeRoot", e); },
  16800. enumerable: false,
  16801. configurable: true
  16802. });
  16803. Catalog.prototype._readStructTreeRoot = function () { var e = this._catDict.getRaw("StructTreeRoot"), t = this.xref.fetchIfRef(e); if (!(t instanceof Dict))
  16804. return null; var i = new StructTreeRoot(t, e); i.init(); return i; };
  16805. Object.defineProperty(Catalog.prototype, "toplevelPagesDict", {
  16806. get: function () { var e = this._catDict.get("Pages"); if (!(e instanceof Dict))
  16807. throw new FormatError("Invalid top-level pages dictionary."); return shadow(this, "toplevelPagesDict", e); },
  16808. enumerable: false,
  16809. configurable: true
  16810. });
  16811. Object.defineProperty(Catalog.prototype, "documentOutline", {
  16812. get: function () { var e = null; try {
  16813. e = this._readDocumentOutline();
  16814. }
  16815. catch (e) {
  16816. if (e instanceof MissingDataException)
  16817. throw e;
  16818. warn("Unable to read document outline.");
  16819. } return shadow(this, "documentOutline", e); },
  16820. enumerable: false,
  16821. configurable: true
  16822. });
  16823. Catalog.prototype._readDocumentOutline = function () { var e = this._catDict.get("Outlines"); if (!(e instanceof Dict))
  16824. return null; e = e.getRaw("First"); if (!(e instanceof Ref))
  16825. return null; var t = { items: [] }, i = [{ obj: e, parent: t }], a = new RefSet; a.put(e); var s = this.xref, r = new Uint8ClampedArray(3); for (; i.length > 0;) {
  16826. var t_334 = i.shift(), n_85 = s.fetchIfRef(t_334.obj);
  16827. if (null === n_85)
  16828. continue;
  16829. n_85.has("Title") || warn("Invalid outline item encountered.");
  16830. var o_57 = { url: null, dest: null, action: null };
  16831. Catalog.parseDestDictionary({ destDict: n_85, resultObj: o_57, docBaseUrl: this.baseUrl, docAttachments: this.attachments });
  16832. var g_40 = n_85.get("Title"), c_29 = n_85.get("F") || 0, h_22 = n_85.getArray("C"), l_21 = n_85.get("Count");
  16833. var C_23 = r;
  16834. !isNumberArray(h_22, 3) || 0 === h_22[0] && 0 === h_22[1] && 0 === h_22[2] || (C_23 = ColorSpace.singletons.rgb.getRgb(h_22, 0));
  16835. var Q_20 = { action: o_57.action, attachment: o_57.attachment, dest: o_57.dest, url: o_57.url, unsafeUrl: o_57.unsafeUrl, newWindow: o_57.newWindow, setOCGState: o_57.setOCGState, title: "string" == typeof g_40 ? stringToPDFString(g_40) : "", color: C_23, count: Number.isInteger(l_21) ? l_21 : void 0, bold: !!(2 & c_29), italic: !!(1 & c_29), items: [] };
  16836. t_334.parent.items.push(Q_20);
  16837. e = n_85.getRaw("First");
  16838. if (e instanceof Ref && !a.has(e)) {
  16839. i.push({ obj: e, parent: Q_20 });
  16840. a.put(e);
  16841. }
  16842. e = n_85.getRaw("Next");
  16843. if (e instanceof Ref && !a.has(e)) {
  16844. i.push({ obj: e, parent: t_334.parent });
  16845. a.put(e);
  16846. }
  16847. } return t.items.length > 0 ? t.items : null; };
  16848. Object.defineProperty(Catalog.prototype, "permissions", {
  16849. get: function () { var e = null; try {
  16850. e = this._readPermissions();
  16851. }
  16852. catch (e) {
  16853. if (e instanceof MissingDataException)
  16854. throw e;
  16855. warn("Unable to read permissions.");
  16856. } return shadow(this, "permissions", e); },
  16857. enumerable: false,
  16858. configurable: true
  16859. });
  16860. Catalog.prototype._readPermissions = function () { var e = this.xref.trailer.get("Encrypt"); if (!(e instanceof Dict))
  16861. return null; var t = e.get("P"); if ("number" != typeof t)
  16862. return null; t += Math.pow(2, 32); var i = []; for (var e_449 in m) {
  16863. var a_226 = m[e_449];
  16864. t & a_226 && i.push(a_226);
  16865. } return i; };
  16866. Object.defineProperty(Catalog.prototype, "optionalContentConfig", {
  16867. get: function () { var e = null; try {
  16868. var t_335 = this._catDict.get("OCProperties");
  16869. if (!t_335)
  16870. return shadow(this, "optionalContentConfig", null);
  16871. var i_284 = t_335.get("D");
  16872. if (!i_284)
  16873. return shadow(this, "optionalContentConfig", null);
  16874. var a_228 = t_335.get("OCGs");
  16875. if (!Array.isArray(a_228))
  16876. return shadow(this, "optionalContentConfig", null);
  16877. var s_166 = [], r_126 = new RefSet;
  16878. for (var _b = 0, a_227 = a_228; _b < a_227.length; _b++) {
  16879. var e_450 = a_227[_b];
  16880. if (e_450 instanceof Ref && !r_126.has(e_450)) {
  16881. r_126.put(e_450);
  16882. s_166.push(tslib_1.__classPrivateFieldGet(this, _Catalog_instances, "m", _Catalog_Y).call(this, e_450));
  16883. }
  16884. }
  16885. e = tslib_1.__classPrivateFieldGet(this, _Catalog_instances, "m", _Catalog_v).call(this, i_284, r_126);
  16886. e.groups = s_166;
  16887. }
  16888. catch (e) {
  16889. if (e instanceof MissingDataException)
  16890. throw e;
  16891. warn("Unable to read optional content config: ".concat(e));
  16892. } return shadow(this, "optionalContentConfig", e); },
  16893. enumerable: false,
  16894. configurable: true
  16895. });
  16896. Catalog.prototype.setActualNumPages = function (e) {
  16897. if (e === void 0) { e = null; }
  16898. this._actualNumPages = e;
  16899. };
  16900. Object.defineProperty(Catalog.prototype, "hasActualNumPages", {
  16901. get: function () { return null !== this._actualNumPages; },
  16902. enumerable: false,
  16903. configurable: true
  16904. });
  16905. Object.defineProperty(Catalog.prototype, "_pagesCount", {
  16906. get: function () { var e = this.toplevelPagesDict.get("Count"); if (!Number.isInteger(e))
  16907. throw new FormatError("Page count in top-level pages dictionary is not an integer."); return shadow(this, "_pagesCount", e); },
  16908. enumerable: false,
  16909. configurable: true
  16910. });
  16911. Object.defineProperty(Catalog.prototype, "numPages", {
  16912. get: function () { return this.hasActualNumPages ? this._actualNumPages : this._pagesCount; },
  16913. enumerable: false,
  16914. configurable: true
  16915. });
  16916. Object.defineProperty(Catalog.prototype, "destinations", {
  16917. get: function () { var e = this._readDests(), t = Object.create(null); if (e instanceof NameTree)
  16918. for (var _b = 0, _k = e.getAll(); _b < _k.length; _b++) {
  16919. var _l = _k[_b], i_285 = _l[0], a_229 = _l[1];
  16920. var e_451 = fetchDest(a_229);
  16921. e_451 && (t[stringToPDFString(i_285)] = e_451);
  16922. }
  16923. else
  16924. e instanceof Dict && e.forEach((function (e, i) { var a = fetchDest(i); a && (t[e] = a); })); return shadow(this, "destinations", t); },
  16925. enumerable: false,
  16926. configurable: true
  16927. });
  16928. Catalog.prototype.getDestination = function (e) { var t = this._readDests(); if (t instanceof NameTree) {
  16929. var i_286 = fetchDest(t.get(e));
  16930. if (i_286)
  16931. return i_286;
  16932. var a_230 = this.destinations[e];
  16933. if (a_230) {
  16934. warn("Found \"".concat(e, "\" at an incorrect position in the NameTree."));
  16935. return a_230;
  16936. }
  16937. }
  16938. else if (t instanceof Dict) {
  16939. var i_287 = fetchDest(t.get(e));
  16940. if (i_287)
  16941. return i_287;
  16942. } return null; };
  16943. Catalog.prototype._readDests = function () { var e = this._catDict.get("Names"); return (e === null || e === void 0 ? void 0 : e.has("Dests")) ? new NameTree(e.getRaw("Dests"), this.xref) : this._catDict.has("Dests") ? this._catDict.get("Dests") : void 0; };
  16944. Object.defineProperty(Catalog.prototype, "pageLabels", {
  16945. get: function () { var e = null; try {
  16946. e = this._readPageLabels();
  16947. }
  16948. catch (e) {
  16949. if (e instanceof MissingDataException)
  16950. throw e;
  16951. warn("Unable to read page labels.");
  16952. } return shadow(this, "pageLabels", e); },
  16953. enumerable: false,
  16954. configurable: true
  16955. });
  16956. Catalog.prototype._readPageLabels = function () { var e = this._catDict.getRaw("PageLabels"); if (!e)
  16957. return null; var t = new Array(this.numPages); var i = null, a = ""; var s = new NumberTree(e, this.xref).getAll(); var r = "", n = 1; for (var e_452 = 0, o_58 = this.numPages; e_452 < o_58; e_452++) {
  16958. var o_59 = s.get(e_452);
  16959. if (void 0 !== o_59) {
  16960. if (!(o_59 instanceof Dict))
  16961. throw new FormatError("PageLabel is not a dictionary.");
  16962. if (o_59.has("Type") && !isName(o_59.get("Type"), "PageLabel"))
  16963. throw new FormatError("Invalid type in PageLabel dictionary.");
  16964. if (o_59.has("S")) {
  16965. var e_453 = o_59.get("S");
  16966. if (!(e_453 instanceof Name))
  16967. throw new FormatError("Invalid style in PageLabel dictionary.");
  16968. i = e_453.name;
  16969. }
  16970. else
  16971. i = null;
  16972. if (o_59.has("P")) {
  16973. var e_454 = o_59.get("P");
  16974. if ("string" != typeof e_454)
  16975. throw new FormatError("Invalid prefix in PageLabel dictionary.");
  16976. a = stringToPDFString(e_454);
  16977. }
  16978. else
  16979. a = "";
  16980. if (o_59.has("St")) {
  16981. var e_455 = o_59.get("St");
  16982. if (!(Number.isInteger(e_455) && e_455 >= 1))
  16983. throw new FormatError("Invalid start in PageLabel dictionary.");
  16984. n = e_455;
  16985. }
  16986. else
  16987. n = 1;
  16988. }
  16989. switch (i) {
  16990. case "D":
  16991. r = n;
  16992. break;
  16993. case "R":
  16994. case "r":
  16995. r = toRomanNumerals(n, "r" === i);
  16996. break;
  16997. case "A":
  16998. case "a":
  16999. var e_456 = 26, t_336 = "a" === i ? 97 : 65, a_231 = n - 1;
  17000. r = String.fromCharCode(t_336 + a_231 % e_456).repeat(Math.floor(a_231 / e_456) + 1);
  17001. break;
  17002. default:
  17003. if (i)
  17004. throw new FormatError("Invalid style \"".concat(i, "\" in PageLabel dictionary."));
  17005. r = "";
  17006. }
  17007. t[e_452] = a + r;
  17008. n++;
  17009. } return t; };
  17010. Object.defineProperty(Catalog.prototype, "pageLayout", {
  17011. get: function () { var e = this._catDict.get("PageLayout"); var t = ""; if (e instanceof Name)
  17012. switch (e.name) {
  17013. case "SinglePage":
  17014. case "OneColumn":
  17015. case "TwoColumnLeft":
  17016. case "TwoColumnRight":
  17017. case "TwoPageLeft":
  17018. case "TwoPageRight": t = e.name;
  17019. } return shadow(this, "pageLayout", t); },
  17020. enumerable: false,
  17021. configurable: true
  17022. });
  17023. Object.defineProperty(Catalog.prototype, "pageMode", {
  17024. get: function () { var e = this._catDict.get("PageMode"); var t = "UseNone"; if (e instanceof Name)
  17025. switch (e.name) {
  17026. case "UseNone":
  17027. case "UseOutlines":
  17028. case "UseThumbs":
  17029. case "FullScreen":
  17030. case "UseOC":
  17031. case "UseAttachments": t = e.name;
  17032. } return shadow(this, "pageMode", t); },
  17033. enumerable: false,
  17034. configurable: true
  17035. });
  17036. Object.defineProperty(Catalog.prototype, "viewerPreferences", {
  17037. get: function () {
  17038. var _this = this;
  17039. var e = this._catDict.get("ViewerPreferences");
  17040. if (!(e instanceof Dict))
  17041. return shadow(this, "viewerPreferences", null);
  17042. var t = null;
  17043. for (var _b = 0, _k = e.getKeys(); _b < _k.length; _b++) {
  17044. var i_288 = _k[_b];
  17045. var a_232 = e.get(i_288);
  17046. var s_167 = void 0;
  17047. switch (i_288) {
  17048. case "HideToolbar":
  17049. case "HideMenubar":
  17050. case "HideWindowUI":
  17051. case "FitWindow":
  17052. case "CenterWindow":
  17053. case "DisplayDocTitle":
  17054. case "PickTrayByPDFSize":
  17055. "boolean" == typeof a_232 && (s_167 = a_232);
  17056. break;
  17057. case "NonFullScreenPageMode":
  17058. if (a_232 instanceof Name)
  17059. switch (a_232.name) {
  17060. case "UseNone":
  17061. case "UseOutlines":
  17062. case "UseThumbs":
  17063. case "UseOC":
  17064. s_167 = a_232.name;
  17065. break;
  17066. default: s_167 = "UseNone";
  17067. }
  17068. break;
  17069. case "Direction":
  17070. if (a_232 instanceof Name)
  17071. switch (a_232.name) {
  17072. case "L2R":
  17073. case "R2L":
  17074. s_167 = a_232.name;
  17075. break;
  17076. default: s_167 = "L2R";
  17077. }
  17078. break;
  17079. case "ViewArea":
  17080. case "ViewClip":
  17081. case "PrintArea":
  17082. case "PrintClip":
  17083. if (a_232 instanceof Name)
  17084. switch (a_232.name) {
  17085. case "MediaBox":
  17086. case "CropBox":
  17087. case "BleedBox":
  17088. case "TrimBox":
  17089. case "ArtBox":
  17090. s_167 = a_232.name;
  17091. break;
  17092. default: s_167 = "CropBox";
  17093. }
  17094. break;
  17095. case "PrintScaling":
  17096. if (a_232 instanceof Name)
  17097. switch (a_232.name) {
  17098. case "None":
  17099. case "AppDefault":
  17100. s_167 = a_232.name;
  17101. break;
  17102. default: s_167 = "AppDefault";
  17103. }
  17104. break;
  17105. case "Duplex":
  17106. if (a_232 instanceof Name)
  17107. switch (a_232.name) {
  17108. case "Simplex":
  17109. case "DuplexFlipShortEdge":
  17110. case "DuplexFlipLongEdge":
  17111. s_167 = a_232.name;
  17112. break;
  17113. default: s_167 = "None";
  17114. }
  17115. break;
  17116. case "PrintPageRange":
  17117. if (Array.isArray(a_232) && a_232.length % 2 == 0) {
  17118. a_232.every((function (e, t, i) { return Number.isInteger(e) && e > 0 && (0 === t || e >= i[t - 1]) && e <= _this.numPages; })) && (s_167 = a_232);
  17119. }
  17120. break;
  17121. case "NumCopies":
  17122. Number.isInteger(a_232) && a_232 > 0 && (s_167 = a_232);
  17123. break;
  17124. default:
  17125. warn("Ignoring non-standard key in ViewerPreferences: ".concat(i_288, "."));
  17126. continue;
  17127. }
  17128. if (void 0 !== s_167) {
  17129. t || (t = Object.create(null));
  17130. t[i_288] = s_167;
  17131. }
  17132. else
  17133. warn("Bad value, for key \"".concat(i_288, "\", in ViewerPreferences: ").concat(a_232, "."));
  17134. }
  17135. return shadow(this, "viewerPreferences", t);
  17136. },
  17137. enumerable: false,
  17138. configurable: true
  17139. });
  17140. Object.defineProperty(Catalog.prototype, "openAction", {
  17141. get: function () { var e = this._catDict.get("OpenAction"), t = Object.create(null); if (e instanceof Dict) {
  17142. var i_289 = new Dict(this.xref);
  17143. i_289.set("A", e);
  17144. var a_233 = { url: null, dest: null, action: null };
  17145. Catalog.parseDestDictionary({ destDict: i_289, resultObj: a_233 });
  17146. Array.isArray(a_233.dest) ? t.dest = a_233.dest : a_233.action && (t.action = a_233.action);
  17147. }
  17148. else
  17149. Array.isArray(e) && (t.dest = e); return shadow(this, "openAction", objectSize(t) > 0 ? t : null); },
  17150. enumerable: false,
  17151. configurable: true
  17152. });
  17153. Object.defineProperty(Catalog.prototype, "attachments", {
  17154. get: function () { var e = this._catDict.get("Names"); var t = null; if (e instanceof Dict && e.has("EmbeddedFiles")) {
  17155. var i_290 = new NameTree(e.getRaw("EmbeddedFiles"), this.xref);
  17156. for (var _b = 0, _k = i_290.getAll(); _b < _k.length; _b++) {
  17157. var _l = _k[_b], e_457 = _l[0], a_234 = _l[1];
  17158. var i_291 = new FileSpec(a_234, this.xref);
  17159. t || (t = Object.create(null));
  17160. t[stringToPDFString(e_457)] = i_291.serializable;
  17161. }
  17162. } return shadow(this, "attachments", t); },
  17163. enumerable: false,
  17164. configurable: true
  17165. });
  17166. Object.defineProperty(Catalog.prototype, "xfaImages", {
  17167. get: function () { var e = this._catDict.get("Names"); var t = null; if (e instanceof Dict && e.has("XFAImages")) {
  17168. var i_292 = new NameTree(e.getRaw("XFAImages"), this.xref);
  17169. for (var _b = 0, _k = i_292.getAll(); _b < _k.length; _b++) {
  17170. var _l = _k[_b], e_458 = _l[0], a_235 = _l[1];
  17171. t || (t = new Dict(this.xref));
  17172. t.set(stringToPDFString(e_458), a_235);
  17173. }
  17174. } return shadow(this, "xfaImages", t); },
  17175. enumerable: false,
  17176. configurable: true
  17177. });
  17178. Catalog.prototype._collectJavaScript = function () { var e = this._catDict.get("Names"); var t = null; function appendIfJavaScriptDict(e, i) { if (!(i instanceof Dict))
  17179. return; if (!isName(i.get("S"), "JavaScript"))
  17180. return; var a = i.get("JS"); if (a instanceof BaseStream)
  17181. a = a.getString();
  17182. else if ("string" != typeof a)
  17183. return; a = stringToPDFString(a).replaceAll("\0", ""); a && (t || (t = new Map)).set(e, a); } if (e instanceof Dict && e.has("JavaScript")) {
  17184. var t_337 = new NameTree(e.getRaw("JavaScript"), this.xref);
  17185. for (var _b = 0, _k = t_337.getAll(); _b < _k.length; _b++) {
  17186. var _l = _k[_b], e_459 = _l[0], i_293 = _l[1];
  17187. appendIfJavaScriptDict(stringToPDFString(e_459), i_293);
  17188. }
  17189. } var i = this._catDict.get("OpenAction"); i && appendIfJavaScriptDict("OpenAction", i); return t; };
  17190. Object.defineProperty(Catalog.prototype, "jsActions", {
  17191. get: function () { var e = this._collectJavaScript(); var t = collectActions(this.xref, this._catDict, dA); if (e) {
  17192. t || (t = Object.create(null));
  17193. for (var _b = 0, e_460 = e; _b < e_460.length; _b++) {
  17194. var _k = e_460[_b], i_294 = _k[0], a_236 = _k[1];
  17195. i_294 in t ? t[i_294].push(a_236) : t[i_294] = [a_236];
  17196. }
  17197. } return shadow(this, "jsActions", t); },
  17198. enumerable: false,
  17199. configurable: true
  17200. });
  17201. Catalog.prototype.fontFallback = function (e, t) {
  17202. return tslib_1.__awaiter(this, void 0, void 0, function () { var i, _b, i_295, a_237; return tslib_1.__generator(this, function (_k) {
  17203. switch (_k.label) {
  17204. case 0: return [4 /*yield*/, Promise.all(this.fontCache)];
  17205. case 1:
  17206. i = _k.sent();
  17207. for (_b = 0, i_295 = i; _b < i_295.length; _b++) {
  17208. a_237 = i_295[_b];
  17209. if (a_237.loadedName === e) {
  17210. a_237.fallback(t);
  17211. return [2 /*return*/];
  17212. }
  17213. }
  17214. return [2 /*return*/];
  17215. }
  17216. }); });
  17217. };
  17218. Catalog.prototype.cleanup = function (e) {
  17219. if (e === void 0) { e = !1; }
  17220. return tslib_1.__awaiter(this, void 0, void 0, function () { var t, _b, t_338, e_461; return tslib_1.__generator(this, function (_k) {
  17221. switch (_k.label) {
  17222. case 0:
  17223. clearGlobalCaches();
  17224. this.globalImageCache.clear(e);
  17225. this.pageKidsCountCache.clear();
  17226. this.pageIndexCache.clear();
  17227. this.nonBlendModesSet.clear();
  17228. return [4 /*yield*/, Promise.all(this.fontCache)];
  17229. case 1:
  17230. t = _k.sent();
  17231. for (_b = 0, t_338 = t; _b < t_338.length; _b++) {
  17232. e_461 = t_338[_b].dict;
  17233. delete e_461.cacheKey;
  17234. }
  17235. this.fontCache.clear();
  17236. this.builtInCMapCache.clear();
  17237. this.standardFontDataCache.clear();
  17238. this.systemFontCache.clear();
  17239. return [2 /*return*/];
  17240. }
  17241. }); });
  17242. };
  17243. Catalog.prototype.getPageDict = function (e) {
  17244. return tslib_1.__awaiter(this, void 0, void 0, function () { var t, i, a, s, r, n, o, a_238, g_41, c_30, t_339, _b, g_42, c_31, _k, h_23, _l, t_340, _m, e_462; return tslib_1.__generator(this, function (_o) {
  17245. switch (_o.label) {
  17246. case 0:
  17247. t = [this.toplevelPagesDict], i = new RefSet, a = this._catDict.getRaw("Pages");
  17248. a instanceof Ref && i.put(a);
  17249. s = this.xref, r = this.pageKidsCountCache, n = this.pageIndexCache;
  17250. o = 0;
  17251. _o.label = 1;
  17252. case 1:
  17253. if (!t.length) return [3 /*break*/, 15];
  17254. a_238 = t.pop();
  17255. if (!(a_238 instanceof Ref)) return [3 /*break*/, 6];
  17256. g_41 = r.get(a_238);
  17257. if (g_41 >= 0 && o + g_41 <= e) {
  17258. o += g_41;
  17259. return [3 /*break*/, 14];
  17260. }
  17261. if (i.has(a_238))
  17262. throw new FormatError("Pages tree contains circular reference.");
  17263. i.put(a_238);
  17264. return [4 /*yield*/, s.fetchAsync(a_238)];
  17265. case 2:
  17266. c_30 = _o.sent();
  17267. if (!(c_30 instanceof Dict)) return [3 /*break*/, 5];
  17268. t_339 = c_30.getRaw("Type");
  17269. _b = t_339 instanceof Ref;
  17270. if (!_b) return [3 /*break*/, 4];
  17271. return [4 /*yield*/, s.fetchAsync(t_339)];
  17272. case 3:
  17273. _b = (t_339 = _o.sent());
  17274. _o.label = 4;
  17275. case 4:
  17276. _b;
  17277. if (isName(t_339, "Page") || !c_30.has("Kids")) {
  17278. r.has(a_238) || r.put(a_238, 1);
  17279. n.has(a_238) || n.put(a_238, o);
  17280. if (o === e)
  17281. return [2 /*return*/, [c_30, a_238]];
  17282. o++;
  17283. return [3 /*break*/, 14];
  17284. }
  17285. _o.label = 5;
  17286. case 5:
  17287. t.push(c_30);
  17288. return [3 /*break*/, 14];
  17289. case 6:
  17290. if (!(a_238 instanceof Dict))
  17291. throw new FormatError("Page dictionary kid reference points to wrong type of object.");
  17292. g_42 = a_238.objId;
  17293. c_31 = a_238.getRaw("Count");
  17294. _k = c_31 instanceof Ref;
  17295. if (!_k) return [3 /*break*/, 8];
  17296. return [4 /*yield*/, s.fetchAsync(c_31)];
  17297. case 7:
  17298. _k = (c_31 = _o.sent());
  17299. _o.label = 8;
  17300. case 8:
  17301. _k;
  17302. if (Number.isInteger(c_31) && c_31 >= 0) {
  17303. g_42 && !r.has(g_42) && r.put(g_42, c_31);
  17304. if (o + c_31 <= e) {
  17305. o += c_31;
  17306. return [3 /*break*/, 14];
  17307. }
  17308. }
  17309. h_23 = a_238.getRaw("Kids");
  17310. _l = h_23 instanceof Ref;
  17311. if (!_l) return [3 /*break*/, 10];
  17312. return [4 /*yield*/, s.fetchAsync(h_23)];
  17313. case 9:
  17314. _l = (h_23 = _o.sent());
  17315. _o.label = 10;
  17316. case 10:
  17317. _l;
  17318. if (!!Array.isArray(h_23)) return [3 /*break*/, 13];
  17319. t_340 = a_238.getRaw("Type");
  17320. _m = t_340 instanceof Ref;
  17321. if (!_m) return [3 /*break*/, 12];
  17322. return [4 /*yield*/, s.fetchAsync(t_340)];
  17323. case 11:
  17324. _m = (t_340 = _o.sent());
  17325. _o.label = 12;
  17326. case 12:
  17327. _m;
  17328. if (isName(t_340, "Page") || !a_238.has("Kids")) {
  17329. if (o === e)
  17330. return [2 /*return*/, [a_238, null]];
  17331. o++;
  17332. return [3 /*break*/, 14];
  17333. }
  17334. throw new FormatError("Page dictionary kids object is not an array.");
  17335. case 13:
  17336. for (e_462 = h_23.length - 1; e_462 >= 0; e_462--)
  17337. t.push(h_23[e_462]);
  17338. _o.label = 14;
  17339. case 14: return [3 /*break*/, 1];
  17340. case 15: throw new Error("Page index ".concat(e, " not found."));
  17341. }
  17342. }); });
  17343. };
  17344. Catalog.prototype.getAllPageDicts = function (e) {
  17345. if (e === void 0) { e = !1; }
  17346. return tslib_1.__awaiter(this, void 0, void 0, function () { function addPageDict(e, t) { t && !o.has(t) && o.put(t, g); r.set(g++, [e, t]); } function addPageError(i) { if (i instanceof XRefEntryException && !e)
  17347. throw i; if (e && t && 0 === g) {
  17348. warn("getAllPageDicts - Skipping invalid first page: \"".concat(i, "\"."));
  17349. i = Dict.empty;
  17350. } r.set(g++, [i, null]); } var t, i, a, s, r, n, o, g, e_466, t_341, s_168, r_127, e_463, o_60, g_43, e_464, c_32, e_465; return tslib_1.__generator(this, function (_b) {
  17351. switch (_b.label) {
  17352. case 0:
  17353. t = this.pdfManager.evaluatorOptions.ignoreErrors, i = [{ currentNode: this.toplevelPagesDict, posInKids: 0 }], a = new RefSet, s = this._catDict.getRaw("Pages");
  17354. s instanceof Ref && a.put(s);
  17355. r = new Map, n = this.xref, o = this.pageIndexCache;
  17356. g = 0;
  17357. _b.label = 1;
  17358. case 1:
  17359. if (!(i.length > 0)) return [3 /*break*/, 17];
  17360. e_466 = i.at(-1), t_341 = e_466.currentNode, s_168 = e_466.posInKids;
  17361. r_127 = t_341.getRaw("Kids");
  17362. if (!(r_127 instanceof Ref)) return [3 /*break*/, 5];
  17363. _b.label = 2;
  17364. case 2:
  17365. _b.trys.push([2, 4, , 5]);
  17366. return [4 /*yield*/, n.fetchAsync(r_127)];
  17367. case 3:
  17368. r_127 = _b.sent();
  17369. return [3 /*break*/, 5];
  17370. case 4:
  17371. e_463 = _b.sent();
  17372. addPageError(e_463);
  17373. return [3 /*break*/, 17];
  17374. case 5:
  17375. if (!Array.isArray(r_127)) {
  17376. addPageError(new FormatError("Page dictionary kids object is not an array."));
  17377. return [3 /*break*/, 17];
  17378. }
  17379. if (s_168 >= r_127.length) {
  17380. i.pop();
  17381. return [3 /*break*/, 16];
  17382. }
  17383. o_60 = r_127[s_168];
  17384. g_43 = void 0;
  17385. if (!(o_60 instanceof Ref)) return [3 /*break*/, 10];
  17386. if (a.has(o_60)) {
  17387. addPageError(new FormatError("Pages tree contains circular reference."));
  17388. return [3 /*break*/, 17];
  17389. }
  17390. a.put(o_60);
  17391. _b.label = 6;
  17392. case 6:
  17393. _b.trys.push([6, 8, , 9]);
  17394. return [4 /*yield*/, n.fetchAsync(o_60)];
  17395. case 7:
  17396. g_43 = _b.sent();
  17397. return [3 /*break*/, 9];
  17398. case 8:
  17399. e_464 = _b.sent();
  17400. addPageError(e_464);
  17401. return [3 /*break*/, 17];
  17402. case 9: return [3 /*break*/, 11];
  17403. case 10:
  17404. g_43 = o_60;
  17405. _b.label = 11;
  17406. case 11:
  17407. if (!(g_43 instanceof Dict)) {
  17408. addPageError(new FormatError("Page dictionary kid reference points to wrong type of object."));
  17409. return [3 /*break*/, 17];
  17410. }
  17411. c_32 = g_43.getRaw("Type");
  17412. if (!(c_32 instanceof Ref)) return [3 /*break*/, 15];
  17413. _b.label = 12;
  17414. case 12:
  17415. _b.trys.push([12, 14, , 15]);
  17416. return [4 /*yield*/, n.fetchAsync(c_32)];
  17417. case 13:
  17418. c_32 = _b.sent();
  17419. return [3 /*break*/, 15];
  17420. case 14:
  17421. e_465 = _b.sent();
  17422. addPageError(e_465);
  17423. return [3 /*break*/, 17];
  17424. case 15:
  17425. isName(c_32, "Page") || !g_43.has("Kids") ? addPageDict(g_43, o_60 instanceof Ref ? o_60 : null) : i.push({ currentNode: g_43, posInKids: 0 });
  17426. e_466.posInKids++;
  17427. _b.label = 16;
  17428. case 16: return [3 /*break*/, 1];
  17429. case 17: return [2 /*return*/, r];
  17430. }
  17431. }); });
  17432. };
  17433. Catalog.prototype.getPageIndex = function (e) {
  17434. var _this = this;
  17435. var t = this.pageIndexCache.get(e);
  17436. if (void 0 !== t)
  17437. return Promise.resolve(t);
  17438. var i = this.xref;
  17439. var a = 0;
  17440. var next = function (t) { return function pagesBeforeRef(t) { var a, s = 0; return i.fetchAsync(t).then((function (i) { if (isRefsEqual(t, e) && !isDict(i, "Page") && !(i instanceof Dict && !i.has("Type") && i.has("Contents")))
  17441. throw new FormatError("The reference does not point to a /Page dictionary."); if (!i)
  17442. return null; if (!(i instanceof Dict))
  17443. throw new FormatError("Node must be a dictionary."); a = i.getRaw("Parent"); return i.getAsync("Parent"); })).then((function (e) { if (!e)
  17444. return null; if (!(e instanceof Dict))
  17445. throw new FormatError("Parent must be a dictionary."); return e.getAsync("Kids"); })).then((function (e) { if (!e)
  17446. return null; var r = []; var n = !1; for (var _b = 0, e_467 = e; _b < e_467.length; _b++) {
  17447. var a_239 = e_467[_b];
  17448. if (!(a_239 instanceof Ref))
  17449. throw new FormatError("Kid must be a reference.");
  17450. if (isRefsEqual(a_239, t)) {
  17451. n = !0;
  17452. break;
  17453. }
  17454. r.push(i.fetchAsync(a_239).then((function (e) { if (!(e instanceof Dict))
  17455. throw new FormatError("Kid node must be a dictionary."); e.has("Count") ? s += e.get("Count") : s++; })));
  17456. } if (!n)
  17457. throw new FormatError("Kid reference not found in parent's kids."); return Promise.all(r).then((function () { return [s, a]; })); })); }(t).then((function (t) { if (!t) {
  17458. _this.pageIndexCache.put(e, a);
  17459. return a;
  17460. } var i = t[0], s = t[1]; a += i; return next(s); })); };
  17461. return next(e);
  17462. };
  17463. Object.defineProperty(Catalog.prototype, "baseUrl", {
  17464. get: function () { var e = this._catDict.get("URI"); if (e instanceof Dict) {
  17465. var t_342 = e.get("Base");
  17466. if ("string" == typeof t_342) {
  17467. var e_468 = createValidAbsoluteUrl(t_342, null, { tryConvertEncoding: !0 });
  17468. if (e_468)
  17469. return shadow(this, "baseUrl", e_468.href);
  17470. }
  17471. } return shadow(this, "baseUrl", this.pdfManager.docBaseUrl); },
  17472. enumerable: false,
  17473. configurable: true
  17474. });
  17475. Catalog.parseDestDictionary = function (_b) {
  17476. var e = _b.destDict, t = _b.resultObj, _k = _b.docBaseUrl, i = _k === void 0 ? null : _k, _l = _b.docAttachments, a = _l === void 0 ? null : _l;
  17477. if (!(e instanceof Dict)) {
  17478. warn("parseDestDictionary: `destDict` must be a dictionary.");
  17479. return;
  17480. }
  17481. var s, r, n = e.get("A");
  17482. if (!(n instanceof Dict))
  17483. if (e.has("Dest"))
  17484. n = e.get("Dest");
  17485. else {
  17486. n = e.get("AA");
  17487. n instanceof Dict && (n.has("D") ? n = n.get("D") : n.has("U") && (n = n.get("U")));
  17488. }
  17489. if (n instanceof Dict) {
  17490. var e_469 = n.get("S");
  17491. if (!(e_469 instanceof Name)) {
  17492. warn("parseDestDictionary: Invalid type in Action dictionary.");
  17493. return;
  17494. }
  17495. var i_296 = e_469.name;
  17496. switch (i_296) {
  17497. case "ResetForm":
  17498. var e_470 = n.get("Flags"), o_61 = 0 == (1 & ("number" == typeof e_470 ? e_470 : 0)), g_44 = [], c_33 = [];
  17499. for (var _m = 0, _o = n.get("Fields") || []; _m < _o.length; _m++) {
  17500. var e_471 = _o[_m];
  17501. e_471 instanceof Ref ? c_33.push(e_471.toString()) : "string" == typeof e_471 && g_44.push(stringToPDFString(e_471));
  17502. }
  17503. t.resetForm = { fields: g_44, refs: c_33, include: o_61 };
  17504. break;
  17505. case "URI":
  17506. s = n.get("URI");
  17507. s instanceof Name && (s = "/" + s.name);
  17508. break;
  17509. case "GoTo":
  17510. r = n.get("D");
  17511. break;
  17512. case "Launch":
  17513. case "GoToR":
  17514. var h_24 = n.get("F");
  17515. if (h_24 instanceof Dict) {
  17516. var e_472 = new FileSpec(h_24, null, !0), t_343 = e_472.serializable.rawFilename;
  17517. s = t_343;
  17518. }
  17519. else
  17520. "string" == typeof h_24 && (s = h_24);
  17521. var l_22 = fetchRemoteDest(n);
  17522. l_22 && "string" == typeof s && (s = s.split("#", 1)[0] + "#" + l_22);
  17523. var C_24 = n.get("NewWindow");
  17524. "boolean" == typeof C_24 && (t.newWindow = C_24);
  17525. break;
  17526. case "GoToE":
  17527. var Q_21 = n.get("T");
  17528. var E_12;
  17529. if (a && Q_21 instanceof Dict) {
  17530. var e_473 = Q_21.get("R"), t_344 = Q_21.get("N");
  17531. isName(e_473, "C") && "string" == typeof t_344 && (E_12 = a[stringToPDFString(t_344)]);
  17532. }
  17533. if (E_12) {
  17534. t.attachment = E_12;
  17535. var e_474 = fetchRemoteDest(n);
  17536. e_474 && (t.attachmentDest = e_474);
  17537. }
  17538. else
  17539. warn('parseDestDictionary - unimplemented "GoToE" action.');
  17540. break;
  17541. case "Named":
  17542. var u_11 = n.get("N");
  17543. u_11 instanceof Name && (t.action = u_11.name);
  17544. break;
  17545. case "SetOCGState":
  17546. var d_8 = n.get("State"), f_9 = n.get("PreserveRB");
  17547. if (!Array.isArray(d_8) || 0 === d_8.length)
  17548. break;
  17549. var p_6 = [];
  17550. for (var _p = 0, d_7 = d_8; _p < d_7.length; _p++) {
  17551. var e_475 = d_7[_p];
  17552. if (e_475 instanceof Name)
  17553. switch (e_475.name) {
  17554. case "ON":
  17555. case "OFF":
  17556. case "Toggle": p_6.push(e_475.name);
  17557. }
  17558. else
  17559. e_475 instanceof Ref && p_6.push(e_475.toString());
  17560. }
  17561. if (p_6.length !== d_8.length)
  17562. break;
  17563. t.setOCGState = { state: p_6, preserveRB: "boolean" != typeof f_9 || f_9 };
  17564. break;
  17565. case "JavaScript":
  17566. var m_8 = n.get("JS");
  17567. var y_5;
  17568. m_8 instanceof BaseStream ? y_5 = m_8.getString() : "string" == typeof m_8 && (y_5 = m_8);
  17569. var w_4 = y_5 && recoverJsURL(stringToPDFString(y_5));
  17570. if (w_4) {
  17571. s = w_4.url;
  17572. t.newWindow = w_4.newWindow;
  17573. break;
  17574. }
  17575. default:
  17576. if ("JavaScript" === i_296 || "SubmitForm" === i_296)
  17577. break;
  17578. warn("parseDestDictionary - unsupported action: \"".concat(i_296, "\"."));
  17579. }
  17580. }
  17581. else
  17582. e.has("Dest") && (r = e.get("Dest"));
  17583. if ("string" == typeof s) {
  17584. var e_476 = createValidAbsoluteUrl(s, i, { addDefaultProtocol: !0, tryConvertEncoding: !0 });
  17585. e_476 && (t.url = e_476.href);
  17586. t.unsafeUrl = s;
  17587. }
  17588. if (r) {
  17589. r instanceof Name && (r = r.name);
  17590. "string" == typeof r ? t.dest = stringToPDFString(r) : isValidExplicitDest(r) && (t.dest = r);
  17591. }
  17592. };
  17593. return Catalog;
  17594. }());
  17595. _Catalog_instances = new WeakSet(), _Catalog_Y = function _Catalog_Y(e) { var t = this.xref.fetch(e), i = { id: e.toString(), name: null, intent: null, usage: { print: null, view: null } }, a = t.get("Name"); "string" == typeof a && (i.name = stringToPDFString(a)); var s = t.getArray("Intent"); Array.isArray(s) || (s = [s]); s.every((function (e) { return e instanceof Name; })) && (i.intent = s.map((function (e) { return e.name; }))); var r = t.get("Usage"); if (!(r instanceof Dict))
  17596. return i; var n = i.usage, o = r.get("Print"); if (o instanceof Dict) {
  17597. var e_477 = o.get("PrintState");
  17598. if (e_477 instanceof Name)
  17599. switch (e_477.name) {
  17600. case "ON":
  17601. case "OFF": n.print = { printState: e_477.name };
  17602. }
  17603. } var g = r.get("View"); if (g instanceof Dict) {
  17604. var e_478 = g.get("ViewState");
  17605. if (e_478 instanceof Name)
  17606. switch (e_478.name) {
  17607. case "ON":
  17608. case "OFF": n.view = { viewState: e_478.name };
  17609. }
  17610. } return i; }, _Catalog_v = function _Catalog_v(e, t) { function parseOnOff(e) { var i = []; if (Array.isArray(e))
  17611. for (var _b = 0, e_479 = e; _b < e_479.length; _b++) {
  17612. var a_240 = e_479[_b];
  17613. a_240 instanceof Ref && t.has(a_240) && i.push(a_240.toString());
  17614. } return i; } function parseOrder(e, i) {
  17615. if (i === void 0) { i = 0; }
  17616. if (!Array.isArray(e))
  17617. return null;
  17618. var s = [];
  17619. for (var _b = 0, e_480 = e; _b < e_480.length; _b++) {
  17620. var r_128 = e_480[_b];
  17621. if (r_128 instanceof Ref && t.has(r_128)) {
  17622. a.put(r_128);
  17623. s.push(r_128.toString());
  17624. continue;
  17625. }
  17626. var e_481 = parseNestedOrder(r_128, i);
  17627. e_481 && s.push(e_481);
  17628. }
  17629. if (i > 0)
  17630. return s;
  17631. var r = [];
  17632. for (var _k = 0, t_345 = t; _k < t_345.length; _k++) {
  17633. var e_482 = t_345[_k];
  17634. a.has(e_482) || r.push(e_482.toString());
  17635. }
  17636. r.length && s.push({ name: null, order: r });
  17637. return s;
  17638. } function parseNestedOrder(e, t) { if (++t > s) {
  17639. warn("parseNestedOrder - reached MAX_NESTED_LEVELS.");
  17640. return null;
  17641. } var a = i.fetchIfRef(e); if (!Array.isArray(a))
  17642. return null; var r = i.fetchIfRef(a[0]); if ("string" != typeof r)
  17643. return null; var n = parseOrder(a.slice(1), t); return n && n.length ? { name: stringToPDFString(r), order: n } : null; } var i = this.xref, a = new RefSet, s = 10; return { name: "string" == typeof e.get("Name") ? stringToPDFString(e.get("Name")) : null, creator: "string" == typeof e.get("Creator") ? stringToPDFString(e.get("Creator")) : null, baseState: e.get("BaseState") instanceof Name ? e.get("BaseState").name : null, on: parseOnOff(e.get("ON")), off: parseOnOff(e.get("OFF")), order: parseOrder(e.get("Order")), groups: null }; };
  17644. function addChildren(e, t) { if (e instanceof Dict)
  17645. e = e.getRawValues();
  17646. else if (e instanceof BaseStream)
  17647. e = e.dict.getRawValues();
  17648. else if (!Array.isArray(e))
  17649. return; for (var _b = 0, e_483 = e; _b < e_483.length; _b++) {
  17650. var a_241 = e_483[_b];
  17651. ((i = a_241) instanceof Ref || i instanceof Dict || i instanceof BaseStream || Array.isArray(i)) && t.push(a_241);
  17652. } var i; }
  17653. var ObjectLoader = /** @class */ (function () {
  17654. function ObjectLoader(e, t, i) {
  17655. this.dict = e;
  17656. this.keys = t;
  17657. this.xref = i;
  17658. this.refSet = null;
  17659. }
  17660. ObjectLoader.prototype.load = function () {
  17661. return tslib_1.__awaiter(this, void 0, void 0, function () { var _b, e, t, i, _k, e_484, a_242, e_485; return tslib_1.__generator(this, function (_l) {
  17662. if (this.xref.stream.isDataLoaded)
  17663. return [2 /*return*/];
  17664. _b = this, e = _b.keys, t = _b.dict;
  17665. this.refSet = new RefSet;
  17666. i = [];
  17667. for (_k = 0, e_484 = e; _k < e_484.length; _k++) {
  17668. a_242 = e_484[_k];
  17669. e_485 = t.getRaw(a_242);
  17670. void 0 !== e_485 && i.push(e_485);
  17671. }
  17672. return [2 /*return*/, this._walk(i)];
  17673. }); });
  17674. };
  17675. ObjectLoader.prototype._walk = function (e) {
  17676. return tslib_1.__awaiter(this, void 0, void 0, function () { var t, i, a_243, t_347, e_487, s_169, _b, e_486, t_348, _k, t_346, e_488; return tslib_1.__generator(this, function (_l) {
  17677. switch (_l.label) {
  17678. case 0:
  17679. t = [], i = [];
  17680. for (; e.length;) {
  17681. a_243 = e.pop();
  17682. if (a_243 instanceof Ref) {
  17683. if (this.refSet.has(a_243))
  17684. continue;
  17685. try {
  17686. this.refSet.put(a_243);
  17687. a_243 = this.xref.fetch(a_243);
  17688. }
  17689. catch (e) {
  17690. if (!(e instanceof MissingDataException)) {
  17691. warn("ObjectLoader._walk - requesting all data: \"".concat(e, "\"."));
  17692. this.refSet = null;
  17693. t_347 = this.xref.stream.manager;
  17694. return [2 /*return*/, t_347.requestAllChunks()];
  17695. }
  17696. t.push(a_243);
  17697. i.push({ begin: e.begin, end: e.end });
  17698. }
  17699. }
  17700. if (a_243 instanceof BaseStream) {
  17701. e_487 = a_243.getBaseStreams();
  17702. if (e_487) {
  17703. s_169 = !1;
  17704. for (_b = 0, e_486 = e_487; _b < e_486.length; _b++) {
  17705. t_348 = e_486[_b];
  17706. if (!t_348.isDataLoaded) {
  17707. s_169 = !0;
  17708. i.push({ begin: t_348.start, end: t_348.end });
  17709. }
  17710. }
  17711. s_169 && t.push(a_243);
  17712. }
  17713. }
  17714. addChildren(a_243, e);
  17715. }
  17716. if (!i.length) return [3 /*break*/, 2];
  17717. return [4 /*yield*/, this.xref.stream.manager.requestRanges(i)];
  17718. case 1:
  17719. _l.sent();
  17720. for (_k = 0, t_346 = t; _k < t_346.length; _k++) {
  17721. e_488 = t_346[_k];
  17722. e_488 instanceof Ref && this.refSet.remove(e_488);
  17723. }
  17724. return [2 /*return*/, this._walk(t)];
  17725. case 2:
  17726. this.refSet = null;
  17727. return [2 /*return*/];
  17728. }
  17729. }); });
  17730. };
  17731. return ObjectLoader;
  17732. }());
  17733. var Ws = Symbol(), Xs = Symbol(), js = Symbol(), Zs = Symbol(), Vs = Symbol(), zs = Symbol(), _s = Symbol(), $s = Symbol(), Ar = Symbol(), er = Symbol("content"), tr = Symbol("data"), ir = Symbol(), ar = Symbol("extra"), sr = Symbol(), rr = Symbol(), nr = Symbol(), or = Symbol(), gr = Symbol(), Ir = Symbol(), cr = Symbol(), hr = Symbol(), lr = Symbol(), Cr = Symbol(), Qr = Symbol(), Er = Symbol(), ur = Symbol(), dr = Symbol(), fr = Symbol(), pr = Symbol(), mr = Symbol(), yr = Symbol(), wr = Symbol(), br = Symbol(), Dr = Symbol(), Fr = Symbol(), Sr = Symbol(), kr = Symbol(), Rr = Symbol(), Nr = Symbol(), Gr = Symbol(), xr = Symbol(), Mr = Symbol(), Ur = Symbol(), Lr = Symbol(), Jr = Symbol(), Hr = Symbol("namespaceId"), Yr = Symbol("nodeName"), vr = Symbol(), Kr = Symbol(), Tr = Symbol(), qr = Symbol(), Or = Symbol(), Pr = Symbol(), Wr = Symbol(), Xr = Symbol(), jr = Symbol("root"), Zr = Symbol(), Vr = Symbol(), zr = Symbol(), _r = Symbol(), $r = Symbol(), An = Symbol(), en = Symbol(), tn = Symbol(), an = Symbol(), sn = Symbol(), rn = Symbol(), nn = Symbol("uid"), on = Symbol(), gn = { config: { id: 0, check: function (e) { return e.startsWith("http://www.xfa.org/schema/xci/"); } }, connectionSet: { id: 1, check: function (e) { return e.startsWith("http://www.xfa.org/schema/xfa-connection-set/"); } }, datasets: { id: 2, check: function (e) { return e.startsWith("http://www.xfa.org/schema/xfa-data/"); } }, form: { id: 3, check: function (e) { return e.startsWith("http://www.xfa.org/schema/xfa-form/"); } }, localeSet: { id: 4, check: function (e) { return e.startsWith("http://www.xfa.org/schema/xfa-locale-set/"); } }, pdf: { id: 5, check: function (e) { return "http://ns.adobe.com/xdp/pdf/" === e; } }, signature: { id: 6, check: function (e) { return "http://www.w3.org/2000/09/xmldsig#" === e; } }, sourceSet: { id: 7, check: function (e) { return e.startsWith("http://www.xfa.org/schema/xfa-source-set/"); } }, stylesheet: { id: 8, check: function (e) { return "http://www.w3.org/1999/XSL/Transform" === e; } }, template: { id: 9, check: function (e) { return e.startsWith("http://www.xfa.org/schema/xfa-template/"); } }, xdc: { id: 10, check: function (e) { return e.startsWith("http://www.xfa.org/schema/xdc/"); } }, xdp: { id: 11, check: function (e) { return "http://ns.adobe.com/xdp/" === e; } }, xfdf: { id: 12, check: function (e) { return "http://ns.adobe.com/xfdf/" === e; } }, xhtml: { id: 13, check: function (e) { return "http://www.w3.org/1999/xhtml" === e; } }, xmpmeta: { id: 14, check: function (e) { return "http://ns.adobe.com/xmpmeta/" === e; } } }, In = { pt: function (e) { return e; }, cm: function (e) { return e / 2.54 * 72; }, mm: function (e) { return e / 25.4 * 72; }, in: function (e) { return 72 * e; }, px: function (e) { return e; } }, cn = /([+-]?\d+\.?\d*)(.*)/;
  17734. function stripQuotes(e) { return e.startsWith("'") || e.startsWith('"') ? e.slice(1, -1) : e; }
  17735. function getInteger(_b) {
  17736. var e = _b.data, t = _b.defaultValue, i = _b.validate;
  17737. if (!e)
  17738. return t;
  17739. e = e.trim();
  17740. var a = parseInt(e, 10);
  17741. return !isNaN(a) && i(a) ? a : t;
  17742. }
  17743. function getFloat(_b) {
  17744. var e = _b.data, t = _b.defaultValue, i = _b.validate;
  17745. if (!e)
  17746. return t;
  17747. e = e.trim();
  17748. var a = parseFloat(e);
  17749. return !isNaN(a) && i(a) ? a : t;
  17750. }
  17751. function getKeyword(_b) {
  17752. var e = _b.data, t = _b.defaultValue, i = _b.validate;
  17753. return e && i(e = e.trim()) ? e : t;
  17754. }
  17755. function getStringOption(e, t) { return getKeyword({ data: e, defaultValue: t[0], validate: function (e) { return t.includes(e); } }); }
  17756. function getMeasurement(e, t) {
  17757. if (t === void 0) { t = "0"; }
  17758. t || (t = "0");
  17759. if (!e)
  17760. return getMeasurement(t);
  17761. var i = e.trim().match(cn);
  17762. if (!i)
  17763. return getMeasurement(t);
  17764. var a = i[1], s = i[2], r = parseFloat(a);
  17765. if (isNaN(r))
  17766. return getMeasurement(t);
  17767. if (0 === r)
  17768. return 0;
  17769. var n = In[s];
  17770. return n ? n(r) : r;
  17771. }
  17772. function getRatio(e) { if (!e)
  17773. return { num: 1, den: 1 }; var t = e.trim().split(/\s*:\s*/).map((function (e) { return parseFloat(e); })).filter((function (e) { return !isNaN(e); })); 1 === t.length && t.push(1); if (0 === t.length)
  17774. return { num: 1, den: 1 }; var i = t[0], a = t[1]; return { num: i, den: a }; }
  17775. function getRelevant(e) { return e ? e.trim().split(/\s+/).map((function (e) { return ({ excluded: "-" === e[0], viewname: e.substring(1) }); })) : []; }
  17776. var HTMLResult = /** @class */ (function () {
  17777. function HTMLResult(e, t, i, a) {
  17778. this.success = e;
  17779. this.html = t;
  17780. this.bbox = i;
  17781. this.breakNode = a;
  17782. }
  17783. Object.defineProperty(HTMLResult, "FAILURE", {
  17784. get: function () { return shadow(this, "FAILURE", new HTMLResult(!1, null, null, null)); },
  17785. enumerable: false,
  17786. configurable: true
  17787. });
  17788. Object.defineProperty(HTMLResult, "EMPTY", {
  17789. get: function () { return shadow(this, "EMPTY", new HTMLResult(!0, null, null, null)); },
  17790. enumerable: false,
  17791. configurable: true
  17792. });
  17793. HTMLResult.prototype.isBreak = function () { return !!this.breakNode; };
  17794. HTMLResult.breakNode = function (e) { return new HTMLResult(!1, null, null, e); };
  17795. HTMLResult.success = function (e, t) {
  17796. if (t === void 0) { t = null; }
  17797. return new HTMLResult(!0, e, t, null);
  17798. };
  17799. return HTMLResult;
  17800. }());
  17801. var FontFinder = /** @class */ (function () {
  17802. function FontFinder(e) {
  17803. this.fonts = new Map;
  17804. this.cache = new Map;
  17805. this.warned = new Set;
  17806. this.defaultFont = null;
  17807. this.add(e);
  17808. }
  17809. FontFinder.prototype.add = function (e, t) {
  17810. if (t === void 0) { t = null; }
  17811. for (var _b = 0, e_489 = e; _b < e_489.length; _b++) {
  17812. var t_350 = e_489[_b];
  17813. this.addPdfFont(t_350);
  17814. }
  17815. for (var _k = 0, _l = this.fonts.values(); _k < _l.length; _k++) {
  17816. var e_490 = _l[_k];
  17817. e_490.regular || (e_490.regular = e_490.italic || e_490.bold || e_490.bolditalic);
  17818. }
  17819. if (!t || 0 === t.size)
  17820. return;
  17821. var i = this.fonts.get("PdfJS-Fallback-PdfJS-XFA");
  17822. for (var _m = 0, t_349 = t; _m < t_349.length; _m++) {
  17823. var e_491 = t_349[_m];
  17824. this.fonts.set(e_491, i);
  17825. }
  17826. };
  17827. FontFinder.prototype.addPdfFont = function (e) { var _b, _k, _l; var t = e.cssFontInfo, i = t.fontFamily; var a = this.fonts.get(i); if (!a) {
  17828. a = Object.create(null);
  17829. this.fonts.set(i, a);
  17830. this.defaultFont || (this.defaultFont = a);
  17831. } var s = ""; var r = parseFloat(t.fontWeight); 0 !== parseFloat(t.italicAngle) ? s = r >= 700 ? "bolditalic" : "italic" : r >= 700 && (s = "bold"); if (!s) {
  17832. (e.name.includes("Bold") || ((_b = e.psName) === null || _b === void 0 ? void 0 : _b.includes("Bold"))) && (s = "bold");
  17833. (e.name.includes("Italic") || e.name.endsWith("It") || ((_k = e.psName) === null || _k === void 0 ? void 0 : _k.includes("Italic")) || ((_l = e.psName) === null || _l === void 0 ? void 0 : _l.endsWith("It"))) && (s += "italic");
  17834. } s || (s = "regular"); a[s] = e; };
  17835. FontFinder.prototype.getDefault = function () { return this.defaultFont; };
  17836. FontFinder.prototype.find = function (e, t) {
  17837. var _b, _k;
  17838. if (t === void 0) { t = !0; }
  17839. var i = this.fonts.get(e) || this.cache.get(e);
  17840. if (i)
  17841. return i;
  17842. var a = /,|-|_| |bolditalic|bold|italic|regular|it/gi;
  17843. var s = e.replaceAll(a, "");
  17844. i = this.fonts.get(s);
  17845. if (i) {
  17846. this.cache.set(e, i);
  17847. return i;
  17848. }
  17849. s = s.toLowerCase();
  17850. var r = [];
  17851. for (var _l = 0, _m = this.fonts.entries(); _l < _m.length; _l++) {
  17852. var _o = _m[_l], e_492 = _o[0], t_351 = _o[1];
  17853. e_492.replaceAll(a, "").toLowerCase().startsWith(s) && r.push(t_351);
  17854. }
  17855. if (0 === r.length)
  17856. for (var _p = 0, _q = this.fonts.entries(); _p < _q.length; _p++) {
  17857. var _u = _q[_p], e_493 = _u[1];
  17858. ((_b = e_493.regular.name) === null || _b === void 0 ? void 0 : _b.replaceAll(a, "").toLowerCase().startsWith(s)) && r.push(e_493);
  17859. }
  17860. if (0 === r.length) {
  17861. s = s.replaceAll(/psmt|mt/gi, "");
  17862. for (var _v = 0, _w = this.fonts.entries(); _v < _w.length; _v++) {
  17863. var _x = _w[_v], e_494 = _x[0], t_352 = _x[1];
  17864. e_494.replaceAll(a, "").toLowerCase().startsWith(s) && r.push(t_352);
  17865. }
  17866. }
  17867. if (0 === r.length)
  17868. for (var _y = 0, _z = this.fonts.values(); _y < _z.length; _y++) {
  17869. var e_495 = _z[_y];
  17870. ((_k = e_495.regular.name) === null || _k === void 0 ? void 0 : _k.replaceAll(a, "").toLowerCase().startsWith(s)) && r.push(e_495);
  17871. }
  17872. if (r.length >= 1) {
  17873. 1 !== r.length && t && warn("XFA - Too many choices to guess the correct font: ".concat(e));
  17874. this.cache.set(e, r[0]);
  17875. return r[0];
  17876. }
  17877. if (t && !this.warned.has(e)) {
  17878. this.warned.add(e);
  17879. warn("XFA - Cannot find the font: ".concat(e));
  17880. }
  17881. return null;
  17882. };
  17883. return FontFinder;
  17884. }());
  17885. function selectFont(e, t) { return "italic" === e.posture ? "bold" === e.weight ? t.bolditalic : t.italic : "bold" === e.weight ? t.bold : t.regular; }
  17886. var FontInfo = /** @class */ (function () {
  17887. function FontInfo(e, t, i, a) {
  17888. var _b, _k, _l;
  17889. this.lineHeight = i;
  17890. this.paraMargin = t || { top: 0, bottom: 0, left: 0, right: 0 };
  17891. if (!e) {
  17892. _b = this.defaultFont(a), this.pdfFont = _b[0], this.xfaFont = _b[1];
  17893. return;
  17894. }
  17895. this.xfaFont = { typeface: e.typeface, posture: e.posture, weight: e.weight, size: e.size, letterSpacing: e.letterSpacing };
  17896. var s = a.find(e.typeface);
  17897. if (s) {
  17898. this.pdfFont = selectFont(e, s);
  17899. this.pdfFont || (_k = this.defaultFont(a), this.pdfFont = _k[0], this.xfaFont = _k[1], _k);
  17900. }
  17901. else
  17902. _l = this.defaultFont(a), this.pdfFont = _l[0], this.xfaFont = _l[1];
  17903. }
  17904. FontInfo.prototype.defaultFont = function (e) { var t = e.find("Helvetica", !1) || e.find("Myriad Pro", !1) || e.find("Arial", !1) || e.getDefault(); if (t === null || t === void 0 ? void 0 : t.regular) {
  17905. var e_496 = t.regular;
  17906. return [e_496, { typeface: e_496.cssFontInfo.fontFamily, posture: "normal", weight: "normal", size: 10, letterSpacing: 0 }];
  17907. } return [null, { typeface: "Courier", posture: "normal", weight: "normal", size: 10, letterSpacing: 0 }]; };
  17908. return FontInfo;
  17909. }());
  17910. var FontSelector = /** @class */ (function () {
  17911. function FontSelector(e, t, i, a) {
  17912. this.fontFinder = a;
  17913. this.stack = [new FontInfo(e, t, i, a)];
  17914. }
  17915. FontSelector.prototype.pushData = function (e, t, i) { var a = this.stack.at(-1); for (var _b = 0, _k = ["typeface", "posture", "weight", "size", "letterSpacing"]; _b < _k.length; _b++) {
  17916. var t_353 = _k[_b];
  17917. e[t_353] || (e[t_353] = a.xfaFont[t_353]);
  17918. } for (var _l = 0, _m = ["top", "bottom", "left", "right"]; _l < _m.length; _l++) {
  17919. var e_497 = _m[_l];
  17920. isNaN(t[e_497]) && (t[e_497] = a.paraMargin[e_497]);
  17921. } var s = new FontInfo(e, t, i || a.lineHeight, this.fontFinder); s.pdfFont || (s.pdfFont = a.pdfFont); this.stack.push(s); };
  17922. FontSelector.prototype.popFont = function () { this.stack.pop(); };
  17923. FontSelector.prototype.topFont = function () { return this.stack.at(-1); };
  17924. return FontSelector;
  17925. }());
  17926. var TextMeasure = /** @class */ (function () {
  17927. function TextMeasure(e, t, i, a) {
  17928. this.glyphs = [];
  17929. this.fontSelector = new FontSelector(e, t, i, a);
  17930. this.extraHeight = 0;
  17931. }
  17932. TextMeasure.prototype.pushData = function (e, t, i) { this.fontSelector.pushData(e, t, i); };
  17933. TextMeasure.prototype.popFont = function (e) { return this.fontSelector.popFont(); };
  17934. TextMeasure.prototype.addPara = function () { var e = this.fontSelector.topFont(); this.extraHeight += e.paraMargin.top + e.paraMargin.bottom; };
  17935. TextMeasure.prototype.addString = function (e) { if (!e)
  17936. return; var t = this.fontSelector.topFont(), i = t.xfaFont.size; if (t.pdfFont) {
  17937. var a_244 = t.xfaFont.letterSpacing, s_170 = t.pdfFont, r_129 = s_170.lineHeight || 1.2, n_86 = t.lineHeight || Math.max(1.2, r_129) * i, o_62 = r_129 - (void 0 === s_170.lineGap ? .2 : s_170.lineGap), g_45 = Math.max(1, o_62) * i, c_34 = i / 1e3, h_25 = s_170.defaultWidth || s_170.charsToGlyphs(" ")[0].width;
  17938. for (var _b = 0, _k = e.split(/[\u2029\n]/); _b < _k.length; _b++) {
  17939. var t_354 = _k[_b];
  17940. var e_498 = s_170.encodeString(t_354).join(""), i_298 = s_170.charsToGlyphs(e_498);
  17941. for (var _l = 0, i_297 = i_298; _l < i_297.length; _l++) {
  17942. var e_499 = i_297[_l];
  17943. var t_355 = e_499.width || h_25;
  17944. this.glyphs.push([t_355 * c_34 + a_244, n_86, g_45, e_499.unicode, !1]);
  17945. }
  17946. this.glyphs.push([0, 0, 0, "\n", !0]);
  17947. }
  17948. this.glyphs.pop();
  17949. }
  17950. else {
  17951. for (var _m = 0, _o = e.split(/[\u2029\n]/); _m < _o.length; _m++) {
  17952. var t_356 = _o[_m];
  17953. for (var _p = 0, _q = t_356.split(""); _p < _q.length; _p++) {
  17954. var e_500 = _q[_p];
  17955. this.glyphs.push([i, 1.2 * i, i, e_500, !1]);
  17956. }
  17957. this.glyphs.push([0, 0, 0, "\n", !0]);
  17958. }
  17959. this.glyphs.pop();
  17960. } };
  17961. TextMeasure.prototype.compute = function (e) { var t = -1, i = 0, a = 0, s = 0, r = 0, n = 0, o = !1, g = !0; for (var c_35 = 0, h_26 = this.glyphs.length; c_35 < h_26; c_35++) {
  17962. var _b = this.glyphs[c_35], h_27 = _b[0], l_23 = _b[1], C_25 = _b[2], Q_22 = _b[3], E_13 = _b[4], u_12 = " " === Q_22, d_9 = g ? C_25 : l_23;
  17963. if (E_13) {
  17964. a = Math.max(a, r);
  17965. r = 0;
  17966. s += n;
  17967. n = d_9;
  17968. t = -1;
  17969. i = 0;
  17970. g = !1;
  17971. }
  17972. else if (u_12)
  17973. if (r + h_27 > e) {
  17974. a = Math.max(a, r);
  17975. r = 0;
  17976. s += n;
  17977. n = d_9;
  17978. t = -1;
  17979. i = 0;
  17980. o = !0;
  17981. g = !1;
  17982. }
  17983. else {
  17984. n = Math.max(d_9, n);
  17985. i = r;
  17986. r += h_27;
  17987. t = c_35;
  17988. }
  17989. else if (r + h_27 > e) {
  17990. s += n;
  17991. n = d_9;
  17992. if (-1 !== t) {
  17993. c_35 = t;
  17994. a = Math.max(a, i);
  17995. r = 0;
  17996. t = -1;
  17997. i = 0;
  17998. }
  17999. else {
  18000. a = Math.max(a, r);
  18001. r = h_27;
  18002. }
  18003. o = !0;
  18004. g = !1;
  18005. }
  18006. else {
  18007. r += h_27;
  18008. n = Math.max(d_9, n);
  18009. }
  18010. } a = Math.max(a, r); s += n + this.extraHeight; return { width: 1.02 * a, height: s, isBroken: o }; };
  18011. return TextMeasure;
  18012. }());
  18013. var hn = /^[^.[]+/, ln = /^[^\]]+/, Cn = { dot: 0, dotDot: 1, dotHash: 2, dotBracket: 3, dotParen: 4 }, Bn = new Map([["$data", function (e, t) { return e.datasets ? e.datasets.data : e; }], ["$record", function (e, t) { return (e.datasets ? e.datasets.data : e)[Er]()[0]; }], ["$template", function (e, t) { return e.template; }], ["$connectionSet", function (e, t) { return e.connectionSet; }], ["$form", function (e, t) { return e.form; }], ["$layout", function (e, t) { return e.layout; }], ["$host", function (e, t) { return e.host; }], ["$dataWindow", function (e, t) { return e.dataWindow; }], ["$event", function (e, t) { return e.event; }], ["!", function (e, t) { return e.datasets; }], ["$xfa", function (e, t) { return e; }], ["xfa", function (e, t) { return e; }], ["$", function (e, t) { return t; }]]), Qn = new WeakMap;
  18014. function parseExpression(e, t, i) {
  18015. if (i === void 0) { i = !0; }
  18016. var a = e.match(hn);
  18017. if (!a)
  18018. return null;
  18019. var s = a[0];
  18020. var r = [{ name: s, cacheName: "." + s, index: 0, js: null, formCalc: null, operator: Cn.dot }];
  18021. var n = s.length;
  18022. for (; n < e.length;) {
  18023. var g_46 = n;
  18024. if ("[" === e.charAt(n++)) {
  18025. a = e.slice(n).match(ln);
  18026. if (!a) {
  18027. warn("XFA - Invalid index in SOM expression");
  18028. return null;
  18029. }
  18030. r.at(-1).index = "*" === (o = (o = a[0]).trim()) ? 1 / 0 : parseInt(o, 10) || 0;
  18031. n += a[0].length + 1;
  18032. continue;
  18033. }
  18034. var c_36 = void 0;
  18035. switch (e.charAt(n)) {
  18036. case ".":
  18037. if (!t)
  18038. return null;
  18039. n++;
  18040. c_36 = Cn.dotDot;
  18041. break;
  18042. case "#":
  18043. n++;
  18044. c_36 = Cn.dotHash;
  18045. break;
  18046. case "[":
  18047. if (i) {
  18048. warn("XFA - SOM expression contains a FormCalc subexpression which is not supported for now.");
  18049. return null;
  18050. }
  18051. c_36 = Cn.dotBracket;
  18052. break;
  18053. case "(":
  18054. if (i) {
  18055. warn("XFA - SOM expression contains a JavaScript subexpression which is not supported for now.");
  18056. return null;
  18057. }
  18058. c_36 = Cn.dotParen;
  18059. break;
  18060. default: c_36 = Cn.dot;
  18061. }
  18062. a = e.slice(n).match(hn);
  18063. if (!a)
  18064. break;
  18065. s = a[0];
  18066. n += s.length;
  18067. r.push({ name: s, cacheName: e.slice(g_46, n), operator: c_36, index: 0, js: null, formCalc: null });
  18068. }
  18069. var o;
  18070. return r;
  18071. }
  18072. function searchNode(e, t, i, a, s) {
  18073. if (a === void 0) { a = !0; }
  18074. if (s === void 0) { s = !0; }
  18075. var r = parseExpression(i, a);
  18076. if (!r)
  18077. return null;
  18078. var n = Bn.get(r[0].name);
  18079. var o, g = 0;
  18080. if (n) {
  18081. o = !0;
  18082. e = [n(e, t)];
  18083. g = 1;
  18084. }
  18085. else {
  18086. o = null === t;
  18087. e = [t || e];
  18088. }
  18089. var _loop_3 = function (i_299) {
  18090. var _b = r[g], i_300 = _b.name, a_245 = _b.cacheName, n_87 = _b.operator, c_37 = _b.index, h_28 = [];
  18091. for (var _k = 0, e_501 = e; _k < e_501.length; _k++) {
  18092. var t_357 = e_501[_k];
  18093. if (!t_357.isXFAObject)
  18094. continue;
  18095. var e_502 = void 0, r_130 = void 0;
  18096. if (s) {
  18097. r_130 = Qn.get(t_357);
  18098. if (!r_130) {
  18099. r_130 = new Map;
  18100. Qn.set(t_357, r_130);
  18101. }
  18102. e_502 = r_130.get(a_245);
  18103. }
  18104. if (!e_502) {
  18105. switch (n_87) {
  18106. case Cn.dot:
  18107. e_502 = t_357[cr](i_300, !1);
  18108. break;
  18109. case Cn.dotDot:
  18110. e_502 = t_357[cr](i_300, !0);
  18111. break;
  18112. case Cn.dotHash:
  18113. e_502 = t_357[Ir](i_300);
  18114. e_502 = e_502.isXFAObjectArray ? e_502.children : [e_502];
  18115. }
  18116. s && r_130.set(a_245, e_502);
  18117. }
  18118. e_502.length > 0 && h_28.push(e_502);
  18119. }
  18120. if (0 !== h_28.length || o || 0 !== g)
  18121. e = isFinite(c_37) ? h_28.filter((function (e) { return c_37 < e.length; })).map((function (e) { return e[c_37]; })) : h_28.flat();
  18122. else {
  18123. var i_301 = t[pr]();
  18124. if (!(t = i_301))
  18125. return { value: null };
  18126. g = -1;
  18127. e = [t];
  18128. }
  18129. };
  18130. for (var i_299 = r.length; g < i_299; g++) {
  18131. var state_1 = _loop_3(i_299);
  18132. if (typeof state_1 === "object")
  18133. return state_1.value;
  18134. }
  18135. return 0 === e.length ? null : e;
  18136. }
  18137. function createDataNode(e, t, i) { var a = parseExpression(i); if (!a)
  18138. return null; if (a.some((function (e) { return e.operator === Cn.dotDot; })))
  18139. return null; var s = Bn.get(a[0].name); var r = 0; if (s) {
  18140. e = s(e, t);
  18141. r = 1;
  18142. }
  18143. else
  18144. e = t || e; for (var t_358 = a.length; r < t_358; r++) {
  18145. var _b = a[r], t_359 = _b.name, i_302 = _b.operator, s_171 = _b.index;
  18146. if (!isFinite(s_171)) {
  18147. a[r].index = 0;
  18148. return e.createNodes(a.slice(r));
  18149. }
  18150. var n_88 = void 0;
  18151. switch (i_302) {
  18152. case Cn.dot:
  18153. n_88 = e[cr](t_359, !1);
  18154. break;
  18155. case Cn.dotDot:
  18156. n_88 = e[cr](t_359, !0);
  18157. break;
  18158. case Cn.dotHash:
  18159. n_88 = e[Ir](t_359);
  18160. n_88 = n_88.isXFAObjectArray ? n_88.children : [n_88];
  18161. }
  18162. if (0 === n_88.length)
  18163. return e.createNodes(a.slice(r));
  18164. if (!(s_171 < n_88.length)) {
  18165. a[r].index = s_171 - n_88.length;
  18166. return e.createNodes(a.slice(r));
  18167. }
  18168. {
  18169. var t_360 = n_88[s_171];
  18170. if (!t_360.isXFAObject) {
  18171. warn("XFA - Cannot create a node.");
  18172. return null;
  18173. }
  18174. e = t_360;
  18175. }
  18176. } return null; }
  18177. var En = Symbol(), un = Symbol(), dn = Symbol(), fn = Symbol("_children"), pn = Symbol(), mn = Symbol(), yn = Symbol(), wn = Symbol(), bn = Symbol(), Dn = Symbol(), Fn = Symbol(), Sn = Symbol(), kn = Symbol(), Rn = Symbol("parent"), Nn = Symbol(), Gn = Symbol(), xn = Symbol();
  18178. var Mn = 0;
  18179. var Un = gn.datasets.id;
  18180. var XFAObject = /** @class */ (function () {
  18181. function XFAObject(e, t, i) {
  18182. if (i === void 0) { i = !1; }
  18183. this[Hr] = e;
  18184. this[Yr] = t;
  18185. this[Fn] = i;
  18186. this[Rn] = null;
  18187. this[fn] = [];
  18188. this[nn] = "".concat(t).concat(Mn++);
  18189. this[yr] = null;
  18190. }
  18191. Object.defineProperty(XFAObject.prototype, "isXFAObject", {
  18192. get: function () { return !0; },
  18193. enumerable: false,
  18194. configurable: true
  18195. });
  18196. Object.defineProperty(XFAObject.prototype, "isXFAObjectArray", {
  18197. get: function () { return !1; },
  18198. enumerable: false,
  18199. configurable: true
  18200. });
  18201. XFAObject.prototype.createNodes = function (e) { var t = this, i = null; for (var _b = 0, e_503 = e; _b < e_503.length; _b++) {
  18202. var _k = e_503[_b], a_246 = _k.name, s_172 = _k.index;
  18203. for (var e_504 = 0, r_131 = isFinite(s_172) ? s_172 : 0; e_504 <= r_131; e_504++) {
  18204. var e_505 = t[Hr] === Un ? -1 : t[Hr];
  18205. i = new XmlObject(e_505, a_246);
  18206. t[js](i);
  18207. }
  18208. t = i;
  18209. } return i; };
  18210. XFAObject.prototype[Kr] = function (e) { if (!this[Fn] || !this[Tr](e))
  18211. return !1; var t = e[Yr], i = this[t]; if (!(i instanceof XFAObjectArray)) {
  18212. null !== i && this[Xr](i);
  18213. this[t] = e;
  18214. this[js](e);
  18215. return !0;
  18216. } if (i.push(e)) {
  18217. this[js](e);
  18218. return !0;
  18219. } var a = ""; this.id ? a = " (id: ".concat(this.id, ")") : this.name && (a = " (name: ".concat(this.name, " ").concat(this.h.value, ")")); warn("XFA - node \"".concat(this[Yr], "\"").concat(a, " has already enough \"").concat(t, "\"!")); return !1; };
  18220. XFAObject.prototype[Tr] = function (e) { return this.hasOwnProperty(e[Yr]) && e[Hr] === this[Hr]; };
  18221. XFAObject.prototype[Gr] = function () { return !1; };
  18222. XFAObject.prototype[Ws] = function () { return !1; };
  18223. XFAObject.prototype[Sr] = function () { return !1; };
  18224. XFAObject.prototype[kr] = function () { return !1; };
  18225. XFAObject.prototype[Pr] = function () { this.para && this[mr]()[ar].paraStack.pop(); };
  18226. XFAObject.prototype[Wr] = function () { this[mr]()[ar].paraStack.push(this.para); };
  18227. XFAObject.prototype[zr] = function (e) { this.id && this[Hr] === gn.template.id && e.set(this.id, this); };
  18228. XFAObject.prototype[mr] = function () { return this[yr].template; };
  18229. XFAObject.prototype[xr] = function () { return !1; };
  18230. XFAObject.prototype[Mr] = function () { return !1; };
  18231. XFAObject.prototype[js] = function (e) { e[Rn] = this; this[fn].push(e); !e[yr] && this[yr] && (e[yr] = this[yr]); };
  18232. XFAObject.prototype[Xr] = function (e) { var t = this[fn].indexOf(e); this[fn].splice(t, 1); };
  18233. XFAObject.prototype[wr] = function () { return this.hasOwnProperty("value"); };
  18234. XFAObject.prototype[$r] = function (e) { };
  18235. XFAObject.prototype[qr] = function (e) { };
  18236. XFAObject.prototype[sr] = function () { };
  18237. XFAObject.prototype[Vs] = function (e) { delete this[Fn]; if (this[_s]) {
  18238. e.clean(this[_s]);
  18239. delete this[_s];
  18240. } };
  18241. XFAObject.prototype[Dr] = function (e) { return this[fn].indexOf(e); };
  18242. XFAObject.prototype[Fr] = function (e, t) { t[Rn] = this; this[fn].splice(e, 0, t); !t[yr] && this[yr] && (t[yr] = this[yr]); };
  18243. XFAObject.prototype[Ur] = function () { return !this.name; };
  18244. XFAObject.prototype[Jr] = function () { return ""; };
  18245. XFAObject.prototype[en] = function () { return 0 === this[fn].length ? this[er] : this[fn].map((function (e) { return e[en](); })).join(""); };
  18246. Object.defineProperty(XFAObject.prototype, dn, {
  18247. get: function () { var e = Object.getPrototypeOf(this); if (!e._attributes) {
  18248. var t_361 = e._attributes = new Set;
  18249. for (var _b = 0, _k = Object.getOwnPropertyNames(this); _b < _k.length; _b++) {
  18250. var e_506 = _k[_b];
  18251. if (null === this[e_506] || this[e_506] instanceof XFAObject || this[e_506] instanceof XFAObjectArray)
  18252. break;
  18253. t_361.add(e_506);
  18254. }
  18255. } return shadow(this, dn, e._attributes); },
  18256. enumerable: false,
  18257. configurable: true
  18258. });
  18259. XFAObject.prototype[Nr] = function (e) { var t = this; for (; t;) {
  18260. if (t === e)
  18261. return !0;
  18262. t = t[pr]();
  18263. } return !1; };
  18264. XFAObject.prototype[pr] = function () { return this[Rn]; };
  18265. XFAObject.prototype[fr] = function () { return this[pr](); };
  18266. XFAObject.prototype[Er] = function (e) {
  18267. if (e === void 0) { e = null; }
  18268. return e ? this[e] : this[fn];
  18269. };
  18270. XFAObject.prototype[ir] = function () { var e = Object.create(null); this[er] && (e.$content = this[er]); for (var _b = 0, _k = Object.getOwnPropertyNames(this); _b < _k.length; _b++) {
  18271. var t_362 = _k[_b];
  18272. var i_303 = this[t_362];
  18273. null !== i_303 && (i_303 instanceof XFAObject ? e[t_362] = i_303[ir]() : i_303 instanceof XFAObjectArray ? i_303.isEmpty() || (e[t_362] = i_303.dump()) : e[t_362] = i_303);
  18274. } return e; };
  18275. XFAObject.prototype[rn] = function () { return null; };
  18276. XFAObject.prototype[an] = function () { return HTMLResult.EMPTY; };
  18277. XFAObject.prototype[ur] = function () { var _b, _k, e_507; return tslib_1.__generator(this, function (_l) {
  18278. switch (_l.label) {
  18279. case 0:
  18280. _b = 0, _k = this[Er]();
  18281. _l.label = 1;
  18282. case 1:
  18283. if (!(_b < _k.length)) return [3 /*break*/, 4];
  18284. e_507 = _k[_b];
  18285. return [4 /*yield*/, e_507];
  18286. case 2:
  18287. _l.sent();
  18288. _l.label = 3;
  18289. case 3:
  18290. _b++;
  18291. return [3 /*break*/, 1];
  18292. case 4: return [2 /*return*/];
  18293. }
  18294. }); };
  18295. XFAObject.prototype[wn] = function (e, t) { var _b, _k, i_304, e_508, t_363; return tslib_1.__generator(this, function (_l) {
  18296. switch (_l.label) {
  18297. case 0:
  18298. _b = 0, _k = this[ur]();
  18299. _l.label = 1;
  18300. case 1:
  18301. if (!(_b < _k.length)) return [3 /*break*/, 4];
  18302. i_304 = _k[_b];
  18303. if (!(!e || t === e.has(i_304[Yr]))) return [3 /*break*/, 3];
  18304. e_508 = this[gr](), t_363 = i_304[an](e_508);
  18305. t_363.success || (this[ar].failingNode = i_304);
  18306. return [4 /*yield*/, t_363];
  18307. case 2:
  18308. _l.sent();
  18309. _l.label = 3;
  18310. case 3:
  18311. _b++;
  18312. return [3 /*break*/, 1];
  18313. case 4: return [2 /*return*/];
  18314. }
  18315. }); };
  18316. XFAObject.prototype[rr] = function () { return null; };
  18317. XFAObject.prototype[Xs] = function (e, t) { this[ar].children.push(e); };
  18318. XFAObject.prototype[gr] = function () { };
  18319. XFAObject.prototype[Zs] = function (_b) {
  18320. var _k = _b.filter, e = _k === void 0 ? null : _k, _l = _b.include, t = _l === void 0 ? !0 : _l;
  18321. if (this[ar].generator) {
  18322. var e_509 = this[gr](), t_364 = this[ar].failingNode[an](e_509);
  18323. if (!t_364.success)
  18324. return t_364;
  18325. t_364.html && this[Xs](t_364.html, t_364.bbox);
  18326. delete this[ar].failingNode;
  18327. }
  18328. else
  18329. this[ar].generator = this[wn](e, t);
  18330. for (;;) {
  18331. var e_510 = this[ar].generator.next();
  18332. if (e_510.done)
  18333. break;
  18334. var t_365 = e_510.value;
  18335. if (!t_365.success)
  18336. return t_365;
  18337. t_365.html && this[Xs](t_365.html, t_365.bbox);
  18338. }
  18339. this[ar].generator = null;
  18340. return HTMLResult.EMPTY;
  18341. };
  18342. XFAObject.prototype[_r] = function (e) { this[Gn] = new Set(Object.keys(e)); };
  18343. XFAObject.prototype[Dn] = function (e) { var t = this[dn], i = this[Gn]; return tslib_1.__spreadArray([], e, true).filter((function (e) { return t.has(e) && !i.has(e); })); };
  18344. XFAObject.prototype[Zr] = function (e, t) {
  18345. if (t === void 0) { t = new Set; }
  18346. for (var _b = 0, _k = this[fn]; _b < _k.length; _b++) {
  18347. var i_305 = _k[_b];
  18348. i_305[Nn](e, t);
  18349. }
  18350. };
  18351. XFAObject.prototype[Nn] = function (e, t) { var i = this[bn](e, t); i ? this[En](i, e, t) : this[Zr](e, t); };
  18352. XFAObject.prototype[bn] = function (e, t) { var _b = this, i = _b.use, a = _b.usehref; if (!i && !a)
  18353. return null; var s = null, r = null, n = null, o = i; if (a) {
  18354. o = a;
  18355. a.startsWith("#som(") && a.endsWith(")") ? r = a.slice(5, -1) : a.startsWith(".#som(") && a.endsWith(")") ? r = a.slice(6, -1) : a.startsWith("#") ? n = a.slice(1) : a.startsWith(".#") && (n = a.slice(2));
  18356. }
  18357. else
  18358. i.startsWith("#") ? n = i.slice(1) : r = i; this.use = this.usehref = ""; if (n)
  18359. s = e.get(n);
  18360. else {
  18361. s = searchNode(e.get(jr), this, r, !0, !1);
  18362. s && (s = s[0]);
  18363. } if (!s) {
  18364. warn("XFA - Invalid prototype reference: ".concat(o, "."));
  18365. return null;
  18366. } if (s[Yr] !== this[Yr]) {
  18367. warn("XFA - Incompatible prototype: ".concat(s[Yr], " !== ").concat(this[Yr], "."));
  18368. return null;
  18369. } if (t.has(s)) {
  18370. warn("XFA - Cycle detected in prototypes use.");
  18371. return null;
  18372. } t.add(s); var g = s[bn](e, t); g && s[En](g, e, t); s[Zr](e, t); t.delete(s); return s; };
  18373. XFAObject.prototype[En] = function (e, t, i) { if (i.has(e)) {
  18374. warn("XFA - Cycle detected in prototypes use.");
  18375. return;
  18376. } !this[er] && e[er] && (this[er] = e[er]); new Set(i).add(e); for (var _b = 0, _k = this[Dn](e[Gn]); _b < _k.length; _b++) {
  18377. var t_366 = _k[_b];
  18378. this[t_366] = e[t_366];
  18379. this[Gn] && this[Gn].add(t_366);
  18380. } for (var _l = 0, _m = Object.getOwnPropertyNames(this); _l < _m.length; _l++) {
  18381. var a_247 = _m[_l];
  18382. if (this[dn].has(a_247))
  18383. continue;
  18384. var s_173 = this[a_247], r_132 = e[a_247];
  18385. if (s_173 instanceof XFAObjectArray) {
  18386. for (var _o = 0, _p = s_173[fn]; _o < _p.length; _o++) {
  18387. var e_511 = _p[_o];
  18388. e_511[Nn](t, i);
  18389. }
  18390. for (var a_248 = s_173[fn].length, n_89 = r_132[fn].length; a_248 < n_89; a_248++) {
  18391. var r_133 = e[fn][a_248][$s]();
  18392. if (!s_173.push(r_133))
  18393. break;
  18394. r_133[Rn] = this;
  18395. this[fn].push(r_133);
  18396. r_133[Nn](t, i);
  18397. }
  18398. }
  18399. else if (null === s_173) {
  18400. if (null !== r_132) {
  18401. var e_512 = r_132[$s]();
  18402. e_512[Rn] = this;
  18403. this[a_247] = e_512;
  18404. this[fn].push(e_512);
  18405. e_512[Nn](t, i);
  18406. }
  18407. }
  18408. else {
  18409. s_173[Zr](t, i);
  18410. r_132 && s_173[En](r_132, t, i);
  18411. }
  18412. } };
  18413. XFAObject[pn] = function (e) { return Array.isArray(e) ? e.map((function (e) { return XFAObject[pn](e); })) : "object" == typeof e && null !== e ? Object.assign({}, e) : e; };
  18414. XFAObject.prototype[$s] = function () { var e = Object.create(Object.getPrototypeOf(this)); for (var _b = 0, _k = Object.getOwnPropertySymbols(this); _b < _k.length; _b++) {
  18415. var t_367 = _k[_b];
  18416. try {
  18417. e[t_367] = this[t_367];
  18418. }
  18419. catch (_l) {
  18420. shadow(e, t_367, this[t_367]);
  18421. }
  18422. } e[nn] = "".concat(e[Yr]).concat(Mn++); e[fn] = []; for (var _m = 0, _o = Object.getOwnPropertyNames(this); _m < _o.length; _m++) {
  18423. var t_368 = _o[_m];
  18424. if (this[dn].has(t_368)) {
  18425. e[t_368] = XFAObject[pn](this[t_368]);
  18426. continue;
  18427. }
  18428. var i_306 = this[t_368];
  18429. e[t_368] = i_306 instanceof XFAObjectArray ? new XFAObjectArray(i_306[Sn]) : null;
  18430. } for (var _p = 0, _q = this[fn]; _p < _q.length; _p++) {
  18431. var t_369 = _q[_p];
  18432. var i_307 = t_369[Yr], a_249 = t_369[$s]();
  18433. e[fn].push(a_249);
  18434. a_249[Rn] = e;
  18435. null === e[i_307] ? e[i_307] = a_249 : e[i_307][fn].push(a_249);
  18436. } return e; };
  18437. XFAObject.prototype[Er] = function (e) {
  18438. if (e === void 0) { e = null; }
  18439. return e ? this[fn].filter((function (t) { return t[Yr] === e; })) : this[fn];
  18440. };
  18441. XFAObject.prototype[Ir] = function (e) { return this[e]; };
  18442. XFAObject.prototype[cr] = function (e, t, i) {
  18443. if (i === void 0) { i = !0; }
  18444. return Array.from(this[hr](e, t, i));
  18445. };
  18446. XFAObject.prototype[hr] = function (e, t, i) {
  18447. var _b, _k, i_308, _l, _m, _o, _p;
  18448. if (i === void 0) { i = !0; }
  18449. return tslib_1.__generator(this, function (_q) {
  18450. switch (_q.label) {
  18451. case 0:
  18452. if (!("parent" !== e)) return [3 /*break*/, 12];
  18453. _b = 0, _k = this[fn];
  18454. _q.label = 1;
  18455. case 1:
  18456. if (!(_b < _k.length)) return [3 /*break*/, 9];
  18457. i_308 = _k[_b];
  18458. _l = i_308[Yr] === e;
  18459. if (!_l) return [3 /*break*/, 3];
  18460. return [4 /*yield*/, i_308];
  18461. case 2:
  18462. _l = (_q.sent());
  18463. _q.label = 3;
  18464. case 3:
  18465. _l;
  18466. _m = i_308.name === e;
  18467. if (!_m) return [3 /*break*/, 5];
  18468. return [4 /*yield*/, i_308];
  18469. case 4:
  18470. _m = (_q.sent());
  18471. _q.label = 5;
  18472. case 5:
  18473. _m;
  18474. _o = (t || i_308[Ur]());
  18475. if (!_o) return [3 /*break*/, 7];
  18476. return [5 /*yield**/, tslib_1.__values(i_308[hr](e, t, !1))];
  18477. case 6:
  18478. _o = (_q.sent());
  18479. _q.label = 7;
  18480. case 7:
  18481. _o;
  18482. _q.label = 8;
  18483. case 8:
  18484. _b++;
  18485. return [3 /*break*/, 1];
  18486. case 9:
  18487. _p = i && this[dn].has(e);
  18488. if (!_p) return [3 /*break*/, 11];
  18489. return [4 /*yield*/, new XFAAttribute(this, e, this[e])];
  18490. case 10:
  18491. _p = (_q.sent());
  18492. _q.label = 11;
  18493. case 11:
  18494. _p;
  18495. return [3 /*break*/, 14];
  18496. case 12: return [4 /*yield*/, this[Rn]];
  18497. case 13:
  18498. _q.sent();
  18499. _q.label = 14;
  18500. case 14: return [2 /*return*/];
  18501. }
  18502. });
  18503. };
  18504. return XFAObject;
  18505. }());
  18506. var XFAObjectArray = /** @class */ (function () {
  18507. function XFAObjectArray(e) {
  18508. if (e === void 0) { e = 1 / 0; }
  18509. this[Sn] = e;
  18510. this[fn] = [];
  18511. }
  18512. Object.defineProperty(XFAObjectArray.prototype, "isXFAObject", {
  18513. get: function () { return !1; },
  18514. enumerable: false,
  18515. configurable: true
  18516. });
  18517. Object.defineProperty(XFAObjectArray.prototype, "isXFAObjectArray", {
  18518. get: function () { return !0; },
  18519. enumerable: false,
  18520. configurable: true
  18521. });
  18522. XFAObjectArray.prototype.push = function (e) { if (this[fn].length <= this[Sn]) {
  18523. this[fn].push(e);
  18524. return !0;
  18525. } warn("XFA - node \"".concat(e[Yr], "\" accepts no more than ").concat(this[Sn], " children")); return !1; };
  18526. XFAObjectArray.prototype.isEmpty = function () { return 0 === this[fn].length; };
  18527. XFAObjectArray.prototype.dump = function () { return 1 === this[fn].length ? this[fn][0][ir]() : this[fn].map((function (e) { return e[ir](); })); };
  18528. XFAObjectArray.prototype[$s] = function () { var e = new XFAObjectArray(this[Sn]); e[fn] = this[fn].map((function (e) { return e[$s](); })); return e; };
  18529. Object.defineProperty(XFAObjectArray.prototype, "children", {
  18530. get: function () { return this[fn]; },
  18531. enumerable: false,
  18532. configurable: true
  18533. });
  18534. XFAObjectArray.prototype.clear = function () { this[fn].length = 0; };
  18535. return XFAObjectArray;
  18536. }());
  18537. var XFAAttribute = /** @class */ (function () {
  18538. function XFAAttribute(e, t, i) {
  18539. this[Rn] = e;
  18540. this[Yr] = t;
  18541. this[er] = i;
  18542. this[Ar] = !1;
  18543. this[nn] = "attribute" + Mn++;
  18544. }
  18545. XFAAttribute.prototype[pr] = function () { return this[Rn]; };
  18546. XFAAttribute.prototype[Rr] = function () { return !0; };
  18547. XFAAttribute.prototype[lr] = function () { return this[er].trim(); };
  18548. XFAAttribute.prototype[$r] = function (e) { e = e.value || ""; this[er] = e.toString(); };
  18549. XFAAttribute.prototype[en] = function () { return this[er]; };
  18550. XFAAttribute.prototype[Nr] = function (e) { return this[Rn] === e || this[Rn][Nr](e); };
  18551. return XFAAttribute;
  18552. }());
  18553. var XmlObject = /** @class */ (function (_super) {
  18554. tslib_1.__extends(XmlObject, _super);
  18555. function XmlObject(e, t, i) {
  18556. if (i === void 0) { i = {}; }
  18557. var _this = _super.call(this, e, t) || this;
  18558. _this[er] = "";
  18559. _this[mn] = null;
  18560. if ("#text" !== t) {
  18561. var e_513 = new Map;
  18562. _this[un] = e_513;
  18563. for (var _b = 0, _k = Object.entries(i); _b < _k.length; _b++) {
  18564. var _l = _k[_b], t_370 = _l[0], a_250 = _l[1];
  18565. e_513.set(t_370, new XFAAttribute(_this, t_370, a_250));
  18566. }
  18567. if (i.hasOwnProperty(vr)) {
  18568. var e_514 = i[vr].xfa.dataNode;
  18569. void 0 !== e_514 && ("dataGroup" === e_514 ? _this[mn] = !1 : "dataValue" === e_514 && (_this[mn] = !0));
  18570. }
  18571. }
  18572. _this[Ar] = !1;
  18573. return _this;
  18574. }
  18575. XmlObject.prototype[sn] = function (e) { var t = this[Yr]; if ("#text" === t) {
  18576. e.push(encodeToXmlString(this[er]));
  18577. return;
  18578. } var i = utf8StringToString(t), a = this[Hr] === Un ? "xfa:" : ""; e.push("<".concat(a).concat(i)); for (var _b = 0, _k = this[un].entries(); _b < _k.length; _b++) {
  18579. var _l = _k[_b], t_371 = _l[0], i_309 = _l[1];
  18580. var a_251 = utf8StringToString(t_371);
  18581. e.push(" ".concat(a_251, "=\"").concat(encodeToXmlString(i_309[er]), "\""));
  18582. } null !== this[mn] && (this[mn] ? e.push(' xfa:dataNode="dataValue"') : e.push(' xfa:dataNode="dataGroup"')); if (this[er] || 0 !== this[fn].length) {
  18583. e.push(">");
  18584. if (this[er])
  18585. "string" == typeof this[er] ? e.push(encodeToXmlString(this[er])) : this[er][sn](e);
  18586. else
  18587. for (var _m = 0, _o = this[fn]; _m < _o.length; _m++) {
  18588. var t_372 = _o[_m];
  18589. t_372[sn](e);
  18590. }
  18591. e.push("</".concat(a).concat(i, ">"));
  18592. }
  18593. else
  18594. e.push("/>"); };
  18595. XmlObject.prototype[Kr] = function (e) { if (this[er]) {
  18596. var e_515 = new XmlObject(this[Hr], "#text");
  18597. this[js](e_515);
  18598. e_515[er] = this[er];
  18599. this[er] = "";
  18600. } this[js](e); return !0; };
  18601. XmlObject.prototype[qr] = function (e) { this[er] += e; };
  18602. XmlObject.prototype[sr] = function () { if (this[er] && this[fn].length > 0) {
  18603. var e_516 = new XmlObject(this[Hr], "#text");
  18604. this[js](e_516);
  18605. e_516[er] = this[er];
  18606. delete this[er];
  18607. } };
  18608. XmlObject.prototype[an] = function () { return "#text" === this[Yr] ? HTMLResult.success({ name: "#text", value: this[er] }) : HTMLResult.EMPTY; };
  18609. XmlObject.prototype[Er] = function (e) {
  18610. if (e === void 0) { e = null; }
  18611. return e ? this[fn].filter((function (t) { return t[Yr] === e; })) : this[fn];
  18612. };
  18613. XmlObject.prototype[or] = function () { return this[un]; };
  18614. XmlObject.prototype[Ir] = function (e) { var t = this[un].get(e); return void 0 !== t ? t : this[Er](e); };
  18615. XmlObject.prototype[hr] = function (e, t) { var i, _b, _k, _l, i_310, _m, _o; return tslib_1.__generator(this, function (_p) {
  18616. switch (_p.label) {
  18617. case 0:
  18618. i = this[un].get(e);
  18619. _b = i;
  18620. if (!_b) return [3 /*break*/, 2];
  18621. return [4 /*yield*/, i];
  18622. case 1:
  18623. _b = (_p.sent());
  18624. _p.label = 2;
  18625. case 2:
  18626. _b;
  18627. _k = 0, _l = this[fn];
  18628. _p.label = 3;
  18629. case 3:
  18630. if (!(_k < _l.length)) return [3 /*break*/, 9];
  18631. i_310 = _l[_k];
  18632. _m = i_310[Yr] === e;
  18633. if (!_m) return [3 /*break*/, 5];
  18634. return [4 /*yield*/, i_310];
  18635. case 4:
  18636. _m = (_p.sent());
  18637. _p.label = 5;
  18638. case 5:
  18639. _m;
  18640. _o = t;
  18641. if (!_o) return [3 /*break*/, 7];
  18642. return [5 /*yield**/, tslib_1.__values(i_310[hr](e, t))];
  18643. case 6:
  18644. _o = (_p.sent());
  18645. _p.label = 7;
  18646. case 7:
  18647. _o;
  18648. _p.label = 8;
  18649. case 8:
  18650. _k++;
  18651. return [3 /*break*/, 3];
  18652. case 9: return [2 /*return*/];
  18653. }
  18654. }); };
  18655. XmlObject.prototype[nr] = function (e, t) { var i, _b, _k, _l, i_311; return tslib_1.__generator(this, function (_m) {
  18656. switch (_m.label) {
  18657. case 0:
  18658. i = this[un].get(e);
  18659. _b = !i || t && i[Ar];
  18660. if (_b) return [3 /*break*/, 2];
  18661. return [4 /*yield*/, i];
  18662. case 1:
  18663. _b = (_m.sent());
  18664. _m.label = 2;
  18665. case 2:
  18666. _b;
  18667. _k = 0, _l = this[fn];
  18668. _m.label = 3;
  18669. case 3:
  18670. if (!(_k < _l.length)) return [3 /*break*/, 6];
  18671. i_311 = _l[_k];
  18672. return [5 /*yield**/, tslib_1.__values(i_311[nr](e, t))];
  18673. case 4:
  18674. _m.sent();
  18675. _m.label = 5;
  18676. case 5:
  18677. _k++;
  18678. return [3 /*break*/, 3];
  18679. case 6: return [2 /*return*/];
  18680. }
  18681. }); };
  18682. XmlObject.prototype[Qr] = function (e, t, i) { var _b, _k, a_252, _l, _m; return tslib_1.__generator(this, function (_o) {
  18683. switch (_o.label) {
  18684. case 0:
  18685. _b = 0, _k = this[fn];
  18686. _o.label = 1;
  18687. case 1:
  18688. if (!(_b < _k.length)) return [3 /*break*/, 7];
  18689. a_252 = _k[_b];
  18690. _l = a_252[Yr] !== e || i && a_252[Ar];
  18691. if (_l) return [3 /*break*/, 3];
  18692. return [4 /*yield*/, a_252];
  18693. case 2:
  18694. _l = (_o.sent());
  18695. _o.label = 3;
  18696. case 3:
  18697. _l;
  18698. _m = t;
  18699. if (!_m) return [3 /*break*/, 5];
  18700. return [5 /*yield**/, tslib_1.__values(a_252[Qr](e, t, i))];
  18701. case 4:
  18702. _m = (_o.sent());
  18703. _o.label = 5;
  18704. case 5:
  18705. _m;
  18706. _o.label = 6;
  18707. case 6:
  18708. _b++;
  18709. return [3 /*break*/, 1];
  18710. case 7: return [2 /*return*/];
  18711. }
  18712. }); };
  18713. XmlObject.prototype[Rr] = function () { return null === this[mn] ? 0 === this[fn].length || this[fn][0][Hr] === gn.xhtml.id : this[mn]; };
  18714. XmlObject.prototype[lr] = function () { return null === this[mn] ? 0 === this[fn].length ? this[er].trim() : this[fn][0][Hr] === gn.xhtml.id ? this[fn][0][en]().trim() : null : this[er].trim(); };
  18715. XmlObject.prototype[$r] = function (e) { e = e.value || ""; this[er] = e.toString(); };
  18716. XmlObject.prototype[ir] = function (e) {
  18717. if (e === void 0) { e = !1; }
  18718. var t = Object.create(null);
  18719. e && (t.$ns = this[Hr]);
  18720. this[er] && (t.$content = this[er]);
  18721. t.$name = this[Yr];
  18722. t.children = [];
  18723. for (var _b = 0, _k = this[fn]; _b < _k.length; _b++) {
  18724. var i_312 = _k[_b];
  18725. t.children.push(i_312[ir](e));
  18726. }
  18727. t.attributes = Object.create(null);
  18728. for (var _l = 0, _m = this[un]; _l < _m.length; _l++) {
  18729. var _o = _m[_l], e_517 = _o[0], i_313 = _o[1];
  18730. t.attributes[e_517] = i_313[er];
  18731. }
  18732. return t;
  18733. };
  18734. return XmlObject;
  18735. }(XFAObject));
  18736. var ContentObject = /** @class */ (function (_super) {
  18737. tslib_1.__extends(ContentObject, _super);
  18738. function ContentObject(e, t) {
  18739. var _this = _super.call(this, e, t) || this;
  18740. _this[er] = "";
  18741. return _this;
  18742. }
  18743. ContentObject.prototype[qr] = function (e) { this[er] += e; };
  18744. ContentObject.prototype[sr] = function () { };
  18745. return ContentObject;
  18746. }(XFAObject));
  18747. var OptionObject = /** @class */ (function (_super) {
  18748. tslib_1.__extends(OptionObject, _super);
  18749. function OptionObject(e, t, i) {
  18750. var _this = _super.call(this, e, t) || this;
  18751. _this[kn] = i;
  18752. return _this;
  18753. }
  18754. OptionObject.prototype[sr] = function () {
  18755. var _this = this;
  18756. this[er] = getKeyword({ data: this[er], defaultValue: this[kn][0], validate: function (e) { return _this[kn].includes(e); } });
  18757. };
  18758. OptionObject.prototype[Vs] = function (e) { _super.prototype[Vs].call(this, e); delete this[kn]; };
  18759. return OptionObject;
  18760. }(ContentObject));
  18761. var StringObject = /** @class */ (function (_super) {
  18762. tslib_1.__extends(StringObject, _super);
  18763. function StringObject() {
  18764. return _super !== null && _super.apply(this, arguments) || this;
  18765. }
  18766. StringObject.prototype[sr] = function () { this[er] = this[er].trim(); };
  18767. return StringObject;
  18768. }(ContentObject));
  18769. var IntegerObject = /** @class */ (function (_super) {
  18770. tslib_1.__extends(IntegerObject, _super);
  18771. function IntegerObject(e, t, i, a) {
  18772. var _this = _super.call(this, e, t) || this;
  18773. _this[yn] = i;
  18774. _this[xn] = a;
  18775. return _this;
  18776. }
  18777. IntegerObject.prototype[sr] = function () { this[er] = getInteger({ data: this[er], defaultValue: this[yn], validate: this[xn] }); };
  18778. IntegerObject.prototype[Vs] = function (e) { _super.prototype[Vs].call(this, e); delete this[yn]; delete this[xn]; };
  18779. return IntegerObject;
  18780. }(ContentObject));
  18781. var Option01 = /** @class */ (function (_super) {
  18782. tslib_1.__extends(Option01, _super);
  18783. function Option01(e, t) {
  18784. return _super.call(this, e, t, 0, (function (e) { return 1 === e; })) || this;
  18785. }
  18786. return Option01;
  18787. }(IntegerObject));
  18788. var Option10 = /** @class */ (function (_super) {
  18789. tslib_1.__extends(Option10, _super);
  18790. function Option10(e, t) {
  18791. return _super.call(this, e, t, 1, (function (e) { return 0 === e; })) || this;
  18792. }
  18793. return Option10;
  18794. }(IntegerObject));
  18795. function measureToString(e) { return "string" == typeof e ? "0px" : Number.isInteger(e) ? "".concat(e, "px") : "".concat(e.toFixed(2), "px"); }
  18796. var Ln = { anchorType: function (e, t) { var i = e[fr](); if (i && (!i.layout || "position" === i.layout)) {
  18797. "transform" in t || (t.transform = "");
  18798. switch (e.anchorType) {
  18799. case "bottomCenter":
  18800. t.transform += "translate(-50%, -100%)";
  18801. break;
  18802. case "bottomLeft":
  18803. t.transform += "translate(0,-100%)";
  18804. break;
  18805. case "bottomRight":
  18806. t.transform += "translate(-100%,-100%)";
  18807. break;
  18808. case "middleCenter":
  18809. t.transform += "translate(-50%,-50%)";
  18810. break;
  18811. case "middleLeft":
  18812. t.transform += "translate(0,-50%)";
  18813. break;
  18814. case "middleRight":
  18815. t.transform += "translate(-100%,-50%)";
  18816. break;
  18817. case "topCenter":
  18818. t.transform += "translate(-50%,0)";
  18819. break;
  18820. case "topRight": t.transform += "translate(-100%,0)";
  18821. }
  18822. } }, dimensions: function (e, t) { var _b; var i = e[fr](); var a = e.w; var s = e.h; if ((_b = i.layout) === null || _b === void 0 ? void 0 : _b.includes("row")) {
  18823. var t_373 = i[ar], s_174 = e.colSpan;
  18824. var r_134;
  18825. if (-1 === s_174) {
  18826. r_134 = t_373.columnWidths.slice(t_373.currentColumn).reduce((function (e, t) { return e + t; }), 0);
  18827. t_373.currentColumn = 0;
  18828. }
  18829. else {
  18830. r_134 = t_373.columnWidths.slice(t_373.currentColumn, t_373.currentColumn + s_174).reduce((function (e, t) { return e + t; }), 0);
  18831. t_373.currentColumn = (t_373.currentColumn + e.colSpan) % t_373.columnWidths.length;
  18832. }
  18833. isNaN(r_134) || (a = e.w = r_134);
  18834. } t.width = "" !== a ? measureToString(a) : "auto"; t.height = "" !== s ? measureToString(s) : "auto"; }, position: function (e, t) { var i = e[fr](); if (!(i === null || i === void 0 ? void 0 : i.layout) || "position" === i.layout) {
  18835. t.position = "absolute";
  18836. t.left = measureToString(e.x);
  18837. t.top = measureToString(e.y);
  18838. } }, rotate: function (e, t) { if (e.rotate) {
  18839. "transform" in t || (t.transform = "");
  18840. t.transform += "rotate(-".concat(e.rotate, "deg)");
  18841. t.transformOrigin = "top left";
  18842. } }, presence: function (e, t) { switch (e.presence) {
  18843. case "invisible":
  18844. t.visibility = "hidden";
  18845. break;
  18846. case "hidden":
  18847. case "inactive": t.display = "none";
  18848. } }, hAlign: function (e, t) { if ("para" === e[Yr])
  18849. switch (e.hAlign) {
  18850. case "justifyAll":
  18851. t.textAlign = "justify-all";
  18852. break;
  18853. case "radix":
  18854. t.textAlign = "left";
  18855. break;
  18856. default: t.textAlign = e.hAlign;
  18857. }
  18858. else
  18859. switch (e.hAlign) {
  18860. case "left":
  18861. t.alignSelf = "start";
  18862. break;
  18863. case "center":
  18864. t.alignSelf = "center";
  18865. break;
  18866. case "right": t.alignSelf = "end";
  18867. } }, margin: function (e, t) { e.margin && (t.margin = e.margin[rn]().margin); } };
  18868. function setMinMaxDimensions(e, t) { if ("position" === e[fr]().layout) {
  18869. e.minW > 0 && (t.minWidth = measureToString(e.minW));
  18870. e.maxW > 0 && (t.maxWidth = measureToString(e.maxW));
  18871. e.minH > 0 && (t.minHeight = measureToString(e.minH));
  18872. e.maxH > 0 && (t.maxHeight = measureToString(e.maxH));
  18873. } }
  18874. function layoutText(e, t, i, a, s, r) { var n = new TextMeasure(t, i, a, s); "string" == typeof e ? n.addString(e) : e[Or](n); return n.compute(r); }
  18875. function layoutNode(e, t) { var i = null, a = null, s = !1; if ((!e.w || !e.h) && e.value) {
  18876. var r_135 = 0, n_90 = 0;
  18877. if (e.margin) {
  18878. r_135 = e.margin.leftInset + e.margin.rightInset;
  18879. n_90 = e.margin.topInset + e.margin.bottomInset;
  18880. }
  18881. var o_63 = null, g_47 = null;
  18882. if (e.para) {
  18883. g_47 = Object.create(null);
  18884. o_63 = "" === e.para.lineHeight ? null : e.para.lineHeight;
  18885. g_47.top = "" === e.para.spaceAbove ? 0 : e.para.spaceAbove;
  18886. g_47.bottom = "" === e.para.spaceBelow ? 0 : e.para.spaceBelow;
  18887. g_47.left = "" === e.para.marginLeft ? 0 : e.para.marginLeft;
  18888. g_47.right = "" === e.para.marginRight ? 0 : e.para.marginRight;
  18889. }
  18890. var c_38 = e.font;
  18891. if (!c_38) {
  18892. var t_374 = e[mr]();
  18893. var i_314 = e[pr]();
  18894. for (; i_314 && i_314 !== t_374;) {
  18895. if (i_314.font) {
  18896. c_38 = i_314.font;
  18897. break;
  18898. }
  18899. i_314 = i_314[pr]();
  18900. }
  18901. }
  18902. var h_29 = (e.w || t.width) - r_135, l_24 = e[yr].fontFinder;
  18903. if (e.value.exData && e.value.exData[er] && "text/html" === e.value.exData.contentType) {
  18904. var t_375 = layoutText(e.value.exData[er], c_38, g_47, o_63, l_24, h_29);
  18905. a = t_375.width;
  18906. i = t_375.height;
  18907. s = t_375.isBroken;
  18908. }
  18909. else {
  18910. var t_376 = e.value[en]();
  18911. if (t_376) {
  18912. var e_518 = layoutText(t_376, c_38, g_47, o_63, l_24, h_29);
  18913. a = e_518.width;
  18914. i = e_518.height;
  18915. s = e_518.isBroken;
  18916. }
  18917. }
  18918. null === a || e.w || (a += r_135);
  18919. null === i || e.h || (i += n_90);
  18920. } return { w: a, h: i, isBroken: s }; }
  18921. function computeBbox(e, t, i) { var a; if ("" !== e.w && "" !== e.h)
  18922. a = [e.x, e.y, e.w, e.h];
  18923. else {
  18924. if (!i)
  18925. return null;
  18926. var s_175 = e.w;
  18927. if ("" === s_175) {
  18928. if (0 === e.maxW) {
  18929. var t_377 = e[fr]();
  18930. s_175 = "position" === t_377.layout && "" !== t_377.w ? 0 : e.minW;
  18931. }
  18932. else
  18933. s_175 = Math.min(e.maxW, i.width);
  18934. t.attributes.style.width = measureToString(s_175);
  18935. }
  18936. var r_136 = e.h;
  18937. if ("" === r_136) {
  18938. if (0 === e.maxH) {
  18939. var t_378 = e[fr]();
  18940. r_136 = "position" === t_378.layout && "" !== t_378.h ? 0 : e.minH;
  18941. }
  18942. else
  18943. r_136 = Math.min(e.maxH, i.height);
  18944. t.attributes.style.height = measureToString(r_136);
  18945. }
  18946. a = [e.x, e.y, s_175, r_136];
  18947. } return a; }
  18948. function fixDimensions(e) { var _b; var t = e[fr](); if ((_b = t.layout) === null || _b === void 0 ? void 0 : _b.includes("row")) {
  18949. var i_315 = t[ar], a_253 = e.colSpan;
  18950. var s_176;
  18951. s_176 = -1 === a_253 ? i_315.columnWidths.slice(i_315.currentColumn).reduce((function (e, t) { return e + t; }), 0) : i_315.columnWidths.slice(i_315.currentColumn, i_315.currentColumn + a_253).reduce((function (e, t) { return e + t; }), 0);
  18952. isNaN(s_176) || (e.w = s_176);
  18953. } t.layout && "position" !== t.layout && (e.x = e.y = 0); "table" === e.layout && "" === e.w && Array.isArray(e.columnWidths) && (e.w = e.columnWidths.reduce((function (e, t) { return e + t; }), 0)); }
  18954. function layoutClass(e) { switch (e.layout) {
  18955. case "position":
  18956. default: return "xfaPosition";
  18957. case "lr-tb": return "xfaLrTb";
  18958. case "rl-row": return "xfaRlRow";
  18959. case "rl-tb": return "xfaRlTb";
  18960. case "row": return "xfaRow";
  18961. case "table": return "xfaTable";
  18962. case "tb": return "xfaTb";
  18963. } }
  18964. function toStyle(e) {
  18965. var t = [];
  18966. for (var _b = 1; _b < arguments.length; _b++) {
  18967. t[_b - 1] = arguments[_b];
  18968. }
  18969. var i = Object.create(null);
  18970. for (var _k = 0, t_379 = t; _k < t_379.length; _k++) {
  18971. var a_254 = t_379[_k];
  18972. var t_380 = e[a_254];
  18973. if (null !== t_380)
  18974. if (Ln.hasOwnProperty(a_254))
  18975. Ln[a_254](e, i);
  18976. else if (t_380 instanceof XFAObject) {
  18977. var e_519 = t_380[rn]();
  18978. e_519 ? Object.assign(i, e_519) : warn("(DEBUG) - XFA - style for ".concat(a_254, " not implemented yet"));
  18979. }
  18980. }
  18981. return i;
  18982. }
  18983. function createWrapper(e, t) { var i = t.attributes, a = i.style, s = { name: "div", attributes: { class: ["xfaWrapper"], style: Object.create(null) }, children: [] }; i.class.push("xfaWrapped"); if (e.border) {
  18984. var _b = e.border[ar], i_316 = _b.widths, r_137 = _b.insets;
  18985. var n_91, o_64, g_48 = r_137[0], c_39 = r_137[3];
  18986. var h_30 = r_137[0] + r_137[2], l_25 = r_137[1] + r_137[3];
  18987. switch (e.border.hand) {
  18988. case "even":
  18989. g_48 -= i_316[0] / 2;
  18990. c_39 -= i_316[3] / 2;
  18991. n_91 = "calc(100% + ".concat((i_316[1] + i_316[3]) / 2 - l_25, "px)");
  18992. o_64 = "calc(100% + ".concat((i_316[0] + i_316[2]) / 2 - h_30, "px)");
  18993. break;
  18994. case "left":
  18995. g_48 -= i_316[0];
  18996. c_39 -= i_316[3];
  18997. n_91 = "calc(100% + ".concat(i_316[1] + i_316[3] - l_25, "px)");
  18998. o_64 = "calc(100% + ".concat(i_316[0] + i_316[2] - h_30, "px)");
  18999. break;
  19000. case "right":
  19001. n_91 = l_25 ? "calc(100% - ".concat(l_25, "px)") : "100%";
  19002. o_64 = h_30 ? "calc(100% - ".concat(h_30, "px)") : "100%";
  19003. }
  19004. var C_26 = ["xfaBorder"];
  19005. isPrintOnly(e.border) && C_26.push("xfaPrintOnly");
  19006. var Q_23 = { name: "div", attributes: { class: C_26, style: { top: "".concat(g_48, "px"), left: "".concat(c_39, "px"), width: n_91, height: o_64 } }, children: [] };
  19007. for (var _k = 0, _l = ["border", "borderWidth", "borderColor", "borderRadius", "borderStyle"]; _k < _l.length; _k++) {
  19008. var e_520 = _l[_k];
  19009. if (void 0 !== a[e_520]) {
  19010. Q_23.attributes.style[e_520] = a[e_520];
  19011. delete a[e_520];
  19012. }
  19013. }
  19014. s.children.push(Q_23, t);
  19015. }
  19016. else
  19017. s.children.push(t); for (var _m = 0, _o = ["background", "backgroundClip", "top", "left", "width", "height", "minWidth", "minHeight", "maxWidth", "maxHeight", "transform", "transformOrigin", "visibility"]; _m < _o.length; _m++) {
  19018. var e_521 = _o[_m];
  19019. if (void 0 !== a[e_521]) {
  19020. s.attributes.style[e_521] = a[e_521];
  19021. delete a[e_521];
  19022. }
  19023. } s.attributes.style.position = "absolute" === a.position ? "absolute" : "relative"; delete a.position; if (a.alignSelf) {
  19024. s.attributes.style.alignSelf = a.alignSelf;
  19025. delete a.alignSelf;
  19026. } return s; }
  19027. function fixTextIndent(e) { var t = getMeasurement(e.textIndent, "0px"); if (t >= 0)
  19028. return; var i = "padding" + ("left" === ("right" === e.textAlign ? "right" : "left") ? "Left" : "Right"), a = getMeasurement(e[i], "0px"); e[i] = a - t + "px"; }
  19029. function setAccess(e, t) { switch (e.access) {
  19030. case "nonInteractive":
  19031. t.push("xfaNonInteractive");
  19032. break;
  19033. case "readOnly":
  19034. t.push("xfaReadOnly");
  19035. break;
  19036. case "protected": t.push("xfaDisabled");
  19037. } }
  19038. function isPrintOnly(e) { return e.relevant.length > 0 && !e.relevant[0].excluded && "print" === e.relevant[0].viewname; }
  19039. function getCurrentPara(e) { var t = e[mr]()[ar].paraStack; return t.length ? t.at(-1) : null; }
  19040. function setPara(e, t, i) { var _b; if ((_b = i.attributes.class) === null || _b === void 0 ? void 0 : _b.includes("xfaRich")) {
  19041. if (t) {
  19042. "" === e.h && (t.height = "auto");
  19043. "" === e.w && (t.width = "auto");
  19044. }
  19045. var a_255 = getCurrentPara(e);
  19046. if (a_255) {
  19047. var e_522 = i.attributes.style;
  19048. e_522.display = "flex";
  19049. e_522.flexDirection = "column";
  19050. switch (a_255.vAlign) {
  19051. case "top":
  19052. e_522.justifyContent = "start";
  19053. break;
  19054. case "bottom":
  19055. e_522.justifyContent = "end";
  19056. break;
  19057. case "middle": e_522.justifyContent = "center";
  19058. }
  19059. var t_381 = a_255[rn]();
  19060. for (var _k = 0, _l = Object.entries(t_381); _k < _l.length; _k++) {
  19061. var _m = _l[_k], i_317 = _m[0], a_256 = _m[1];
  19062. i_317 in e_522 || (e_522[i_317] = a_256);
  19063. }
  19064. }
  19065. } }
  19066. function setFontFamily(e, t, i, a) { if (!i) {
  19067. delete a.fontFamily;
  19068. return;
  19069. } var s = stripQuotes(e.typeface); a.fontFamily = "\"".concat(s, "\""); var r = i.find(s); if (r) {
  19070. var i_318 = r.regular.cssFontInfo.fontFamily;
  19071. i_318 !== s && (a.fontFamily = "\"".concat(i_318, "\""));
  19072. var n_92 = getCurrentPara(t);
  19073. if (n_92 && "" !== n_92.lineHeight)
  19074. return;
  19075. if (a.lineHeight)
  19076. return;
  19077. var o_65 = selectFont(e, r);
  19078. o_65 && (a.lineHeight = Math.max(1.2, o_65.lineHeight));
  19079. } }
  19080. function fixURL(e) { var t = createValidAbsoluteUrl(e, null, { addDefaultProtocol: !0, tryConvertEncoding: !0 }); return t ? t.href : null; }
  19081. function createLine(e, t) { return { name: "div", attributes: { class: ["lr-tb" === e.layout ? "xfaLr" : "xfaRl"] }, children: t }; }
  19082. function flushHTML(e) { if (!e[ar])
  19083. return null; var t = { name: "div", attributes: e[ar].attributes, children: e[ar].children }; if (e[ar].failingNode) {
  19084. var i_319 = e[ar].failingNode[rr]();
  19085. i_319 && (e.layout.endsWith("-tb") ? t.children.push(createLine(e, [i_319])) : t.children.push(i_319));
  19086. } return 0 === t.children.length ? null : t; }
  19087. function addHTML(e, t, i) { var a = e[ar], s = a.availableSpace, r = i[0], n = i[1], o = i[2], g = i[3]; switch (e.layout) {
  19088. case "position":
  19089. a.width = Math.max(a.width, r + o);
  19090. a.height = Math.max(a.height, n + g);
  19091. a.children.push(t);
  19092. break;
  19093. case "lr-tb":
  19094. case "rl-tb":
  19095. if (!a.line || 1 === a.attempt) {
  19096. a.line = createLine(e, []);
  19097. a.children.push(a.line);
  19098. a.numberInLine = 0;
  19099. }
  19100. a.numberInLine += 1;
  19101. a.line.children.push(t);
  19102. if (0 === a.attempt) {
  19103. a.currentWidth += o;
  19104. a.height = Math.max(a.height, a.prevHeight + g);
  19105. }
  19106. else {
  19107. a.currentWidth = o;
  19108. a.prevHeight = a.height;
  19109. a.height += g;
  19110. a.attempt = 0;
  19111. }
  19112. a.width = Math.max(a.width, a.currentWidth);
  19113. break;
  19114. case "rl-row":
  19115. case "row": {
  19116. a.children.push(t);
  19117. a.width += o;
  19118. a.height = Math.max(a.height, g);
  19119. var e_523 = measureToString(a.height);
  19120. for (var _b = 0, _k = a.children; _b < _k.length; _b++) {
  19121. var t_382 = _k[_b];
  19122. t_382.attributes.style.height = e_523;
  19123. }
  19124. break;
  19125. }
  19126. case "table":
  19127. case "tb":
  19128. a.width = Math.min(s.width, Math.max(a.width, o));
  19129. a.height += g;
  19130. a.children.push(t);
  19131. } }
  19132. function getAvailableSpace(e) { var t = e[ar].availableSpace, i = e.margin ? e.margin.topInset + e.margin.bottomInset : 0, a = e.margin ? e.margin.leftInset + e.margin.rightInset : 0; switch (e.layout) {
  19133. case "lr-tb":
  19134. case "rl-tb": return 0 === e[ar].attempt ? { width: t.width - a - e[ar].currentWidth, height: t.height - i - e[ar].prevHeight } : { width: t.width - a, height: t.height - i - e[ar].height };
  19135. case "rl-row":
  19136. case "row": return { width: e[ar].columnWidths.slice(e[ar].currentColumn).reduce((function (e, t) { return e + t; })), height: t.height - a };
  19137. case "table":
  19138. case "tb": return { width: t.width - a, height: t.height - i - e[ar].height };
  19139. default: return t;
  19140. } }
  19141. function checkDimensions(e, t) { var _b; if (null === e[mr]()[ar].firstUnsplittable)
  19142. return !0; if (0 === e.w || 0 === e.h)
  19143. return !0; var i = e[fr](), a = ((_b = i[ar]) === null || _b === void 0 ? void 0 : _b.attempt) || 0, _k = function getTransformedBBox(e) {
  19144. var _b, _k, _l, _m, _o, _p, _q, _u, _v, _w, _x, _y, _z, _0, _1;
  19145. var t, i, a = "" === e.w ? NaN : e.w, s = "" === e.h ? NaN : e.h, _2 = [0, 0], r = _2[0], n = _2[1];
  19146. switch (e.anchorType || "") {
  19147. case "bottomCenter":
  19148. _b = [a / 2, s], r = _b[0], n = _b[1];
  19149. break;
  19150. case "bottomLeft":
  19151. _k = [0, s], r = _k[0], n = _k[1];
  19152. break;
  19153. case "bottomRight":
  19154. _l = [a, s], r = _l[0], n = _l[1];
  19155. break;
  19156. case "middleCenter":
  19157. _m = [a / 2, s / 2], r = _m[0], n = _m[1];
  19158. break;
  19159. case "middleLeft":
  19160. _o = [0, s / 2], r = _o[0], n = _o[1];
  19161. break;
  19162. case "middleRight":
  19163. _p = [a, s / 2], r = _p[0], n = _p[1];
  19164. break;
  19165. case "topCenter":
  19166. _q = [a / 2, 0], r = _q[0], n = _q[1];
  19167. break;
  19168. case "topRight": _u = [a, 0], r = _u[0], n = _u[1];
  19169. }
  19170. switch (e.rotate || 0) {
  19171. case 0:
  19172. _v = [-r, -n], t = _v[0], i = _v[1];
  19173. break;
  19174. case 90:
  19175. _w = [-n, r], t = _w[0], i = _w[1];
  19176. _x = [s, -a], a = _x[0], s = _x[1];
  19177. break;
  19178. case 180:
  19179. _y = [r, n], t = _y[0], i = _y[1];
  19180. _z = [-a, -s], a = _z[0], s = _z[1];
  19181. break;
  19182. case 270:
  19183. _0 = [n, -r], t = _0[0], i = _0[1];
  19184. _1 = [-s, a], a = _1[0], s = _1[1];
  19185. }
  19186. return [e.x + t + Math.min(0, a), e.y + i + Math.min(0, s), Math.abs(a), Math.abs(s)];
  19187. }(e), s = _k[1], r = _k[2], n = _k[3]; switch (i.layout) {
  19188. case "lr-tb":
  19189. case "rl-tb": return 0 === a ? e[mr]()[ar].noLayoutFailure ? "" !== e.w ? Math.round(r - t.width) <= 2 : t.width > 2 : !("" !== e.h && Math.round(n - t.height) > 2) && ("" !== e.w ? Math.round(r - t.width) <= 2 || 0 === i[ar].numberInLine && t.height > 2 : t.width > 2) : !!e[mr]()[ar].noLayoutFailure || !("" !== e.h && Math.round(n - t.height) > 2) && (("" === e.w || Math.round(r - t.width) <= 2 || !i[Mr]()) && t.height > 2);
  19190. case "table":
  19191. case "tb": return !!e[mr]()[ar].noLayoutFailure || ("" === e.h || e[xr]() ? ("" === e.w || Math.round(r - t.width) <= 2 || !i[Mr]()) && t.height > 2 : Math.round(n - t.height) <= 2);
  19192. case "position":
  19193. if (e[mr]()[ar].noLayoutFailure)
  19194. return !0;
  19195. if ("" === e.h || Math.round(n + s - t.height) <= 2)
  19196. return !0;
  19197. return n + s > e[mr]()[ar].currentContentArea.h;
  19198. case "rl-row":
  19199. case "row": return !!e[mr]()[ar].noLayoutFailure || ("" === e.h || Math.round(n - t.height) <= 2);
  19200. default: return !0;
  19201. } }
  19202. var Jn = gn.template.id, Hn = "http://www.w3.org/2000/svg", Yn = /^H(\d+)$/, vn = new Set(["image/gif", "image/jpeg", "image/jpg", "image/pjpeg", "image/png", "image/apng", "image/x-png", "image/bmp", "image/x-ms-bmp", "image/tiff", "image/tif", "application/octet-stream"]), Kn = [[[66, 77], "image/bmp"], [[255, 216, 255], "image/jpeg"], [[73, 73, 42, 0], "image/tiff"], [[77, 77, 0, 42], "image/tiff"], [[71, 73, 70, 56, 57, 97], "image/gif"], [[137, 80, 78, 71, 13, 10, 26, 10], "image/png"]];
  19203. function getBorderDims(e) { if (!e || !e.border)
  19204. return { w: 0, h: 0 }; var t = e.border[Cr](); return t ? { w: t.widths[0] + t.widths[2] + t.insets[0] + t.insets[2], h: t.widths[1] + t.widths[3] + t.insets[1] + t.insets[3] } : { w: 0, h: 0 }; }
  19205. function hasMargin(e) { return e.margin && (e.margin.topInset || e.margin.rightInset || e.margin.bottomInset || e.margin.leftInset); }
  19206. function _setValue(e, t) { if (!e.value) {
  19207. var t_383 = new Value({});
  19208. e[js](t_383);
  19209. e.value = t_383;
  19210. } e.value[$r](t); }
  19211. function getContainedChildren(e) { var _b, _k, t_384, _l; return tslib_1.__generator(this, function (_m) {
  19212. switch (_m.label) {
  19213. case 0:
  19214. _b = 0, _k = e[Er]();
  19215. _m.label = 1;
  19216. case 1:
  19217. if (!(_b < _k.length)) return [3 /*break*/, 7];
  19218. t_384 = _k[_b];
  19219. if (!(t_384 instanceof SubformSet)) return [3 /*break*/, 3];
  19220. return [5 /*yield**/, tslib_1.__values(t_384[ur]())];
  19221. case 2:
  19222. _l = _m.sent();
  19223. return [3 /*break*/, 5];
  19224. case 3: return [4 /*yield*/, t_384];
  19225. case 4:
  19226. _l = _m.sent();
  19227. _m.label = 5;
  19228. case 5:
  19229. _l;
  19230. _m.label = 6;
  19231. case 6:
  19232. _b++;
  19233. return [3 /*break*/, 1];
  19234. case 7: return [2 /*return*/];
  19235. }
  19236. }); }
  19237. function isRequired(e) { var _b; return "error" === ((_b = e.validate) === null || _b === void 0 ? void 0 : _b.nullTest); }
  19238. function setTabIndex(e) { for (; e;) {
  19239. if (!e.traversal) {
  19240. e[An] = e[pr]()[An];
  19241. return;
  19242. }
  19243. if (e[An])
  19244. return;
  19245. var t_385 = null;
  19246. for (var _b = 0, _k = e.traversal[Er](); _b < _k.length; _b++) {
  19247. var i_320 = _k[_b];
  19248. if ("next" === i_320.operation) {
  19249. t_385 = i_320;
  19250. break;
  19251. }
  19252. }
  19253. if (!t_385 || !t_385.ref) {
  19254. e[An] = e[pr]()[An];
  19255. return;
  19256. }
  19257. var i_321 = e[mr]();
  19258. e[An] = ++i_321[An];
  19259. var a_257 = i_321[Vr](t_385.ref, e);
  19260. if (!a_257)
  19261. return;
  19262. e = a_257[0];
  19263. } }
  19264. function applyAssist(e, t) { var _b; var i = e.assist; if (i) {
  19265. var e_524 = i[an]();
  19266. e_524 && (t.title = e_524);
  19267. var a_258 = i.role.match(Yn);
  19268. if (a_258) {
  19269. var e_525 = "heading", i_322 = a_258[1];
  19270. t.role = e_525;
  19271. t["aria-level"] = i_322;
  19272. }
  19273. } if ("table" === e.layout)
  19274. t.role = "table";
  19275. else if ("row" === e.layout)
  19276. t.role = "row";
  19277. else {
  19278. var i_323 = e[pr]();
  19279. "row" === i_323.layout && (t.role = "TH" === ((_b = i_323.assist) === null || _b === void 0 ? void 0 : _b.role) ? "columnheader" : "cell");
  19280. } }
  19281. function ariaLabel(e) { if (!e.assist)
  19282. return null; var t = e.assist; return t.speak && "" !== t.speak[er] ? t.speak[er] : t.toolTip ? t.toolTip[er] : null; }
  19283. function valueToHtml(e) { return HTMLResult.success({ name: "div", attributes: { class: ["xfaRich"], style: Object.create(null) }, children: [{ name: "span", attributes: { style: Object.create(null) }, value: e }] }); }
  19284. function setFirstUnsplittable(e) { var t = e[mr](); if (null === t[ar].firstUnsplittable) {
  19285. t[ar].firstUnsplittable = e;
  19286. t[ar].noLayoutFailure = !0;
  19287. } }
  19288. function unsetFirstUnsplittable(e) { var t = e[mr](); t[ar].firstUnsplittable === e && (t[ar].noLayoutFailure = !1); }
  19289. function handleBreak(e) { if (e[ar])
  19290. return !1; e[ar] = Object.create(null); if ("auto" === e.targetType)
  19291. return !1; var t = e[mr](); var i = null; if (e.target) {
  19292. i = t[Vr](e.target, e[pr]());
  19293. if (!i)
  19294. return !1;
  19295. i = i[0];
  19296. } var _b = t[ar], a = _b.currentPageArea, s = _b.currentContentArea; if ("pageArea" === e.targetType) {
  19297. i instanceof PageArea || (i = null);
  19298. if (e.startNew) {
  19299. e[ar].target = i || a;
  19300. return !0;
  19301. }
  19302. if (i && i !== a) {
  19303. e[ar].target = i;
  19304. return !0;
  19305. }
  19306. return !1;
  19307. } i instanceof ContentArea || (i = null); var r = i && i[pr](); var n, o = r; if (e.startNew)
  19308. if (i) {
  19309. var e_526 = r.contentArea.children, t_386 = e_526.indexOf(s), a_259 = e_526.indexOf(i);
  19310. -1 !== t_386 && t_386 < a_259 && (o = null);
  19311. n = a_259 - 1;
  19312. }
  19313. else
  19314. n = a.contentArea.children.indexOf(s);
  19315. else {
  19316. if (!i || i === s)
  19317. return !1;
  19318. n = r.contentArea.children.indexOf(i) - 1;
  19319. o = r === a ? null : r;
  19320. } e[ar].target = o; e[ar].index = n; return !0; }
  19321. function handleOverflow(e, t, i) { var a = e[mr](), s = a[ar].noLayoutFailure, r = t[fr]; t[fr] = function () { return e; }; a[ar].noLayoutFailure = !0; var n = t[an](i); e[Xs](n.html, n.bbox); a[ar].noLayoutFailure = s; t[fr] = r; }
  19322. var AppearanceFilter = /** @class */ (function (_super) {
  19323. tslib_1.__extends(AppearanceFilter, _super);
  19324. function AppearanceFilter(e) {
  19325. var _this = _super.call(this, Jn, "appearanceFilter") || this;
  19326. _this.id = e.id || "";
  19327. _this.type = getStringOption(e.type, ["optional", "required"]);
  19328. _this.use = e.use || "";
  19329. _this.usehref = e.usehref || "";
  19330. return _this;
  19331. }
  19332. return AppearanceFilter;
  19333. }(StringObject));
  19334. var Arc = /** @class */ (function (_super) {
  19335. tslib_1.__extends(Arc, _super);
  19336. function Arc(e) {
  19337. var _this = _super.call(this, Jn, "arc", !0) || this;
  19338. _this.circular = getInteger({ data: e.circular, defaultValue: 0, validate: function (e) { return 1 === e; } });
  19339. _this.hand = getStringOption(e.hand, ["even", "left", "right"]);
  19340. _this.id = e.id || "";
  19341. _this.startAngle = getFloat({ data: e.startAngle, defaultValue: 0, validate: function (e) { return !0; } });
  19342. _this.sweepAngle = getFloat({ data: e.sweepAngle, defaultValue: 360, validate: function (e) { return !0; } });
  19343. _this.use = e.use || "";
  19344. _this.usehref = e.usehref || "";
  19345. _this.edge = null;
  19346. _this.fill = null;
  19347. return _this;
  19348. }
  19349. Arc.prototype[an] = function () { var _b; var e = this.edge || new Edge({}), t = e[rn](), i = Object.create(null); "visible" === ((_b = this.fill) === null || _b === void 0 ? void 0 : _b.presence) ? Object.assign(i, this.fill[rn]()) : i.fill = "transparent"; i.strokeWidth = measureToString("visible" === e.presence ? e.thickness : 0); i.stroke = t.color; var a; var s = { xmlns: Hn, style: { width: "100%", height: "100%", overflow: "visible" } }; if (360 === this.sweepAngle)
  19350. a = { name: "ellipse", attributes: { xmlns: Hn, cx: "50%", cy: "50%", rx: "50%", ry: "50%", style: i } };
  19351. else {
  19352. var e_527 = this.startAngle * Math.PI / 180, t_387 = this.sweepAngle * Math.PI / 180, r_138 = this.sweepAngle > 180 ? 1 : 0, _k = [50 * (1 + Math.cos(e_527)), 50 * (1 - Math.sin(e_527)), 50 * (1 + Math.cos(e_527 + t_387)), 50 * (1 - Math.sin(e_527 + t_387))], n_93 = _k[0], o_66 = _k[1], g_49 = _k[2], c_40 = _k[3];
  19353. a = { name: "path", attributes: { xmlns: Hn, d: "M ".concat(n_93, " ").concat(o_66, " A 50 50 0 ").concat(r_138, " 0 ").concat(g_49, " ").concat(c_40), vectorEffect: "non-scaling-stroke", style: i } };
  19354. Object.assign(s, { viewBox: "0 0 100 100", preserveAspectRatio: "none" });
  19355. } var r = { name: "svg", children: [a], attributes: s }; if (hasMargin(this[pr]()[pr]()))
  19356. return HTMLResult.success({ name: "div", attributes: { style: { display: "inline", width: "100%", height: "100%" } }, children: [r] }); r.attributes.style.position = "absolute"; return HTMLResult.success(r); };
  19357. return Arc;
  19358. }(XFAObject));
  19359. var Area = /** @class */ (function (_super) {
  19360. tslib_1.__extends(Area, _super);
  19361. function Area(e) {
  19362. var _this = _super.call(this, Jn, "area", !0) || this;
  19363. _this.colSpan = getInteger({ data: e.colSpan, defaultValue: 1, validate: function (e) { return e >= 1 || -1 === e; } });
  19364. _this.id = e.id || "";
  19365. _this.name = e.name || "";
  19366. _this.relevant = getRelevant(e.relevant);
  19367. _this.use = e.use || "";
  19368. _this.usehref = e.usehref || "";
  19369. _this.x = getMeasurement(e.x, "0pt");
  19370. _this.y = getMeasurement(e.y, "0pt");
  19371. _this.desc = null;
  19372. _this.extras = null;
  19373. _this.area = new XFAObjectArray;
  19374. _this.draw = new XFAObjectArray;
  19375. _this.exObject = new XFAObjectArray;
  19376. _this.exclGroup = new XFAObjectArray;
  19377. _this.field = new XFAObjectArray;
  19378. _this.subform = new XFAObjectArray;
  19379. _this.subformSet = new XFAObjectArray;
  19380. return _this;
  19381. }
  19382. Area.prototype[ur] = function () { return tslib_1.__generator(this, function (_b) {
  19383. switch (_b.label) {
  19384. case 0: return [5 /*yield**/, tslib_1.__values(getContainedChildren(this))];
  19385. case 1:
  19386. _b.sent();
  19387. return [2 /*return*/];
  19388. }
  19389. }); };
  19390. Area.prototype[Ur] = function () { return !0; };
  19391. Area.prototype[kr] = function () { return !0; };
  19392. Area.prototype[Xs] = function (e, t) { var i = t[0], a = t[1], s = t[2], r = t[3]; this[ar].width = Math.max(this[ar].width, i + s); this[ar].height = Math.max(this[ar].height, a + r); this[ar].children.push(e); };
  19393. Area.prototype[gr] = function () { return this[ar].availableSpace; };
  19394. Area.prototype[an] = function (e) { var t = toStyle(this, "position"), i = { style: t, id: this[nn], class: ["xfaArea"] }; isPrintOnly(this) && i.class.push("xfaPrintOnly"); this.name && (i.xfaName = this.name); var a = []; this[ar] = { children: a, width: 0, height: 0, availableSpace: e }; var s = this[Zs]({ filter: new Set(["area", "draw", "field", "exclGroup", "subform", "subformSet"]), include: !0 }); if (!s.success) {
  19395. if (s.isBreak())
  19396. return s;
  19397. delete this[ar];
  19398. return HTMLResult.FAILURE;
  19399. } t.width = measureToString(this[ar].width); t.height = measureToString(this[ar].height); var r = { name: "div", attributes: i, children: a }, n = [this.x, this.y, this[ar].width, this[ar].height]; delete this[ar]; return HTMLResult.success(r, n); };
  19400. return Area;
  19401. }(XFAObject));
  19402. var Assist = /** @class */ (function (_super) {
  19403. tslib_1.__extends(Assist, _super);
  19404. function Assist(e) {
  19405. var _this = _super.call(this, Jn, "assist", !0) || this;
  19406. _this.id = e.id || "";
  19407. _this.role = e.role || "";
  19408. _this.use = e.use || "";
  19409. _this.usehref = e.usehref || "";
  19410. _this.speak = null;
  19411. _this.toolTip = null;
  19412. return _this;
  19413. }
  19414. Assist.prototype[an] = function () { var _b; return ((_b = this.toolTip) === null || _b === void 0 ? void 0 : _b[er]) || null; };
  19415. return Assist;
  19416. }(XFAObject));
  19417. var Barcode = /** @class */ (function (_super) {
  19418. tslib_1.__extends(Barcode, _super);
  19419. function Barcode(e) {
  19420. var _this = _super.call(this, Jn, "barcode", !0) || this;
  19421. _this.charEncoding = getKeyword({ data: e.charEncoding ? e.charEncoding.toLowerCase() : "", defaultValue: "", validate: function (e) { return ["utf-8", "big-five", "fontspecific", "gbk", "gb-18030", "gb-2312", "ksc-5601", "none", "shift-jis", "ucs-2", "utf-16"].includes(e) || e.match(/iso-8859-\d{2}/); } });
  19422. _this.checksum = getStringOption(e.checksum, ["none", "1mod10", "1mod10_1mod11", "2mod10", "auto"]);
  19423. _this.dataColumnCount = getInteger({ data: e.dataColumnCount, defaultValue: -1, validate: function (e) { return e >= 0; } });
  19424. _this.dataLength = getInteger({ data: e.dataLength, defaultValue: -1, validate: function (e) { return e >= 0; } });
  19425. _this.dataPrep = getStringOption(e.dataPrep, ["none", "flateCompress"]);
  19426. _this.dataRowCount = getInteger({ data: e.dataRowCount, defaultValue: -1, validate: function (e) { return e >= 0; } });
  19427. _this.endChar = e.endChar || "";
  19428. _this.errorCorrectionLevel = getInteger({ data: e.errorCorrectionLevel, defaultValue: -1, validate: function (e) { return e >= 0 && e <= 8; } });
  19429. _this.id = e.id || "";
  19430. _this.moduleHeight = getMeasurement(e.moduleHeight, "5mm");
  19431. _this.moduleWidth = getMeasurement(e.moduleWidth, "0.25mm");
  19432. _this.printCheckDigit = getInteger({ data: e.printCheckDigit, defaultValue: 0, validate: function (e) { return 1 === e; } });
  19433. _this.rowColumnRatio = getRatio(e.rowColumnRatio);
  19434. _this.startChar = e.startChar || "";
  19435. _this.textLocation = getStringOption(e.textLocation, ["below", "above", "aboveEmbedded", "belowEmbedded", "none"]);
  19436. _this.truncate = getInteger({ data: e.truncate, defaultValue: 0, validate: function (e) { return 1 === e; } });
  19437. _this.type = getStringOption(e.type ? e.type.toLowerCase() : "", ["aztec", "codabar", "code2of5industrial", "code2of5interleaved", "code2of5matrix", "code2of5standard", "code3of9", "code3of9extended", "code11", "code49", "code93", "code128", "code128a", "code128b", "code128c", "code128sscc", "datamatrix", "ean8", "ean8add2", "ean8add5", "ean13", "ean13add2", "ean13add5", "ean13pwcd", "fim", "logmars", "maxicode", "msi", "pdf417", "pdf417macro", "plessey", "postauscust2", "postauscust3", "postausreplypaid", "postausstandard", "postukrm4scc", "postusdpbc", "postusimb", "postusstandard", "postus5zip", "qrcode", "rfid", "rss14", "rss14expanded", "rss14limited", "rss14stacked", "rss14stackedomni", "rss14truncated", "telepen", "ucc128", "ucc128random", "ucc128sscc", "upca", "upcaadd2", "upcaadd5", "upcapwcd", "upce", "upceadd2", "upceadd5", "upcean2", "upcean5", "upsmaxicode"]);
  19438. _this.upsMode = getStringOption(e.upsMode, ["usCarrier", "internationalCarrier", "secureSymbol", "standardSymbol"]);
  19439. _this.use = e.use || "";
  19440. _this.usehref = e.usehref || "";
  19441. _this.wideNarrowRatio = getRatio(e.wideNarrowRatio);
  19442. _this.encrypt = null;
  19443. _this.extras = null;
  19444. return _this;
  19445. }
  19446. return Barcode;
  19447. }(XFAObject));
  19448. var Bind = /** @class */ (function (_super) {
  19449. tslib_1.__extends(Bind, _super);
  19450. function Bind(e) {
  19451. var _this = _super.call(this, Jn, "bind", !0) || this;
  19452. _this.match = getStringOption(e.match, ["once", "dataRef", "global", "none"]);
  19453. _this.ref = e.ref || "";
  19454. _this.picture = null;
  19455. return _this;
  19456. }
  19457. return Bind;
  19458. }(XFAObject));
  19459. var BindItems = /** @class */ (function (_super) {
  19460. tslib_1.__extends(BindItems, _super);
  19461. function BindItems(e) {
  19462. var _this = _super.call(this, Jn, "bindItems") || this;
  19463. _this.connection = e.connection || "";
  19464. _this.labelRef = e.labelRef || "";
  19465. _this.ref = e.ref || "";
  19466. _this.valueRef = e.valueRef || "";
  19467. return _this;
  19468. }
  19469. return BindItems;
  19470. }(XFAObject));
  19471. var Bookend = /** @class */ (function (_super) {
  19472. tslib_1.__extends(Bookend, _super);
  19473. function Bookend(e) {
  19474. var _this = _super.call(this, Jn, "bookend") || this;
  19475. _this.id = e.id || "";
  19476. _this.leader = e.leader || "";
  19477. _this.trailer = e.trailer || "";
  19478. _this.use = e.use || "";
  19479. _this.usehref = e.usehref || "";
  19480. return _this;
  19481. }
  19482. return Bookend;
  19483. }(XFAObject));
  19484. var BooleanElement = /** @class */ (function (_super) {
  19485. tslib_1.__extends(BooleanElement, _super);
  19486. function BooleanElement(e) {
  19487. var _this = _super.call(this, Jn, "boolean") || this;
  19488. _this.id = e.id || "";
  19489. _this.name = e.name || "";
  19490. _this.use = e.use || "";
  19491. _this.usehref = e.usehref || "";
  19492. return _this;
  19493. }
  19494. BooleanElement.prototype[an] = function (e) { return valueToHtml(1 === this[er] ? "1" : "0"); };
  19495. return BooleanElement;
  19496. }(Option01));
  19497. var Border = /** @class */ (function (_super) {
  19498. tslib_1.__extends(Border, _super);
  19499. function Border(e) {
  19500. var _this = _super.call(this, Jn, "border", !0) || this;
  19501. _this.break = getStringOption(e.break, ["close", "open"]);
  19502. _this.hand = getStringOption(e.hand, ["even", "left", "right"]);
  19503. _this.id = e.id || "";
  19504. _this.presence = getStringOption(e.presence, ["visible", "hidden", "inactive", "invisible"]);
  19505. _this.relevant = getRelevant(e.relevant);
  19506. _this.use = e.use || "";
  19507. _this.usehref = e.usehref || "";
  19508. _this.corner = new XFAObjectArray(4);
  19509. _this.edge = new XFAObjectArray(4);
  19510. _this.extras = null;
  19511. _this.fill = null;
  19512. _this.margin = null;
  19513. return _this;
  19514. }
  19515. Border.prototype[Cr] = function () { if (!this[ar]) {
  19516. var e_528 = this.edge.children.slice();
  19517. if (e_528.length < 4) {
  19518. var t_388 = e_528.at(-1) || new Edge({});
  19519. for (var i_324 = e_528.length; i_324 < 4; i_324++)
  19520. e_528.push(t_388);
  19521. }
  19522. var t_389 = e_528.map((function (e) { return e.thickness; })), i_325 = [0, 0, 0, 0];
  19523. if (this.margin) {
  19524. i_325[0] = this.margin.topInset;
  19525. i_325[1] = this.margin.rightInset;
  19526. i_325[2] = this.margin.bottomInset;
  19527. i_325[3] = this.margin.leftInset;
  19528. }
  19529. this[ar] = { widths: t_389, insets: i_325, edges: e_528 };
  19530. } return this[ar]; };
  19531. Border.prototype[rn] = function () { var _b; var e = this[Cr]().edges, t = e.map((function (e) { var t = e[rn](); t.color || (t.color = "#000000"); return t; })), i = Object.create(null); this.margin && Object.assign(i, this.margin[rn]()); "visible" === ((_b = this.fill) === null || _b === void 0 ? void 0 : _b.presence) && Object.assign(i, this.fill[rn]()); if (this.corner.children.some((function (e) { return 0 !== e.radius; }))) {
  19532. var e_529 = this.corner.children.map((function (e) { return e[rn](); }));
  19533. if (2 === e_529.length || 3 === e_529.length) {
  19534. var t_390 = e_529.at(-1);
  19535. for (var i_326 = e_529.length; i_326 < 4; i_326++)
  19536. e_529.push(t_390);
  19537. }
  19538. i.borderRadius = e_529.map((function (e) { return e.radius; })).join(" ");
  19539. } switch (this.presence) {
  19540. case "invisible":
  19541. case "hidden":
  19542. i.borderStyle = "";
  19543. break;
  19544. case "inactive":
  19545. i.borderStyle = "none";
  19546. break;
  19547. default: i.borderStyle = t.map((function (e) { return e.style; })).join(" ");
  19548. } i.borderWidth = t.map((function (e) { return e.width; })).join(" "); i.borderColor = t.map((function (e) { return e.color; })).join(" "); return i; };
  19549. return Border;
  19550. }(XFAObject));
  19551. var Break = /** @class */ (function (_super) {
  19552. tslib_1.__extends(Break, _super);
  19553. function Break(e) {
  19554. var _this = _super.call(this, Jn, "break", !0) || this;
  19555. _this.after = getStringOption(e.after, ["auto", "contentArea", "pageArea", "pageEven", "pageOdd"]);
  19556. _this.afterTarget = e.afterTarget || "";
  19557. _this.before = getStringOption(e.before, ["auto", "contentArea", "pageArea", "pageEven", "pageOdd"]);
  19558. _this.beforeTarget = e.beforeTarget || "";
  19559. _this.bookendLeader = e.bookendLeader || "";
  19560. _this.bookendTrailer = e.bookendTrailer || "";
  19561. _this.id = e.id || "";
  19562. _this.overflowLeader = e.overflowLeader || "";
  19563. _this.overflowTarget = e.overflowTarget || "";
  19564. _this.overflowTrailer = e.overflowTrailer || "";
  19565. _this.startNew = getInteger({ data: e.startNew, defaultValue: 0, validate: function (e) { return 1 === e; } });
  19566. _this.use = e.use || "";
  19567. _this.usehref = e.usehref || "";
  19568. _this.extras = null;
  19569. return _this;
  19570. }
  19571. return Break;
  19572. }(XFAObject));
  19573. var BreakAfter = /** @class */ (function (_super) {
  19574. tslib_1.__extends(BreakAfter, _super);
  19575. function BreakAfter(e) {
  19576. var _this = _super.call(this, Jn, "breakAfter", !0) || this;
  19577. _this.id = e.id || "";
  19578. _this.leader = e.leader || "";
  19579. _this.startNew = getInteger({ data: e.startNew, defaultValue: 0, validate: function (e) { return 1 === e; } });
  19580. _this.target = e.target || "";
  19581. _this.targetType = getStringOption(e.targetType, ["auto", "contentArea", "pageArea"]);
  19582. _this.trailer = e.trailer || "";
  19583. _this.use = e.use || "";
  19584. _this.usehref = e.usehref || "";
  19585. _this.script = null;
  19586. return _this;
  19587. }
  19588. return BreakAfter;
  19589. }(XFAObject));
  19590. var BreakBefore = /** @class */ (function (_super) {
  19591. tslib_1.__extends(BreakBefore, _super);
  19592. function BreakBefore(e) {
  19593. var _this = _super.call(this, Jn, "breakBefore", !0) || this;
  19594. _this.id = e.id || "";
  19595. _this.leader = e.leader || "";
  19596. _this.startNew = getInteger({ data: e.startNew, defaultValue: 0, validate: function (e) { return 1 === e; } });
  19597. _this.target = e.target || "";
  19598. _this.targetType = getStringOption(e.targetType, ["auto", "contentArea", "pageArea"]);
  19599. _this.trailer = e.trailer || "";
  19600. _this.use = e.use || "";
  19601. _this.usehref = e.usehref || "";
  19602. _this.script = null;
  19603. return _this;
  19604. }
  19605. BreakBefore.prototype[an] = function (e) { this[ar] = {}; return HTMLResult.FAILURE; };
  19606. return BreakBefore;
  19607. }(XFAObject));
  19608. var Button = /** @class */ (function (_super) {
  19609. tslib_1.__extends(Button, _super);
  19610. function Button(e) {
  19611. var _this = _super.call(this, Jn, "button", !0) || this;
  19612. _this.highlight = getStringOption(e.highlight, ["inverted", "none", "outline", "push"]);
  19613. _this.id = e.id || "";
  19614. _this.use = e.use || "";
  19615. _this.usehref = e.usehref || "";
  19616. _this.extras = null;
  19617. return _this;
  19618. }
  19619. Button.prototype[an] = function (e) { var t = this[pr]()[pr](), i = { name: "button", attributes: { id: this[nn], class: ["xfaButton"], style: {} }, children: [] }; for (var _b = 0, _k = t.event.children; _b < _k.length; _b++) {
  19620. var e_530 = _k[_b];
  19621. if ("click" !== e_530.activity || !e_530.script)
  19622. continue;
  19623. var t_391 = recoverJsURL(e_530.script[er]);
  19624. if (!t_391)
  19625. continue;
  19626. var a_260 = fixURL(t_391.url);
  19627. a_260 && i.children.push({ name: "a", attributes: { id: "link" + this[nn], href: a_260, newWindow: t_391.newWindow, class: ["xfaLink"], style: {} }, children: [] });
  19628. } return HTMLResult.success(i); };
  19629. return Button;
  19630. }(XFAObject));
  19631. var Calculate = /** @class */ (function (_super) {
  19632. tslib_1.__extends(Calculate, _super);
  19633. function Calculate(e) {
  19634. var _this = _super.call(this, Jn, "calculate", !0) || this;
  19635. _this.id = e.id || "";
  19636. _this.override = getStringOption(e.override, ["disabled", "error", "ignore", "warning"]);
  19637. _this.use = e.use || "";
  19638. _this.usehref = e.usehref || "";
  19639. _this.extras = null;
  19640. _this.message = null;
  19641. _this.script = null;
  19642. return _this;
  19643. }
  19644. return Calculate;
  19645. }(XFAObject));
  19646. var Caption = /** @class */ (function (_super) {
  19647. tslib_1.__extends(Caption, _super);
  19648. function Caption(e) {
  19649. var _this = _super.call(this, Jn, "caption", !0) || this;
  19650. _this.id = e.id || "";
  19651. _this.placement = getStringOption(e.placement, ["left", "bottom", "inline", "right", "top"]);
  19652. _this.presence = getStringOption(e.presence, ["visible", "hidden", "inactive", "invisible"]);
  19653. _this.reserve = Math.ceil(getMeasurement(e.reserve));
  19654. _this.use = e.use || "";
  19655. _this.usehref = e.usehref || "";
  19656. _this.extras = null;
  19657. _this.font = null;
  19658. _this.margin = null;
  19659. _this.para = null;
  19660. _this.value = null;
  19661. return _this;
  19662. }
  19663. Caption.prototype[$r] = function (e) { _setValue(this, e); };
  19664. Caption.prototype[Cr] = function (e) { if (!this[ar]) {
  19665. var t_392 = e.width, i_327 = e.height;
  19666. switch (this.placement) {
  19667. case "left":
  19668. case "right":
  19669. case "inline":
  19670. t_392 = this.reserve <= 0 ? t_392 : this.reserve;
  19671. break;
  19672. case "top":
  19673. case "bottom": i_327 = this.reserve <= 0 ? i_327 : this.reserve;
  19674. }
  19675. this[ar] = layoutNode(this, { width: t_392, height: i_327 });
  19676. } return this[ar]; };
  19677. Caption.prototype[an] = function (e) { if (!this.value)
  19678. return HTMLResult.EMPTY; this[Wr](); var t = this.value[an](e).html; if (!t) {
  19679. this[Pr]();
  19680. return HTMLResult.EMPTY;
  19681. } var i = this.reserve; if (this.reserve <= 0) {
  19682. var _b = this[Cr](e), t_393 = _b.w, i_328 = _b.h;
  19683. switch (this.placement) {
  19684. case "left":
  19685. case "right":
  19686. case "inline":
  19687. this.reserve = t_393;
  19688. break;
  19689. case "top":
  19690. case "bottom": this.reserve = i_328;
  19691. }
  19692. } var a = []; "string" == typeof t ? a.push({ name: "#text", value: t }) : a.push(t); var s = toStyle(this, "font", "margin", "visibility"); switch (this.placement) {
  19693. case "left":
  19694. case "right":
  19695. this.reserve > 0 && (s.width = measureToString(this.reserve));
  19696. break;
  19697. case "top":
  19698. case "bottom": this.reserve > 0 && (s.height = measureToString(this.reserve));
  19699. } setPara(this, null, t); this[Pr](); this.reserve = i; return HTMLResult.success({ name: "div", attributes: { style: s, class: ["xfaCaption"] }, children: a }); };
  19700. return Caption;
  19701. }(XFAObject));
  19702. var Certificate = /** @class */ (function (_super) {
  19703. tslib_1.__extends(Certificate, _super);
  19704. function Certificate(e) {
  19705. var _this = _super.call(this, Jn, "certificate") || this;
  19706. _this.id = e.id || "";
  19707. _this.name = e.name || "";
  19708. _this.use = e.use || "";
  19709. _this.usehref = e.usehref || "";
  19710. return _this;
  19711. }
  19712. return Certificate;
  19713. }(StringObject));
  19714. var Certificates = /** @class */ (function (_super) {
  19715. tslib_1.__extends(Certificates, _super);
  19716. function Certificates(e) {
  19717. var _this = _super.call(this, Jn, "certificates", !0) || this;
  19718. _this.credentialServerPolicy = getStringOption(e.credentialServerPolicy, ["optional", "required"]);
  19719. _this.id = e.id || "";
  19720. _this.url = e.url || "";
  19721. _this.urlPolicy = e.urlPolicy || "";
  19722. _this.use = e.use || "";
  19723. _this.usehref = e.usehref || "";
  19724. _this.encryption = null;
  19725. _this.issuers = null;
  19726. _this.keyUsage = null;
  19727. _this.oids = null;
  19728. _this.signing = null;
  19729. _this.subjectDNs = null;
  19730. return _this;
  19731. }
  19732. return Certificates;
  19733. }(XFAObject));
  19734. var CheckButton = /** @class */ (function (_super) {
  19735. tslib_1.__extends(CheckButton, _super);
  19736. function CheckButton(e) {
  19737. var _this = _super.call(this, Jn, "checkButton", !0) || this;
  19738. _this.id = e.id || "";
  19739. _this.mark = getStringOption(e.mark, ["default", "check", "circle", "cross", "diamond", "square", "star"]);
  19740. _this.shape = getStringOption(e.shape, ["square", "round"]);
  19741. _this.size = getMeasurement(e.size, "10pt");
  19742. _this.use = e.use || "";
  19743. _this.usehref = e.usehref || "";
  19744. _this.border = null;
  19745. _this.extras = null;
  19746. _this.margin = null;
  19747. return _this;
  19748. }
  19749. CheckButton.prototype[an] = function (e) { var _b, _k, _l; var t = toStyle("margin"), i = measureToString(this.size); t.width = t.height = i; var a, s, r; var n = this[pr]()[pr](), o = n.items.children.length && n.items.children[0][an]().html || [], g = { on: (void 0 !== o[0] ? o[0] : "on").toString(), off: (void 0 !== o[1] ? o[1] : "off").toString() }, c = (((_b = n.value) === null || _b === void 0 ? void 0 : _b[en]()) || "off") === g.on || void 0, h = n[fr](), l = n[nn]; var C; if (h instanceof ExclGroup) {
  19750. r = h[nn];
  19751. a = "radio";
  19752. s = "xfaRadio";
  19753. C = ((_k = h[tr]) === null || _k === void 0 ? void 0 : _k[nn]) || h[nn];
  19754. }
  19755. else {
  19756. a = "checkbox";
  19757. s = "xfaCheckbox";
  19758. C = ((_l = n[tr]) === null || _l === void 0 ? void 0 : _l[nn]) || n[nn];
  19759. } var Q = { name: "input", attributes: { class: [s], style: t, fieldId: l, dataId: C, type: a, checked: c, xfaOn: g.on, xfaOff: g.off, "aria-label": ariaLabel(n), "aria-required": !1 } }; r && (Q.attributes.name = r); if (isRequired(n)) {
  19760. Q.attributes["aria-required"] = !0;
  19761. Q.attributes.required = !0;
  19762. } return HTMLResult.success({ name: "label", attributes: { class: ["xfaLabel"] }, children: [Q] }); };
  19763. return CheckButton;
  19764. }(XFAObject));
  19765. var ChoiceList = /** @class */ (function (_super) {
  19766. tslib_1.__extends(ChoiceList, _super);
  19767. function ChoiceList(e) {
  19768. var _this = _super.call(this, Jn, "choiceList", !0) || this;
  19769. _this.commitOn = getStringOption(e.commitOn, ["select", "exit"]);
  19770. _this.id = e.id || "";
  19771. _this.open = getStringOption(e.open, ["userControl", "always", "multiSelect", "onEntry"]);
  19772. _this.textEntry = getInteger({ data: e.textEntry, defaultValue: 0, validate: function (e) { return 1 === e; } });
  19773. _this.use = e.use || "";
  19774. _this.usehref = e.usehref || "";
  19775. _this.border = null;
  19776. _this.extras = null;
  19777. _this.margin = null;
  19778. return _this;
  19779. }
  19780. ChoiceList.prototype[an] = function (e) { var _b, _k, _l; var t = toStyle(this, "border", "margin"), i = this[pr]()[pr](), a = { fontSize: "calc(".concat(((_b = i.font) === null || _b === void 0 ? void 0 : _b.size) || 10, "px * var(--scale-factor))") }, s = []; if (i.items.children.length > 0) {
  19781. var e_531 = i.items;
  19782. var t_394 = 0, r_139 = 0;
  19783. if (2 === e_531.children.length) {
  19784. t_394 = e_531.children[0].save;
  19785. r_139 = 1 - t_394;
  19786. }
  19787. var n_94 = e_531.children[t_394][an]().html, o_67 = e_531.children[r_139][an]().html;
  19788. var g_50 = !1;
  19789. var c_41 = ((_k = i.value) === null || _k === void 0 ? void 0 : _k[en]()) || "";
  19790. for (var e_532 = 0, t_395 = n_94.length; e_532 < t_395; e_532++) {
  19791. var t_396 = { name: "option", attributes: { value: o_67[e_532] || n_94[e_532], style: a }, value: n_94[e_532] };
  19792. o_67[e_532] === c_41 && (t_396.attributes.selected = g_50 = !0);
  19793. s.push(t_396);
  19794. }
  19795. g_50 || s.splice(0, 0, { name: "option", attributes: { hidden: !0, selected: !0 }, value: " " });
  19796. } var r = { class: ["xfaSelect"], fieldId: i[nn], dataId: ((_l = i[tr]) === null || _l === void 0 ? void 0 : _l[nn]) || i[nn], style: t, "aria-label": ariaLabel(i), "aria-required": !1 }; if (isRequired(i)) {
  19797. r["aria-required"] = !0;
  19798. r.required = !0;
  19799. } "multiSelect" === this.open && (r.multiple = !0); return HTMLResult.success({ name: "label", attributes: { class: ["xfaLabel"] }, children: [{ name: "select", children: s, attributes: r }] }); };
  19800. return ChoiceList;
  19801. }(XFAObject));
  19802. var Color = /** @class */ (function (_super) {
  19803. tslib_1.__extends(Color, _super);
  19804. function Color(e) {
  19805. var _this = _super.call(this, Jn, "color", !0) || this;
  19806. _this.cSpace = getStringOption(e.cSpace, ["SRGB"]);
  19807. _this.id = e.id || "";
  19808. _this.use = e.use || "";
  19809. _this.usehref = e.usehref || "";
  19810. _this.value = e.value ? function getColor(e, t) {
  19811. if (t === void 0) { t = [0, 0, 0]; }
  19812. var i = t[0], a = t[1], s = t[2];
  19813. if (!e)
  19814. return { r: i, g: a, b: s };
  19815. var r = e.trim().split(/\s*,\s*/).map((function (e) { return Math.min(Math.max(0, parseInt(e.trim(), 10)), 255); })).map((function (e) { return isNaN(e) ? 0 : e; }));
  19816. if (r.length < 3)
  19817. return { r: i, g: a, b: s };
  19818. i = r[0], a = r[1], s = r[2];
  19819. return { r: i, g: a, b: s };
  19820. }(e.value) : "";
  19821. _this.extras = null;
  19822. return _this;
  19823. }
  19824. Color.prototype[wr] = function () { return !1; };
  19825. Color.prototype[rn] = function () { return this.value ? Util.makeHexColor(this.value.r, this.value.g, this.value.b) : null; };
  19826. return Color;
  19827. }(XFAObject));
  19828. var Comb = /** @class */ (function (_super) {
  19829. tslib_1.__extends(Comb, _super);
  19830. function Comb(e) {
  19831. var _this = _super.call(this, Jn, "comb") || this;
  19832. _this.id = e.id || "";
  19833. _this.numberOfCells = getInteger({ data: e.numberOfCells, defaultValue: 0, validate: function (e) { return e >= 0; } });
  19834. _this.use = e.use || "";
  19835. _this.usehref = e.usehref || "";
  19836. return _this;
  19837. }
  19838. return Comb;
  19839. }(XFAObject));
  19840. var Connect = /** @class */ (function (_super) {
  19841. tslib_1.__extends(Connect, _super);
  19842. function Connect(e) {
  19843. var _this = _super.call(this, Jn, "connect", !0) || this;
  19844. _this.connection = e.connection || "";
  19845. _this.id = e.id || "";
  19846. _this.ref = e.ref || "";
  19847. _this.usage = getStringOption(e.usage, ["exportAndImport", "exportOnly", "importOnly"]);
  19848. _this.use = e.use || "";
  19849. _this.usehref = e.usehref || "";
  19850. _this.picture = null;
  19851. return _this;
  19852. }
  19853. return Connect;
  19854. }(XFAObject));
  19855. var ContentArea = /** @class */ (function (_super) {
  19856. tslib_1.__extends(ContentArea, _super);
  19857. function ContentArea(e) {
  19858. var _this = _super.call(this, Jn, "contentArea", !0) || this;
  19859. _this.h = getMeasurement(e.h);
  19860. _this.id = e.id || "";
  19861. _this.name = e.name || "";
  19862. _this.relevant = getRelevant(e.relevant);
  19863. _this.use = e.use || "";
  19864. _this.usehref = e.usehref || "";
  19865. _this.w = getMeasurement(e.w);
  19866. _this.x = getMeasurement(e.x, "0pt");
  19867. _this.y = getMeasurement(e.y, "0pt");
  19868. _this.desc = null;
  19869. _this.extras = null;
  19870. return _this;
  19871. }
  19872. ContentArea.prototype[an] = function (e) { var t = { left: measureToString(this.x), top: measureToString(this.y), width: measureToString(this.w), height: measureToString(this.h) }, i = ["xfaContentarea"]; isPrintOnly(this) && i.push("xfaPrintOnly"); return HTMLResult.success({ name: "div", children: [], attributes: { style: t, class: i, id: this[nn] } }); };
  19873. return ContentArea;
  19874. }(XFAObject));
  19875. var Corner = /** @class */ (function (_super) {
  19876. tslib_1.__extends(Corner, _super);
  19877. function Corner(e) {
  19878. var _this = _super.call(this, Jn, "corner", !0) || this;
  19879. _this.id = e.id || "";
  19880. _this.inverted = getInteger({ data: e.inverted, defaultValue: 0, validate: function (e) { return 1 === e; } });
  19881. _this.join = getStringOption(e.join, ["square", "round"]);
  19882. _this.presence = getStringOption(e.presence, ["visible", "hidden", "inactive", "invisible"]);
  19883. _this.radius = getMeasurement(e.radius);
  19884. _this.stroke = getStringOption(e.stroke, ["solid", "dashDot", "dashDotDot", "dashed", "dotted", "embossed", "etched", "lowered", "raised"]);
  19885. _this.thickness = getMeasurement(e.thickness, "0.5pt");
  19886. _this.use = e.use || "";
  19887. _this.usehref = e.usehref || "";
  19888. _this.color = null;
  19889. _this.extras = null;
  19890. return _this;
  19891. }
  19892. Corner.prototype[rn] = function () { var e = toStyle(this, "visibility"); e.radius = measureToString("square" === this.join ? 0 : this.radius); return e; };
  19893. return Corner;
  19894. }(XFAObject));
  19895. var DateElement = /** @class */ (function (_super) {
  19896. tslib_1.__extends(DateElement, _super);
  19897. function DateElement(e) {
  19898. var _this = _super.call(this, Jn, "date") || this;
  19899. _this.id = e.id || "";
  19900. _this.name = e.name || "";
  19901. _this.use = e.use || "";
  19902. _this.usehref = e.usehref || "";
  19903. return _this;
  19904. }
  19905. DateElement.prototype[sr] = function () { var e = this[er].trim(); this[er] = e ? new Date(e) : null; };
  19906. DateElement.prototype[an] = function (e) { return valueToHtml(this[er] ? this[er].toString() : ""); };
  19907. return DateElement;
  19908. }(ContentObject));
  19909. var DateTime = /** @class */ (function (_super) {
  19910. tslib_1.__extends(DateTime, _super);
  19911. function DateTime(e) {
  19912. var _this = _super.call(this, Jn, "dateTime") || this;
  19913. _this.id = e.id || "";
  19914. _this.name = e.name || "";
  19915. _this.use = e.use || "";
  19916. _this.usehref = e.usehref || "";
  19917. return _this;
  19918. }
  19919. DateTime.prototype[sr] = function () { var e = this[er].trim(); this[er] = e ? new Date(e) : null; };
  19920. DateTime.prototype[an] = function (e) { return valueToHtml(this[er] ? this[er].toString() : ""); };
  19921. return DateTime;
  19922. }(ContentObject));
  19923. var DateTimeEdit = /** @class */ (function (_super) {
  19924. tslib_1.__extends(DateTimeEdit, _super);
  19925. function DateTimeEdit(e) {
  19926. var _this = _super.call(this, Jn, "dateTimeEdit", !0) || this;
  19927. _this.hScrollPolicy = getStringOption(e.hScrollPolicy, ["auto", "off", "on"]);
  19928. _this.id = e.id || "";
  19929. _this.picker = getStringOption(e.picker, ["host", "none"]);
  19930. _this.use = e.use || "";
  19931. _this.usehref = e.usehref || "";
  19932. _this.border = null;
  19933. _this.comb = null;
  19934. _this.extras = null;
  19935. _this.margin = null;
  19936. return _this;
  19937. }
  19938. DateTimeEdit.prototype[an] = function (e) { var _b; var t = toStyle(this, "border", "font", "margin"), i = this[pr]()[pr](), a = { name: "input", attributes: { type: "text", fieldId: i[nn], dataId: ((_b = i[tr]) === null || _b === void 0 ? void 0 : _b[nn]) || i[nn], class: ["xfaTextfield"], style: t, "aria-label": ariaLabel(i), "aria-required": !1 } }; if (isRequired(i)) {
  19939. a.attributes["aria-required"] = !0;
  19940. a.attributes.required = !0;
  19941. } return HTMLResult.success({ name: "label", attributes: { class: ["xfaLabel"] }, children: [a] }); };
  19942. return DateTimeEdit;
  19943. }(XFAObject));
  19944. var Decimal = /** @class */ (function (_super) {
  19945. tslib_1.__extends(Decimal, _super);
  19946. function Decimal(e) {
  19947. var _this = _super.call(this, Jn, "decimal") || this;
  19948. _this.fracDigits = getInteger({ data: e.fracDigits, defaultValue: 2, validate: function (e) { return !0; } });
  19949. _this.id = e.id || "";
  19950. _this.leadDigits = getInteger({ data: e.leadDigits, defaultValue: -1, validate: function (e) { return !0; } });
  19951. _this.name = e.name || "";
  19952. _this.use = e.use || "";
  19953. _this.usehref = e.usehref || "";
  19954. return _this;
  19955. }
  19956. Decimal.prototype[sr] = function () { var e = parseFloat(this[er].trim()); this[er] = isNaN(e) ? null : e; };
  19957. Decimal.prototype[an] = function (e) { return valueToHtml(null !== this[er] ? this[er].toString() : ""); };
  19958. return Decimal;
  19959. }(ContentObject));
  19960. var DefaultUi = /** @class */ (function (_super) {
  19961. tslib_1.__extends(DefaultUi, _super);
  19962. function DefaultUi(e) {
  19963. var _this = _super.call(this, Jn, "defaultUi", !0) || this;
  19964. _this.id = e.id || "";
  19965. _this.use = e.use || "";
  19966. _this.usehref = e.usehref || "";
  19967. _this.extras = null;
  19968. return _this;
  19969. }
  19970. return DefaultUi;
  19971. }(XFAObject));
  19972. var Desc = /** @class */ (function (_super) {
  19973. tslib_1.__extends(Desc, _super);
  19974. function Desc(e) {
  19975. var _this = _super.call(this, Jn, "desc", !0) || this;
  19976. _this.id = e.id || "";
  19977. _this.use = e.use || "";
  19978. _this.usehref = e.usehref || "";
  19979. _this.boolean = new XFAObjectArray;
  19980. _this.date = new XFAObjectArray;
  19981. _this.dateTime = new XFAObjectArray;
  19982. _this.decimal = new XFAObjectArray;
  19983. _this.exData = new XFAObjectArray;
  19984. _this.float = new XFAObjectArray;
  19985. _this.image = new XFAObjectArray;
  19986. _this.integer = new XFAObjectArray;
  19987. _this.text = new XFAObjectArray;
  19988. _this.time = new XFAObjectArray;
  19989. return _this;
  19990. }
  19991. return Desc;
  19992. }(XFAObject));
  19993. var DigestMethod = /** @class */ (function (_super) {
  19994. tslib_1.__extends(DigestMethod, _super);
  19995. function DigestMethod(e) {
  19996. var _this = _super.call(this, Jn, "digestMethod", ["", "SHA1", "SHA256", "SHA512", "RIPEMD160"]) || this;
  19997. _this.id = e.id || "";
  19998. _this.use = e.use || "";
  19999. _this.usehref = e.usehref || "";
  20000. return _this;
  20001. }
  20002. return DigestMethod;
  20003. }(OptionObject));
  20004. var DigestMethods = /** @class */ (function (_super) {
  20005. tslib_1.__extends(DigestMethods, _super);
  20006. function DigestMethods(e) {
  20007. var _this = _super.call(this, Jn, "digestMethods", !0) || this;
  20008. _this.id = e.id || "";
  20009. _this.type = getStringOption(e.type, ["optional", "required"]);
  20010. _this.use = e.use || "";
  20011. _this.usehref = e.usehref || "";
  20012. _this.digestMethod = new XFAObjectArray;
  20013. return _this;
  20014. }
  20015. return DigestMethods;
  20016. }(XFAObject));
  20017. var Draw = /** @class */ (function (_super) {
  20018. tslib_1.__extends(Draw, _super);
  20019. function Draw(e) {
  20020. var _this = _super.call(this, Jn, "draw", !0) || this;
  20021. _this.anchorType = getStringOption(e.anchorType, ["topLeft", "bottomCenter", "bottomLeft", "bottomRight", "middleCenter", "middleLeft", "middleRight", "topCenter", "topRight"]);
  20022. _this.colSpan = getInteger({ data: e.colSpan, defaultValue: 1, validate: function (e) { return e >= 1 || -1 === e; } });
  20023. _this.h = e.h ? getMeasurement(e.h) : "";
  20024. _this.hAlign = getStringOption(e.hAlign, ["left", "center", "justify", "justifyAll", "radix", "right"]);
  20025. _this.id = e.id || "";
  20026. _this.locale = e.locale || "";
  20027. _this.maxH = getMeasurement(e.maxH, "0pt");
  20028. _this.maxW = getMeasurement(e.maxW, "0pt");
  20029. _this.minH = getMeasurement(e.minH, "0pt");
  20030. _this.minW = getMeasurement(e.minW, "0pt");
  20031. _this.name = e.name || "";
  20032. _this.presence = getStringOption(e.presence, ["visible", "hidden", "inactive", "invisible"]);
  20033. _this.relevant = getRelevant(e.relevant);
  20034. _this.rotate = getInteger({ data: e.rotate, defaultValue: 0, validate: function (e) { return e % 90 == 0; } });
  20035. _this.use = e.use || "";
  20036. _this.usehref = e.usehref || "";
  20037. _this.w = e.w ? getMeasurement(e.w) : "";
  20038. _this.x = getMeasurement(e.x, "0pt");
  20039. _this.y = getMeasurement(e.y, "0pt");
  20040. _this.assist = null;
  20041. _this.border = null;
  20042. _this.caption = null;
  20043. _this.desc = null;
  20044. _this.extras = null;
  20045. _this.font = null;
  20046. _this.keep = null;
  20047. _this.margin = null;
  20048. _this.para = null;
  20049. _this.traversal = null;
  20050. _this.ui = null;
  20051. _this.value = null;
  20052. _this.setProperty = new XFAObjectArray;
  20053. return _this;
  20054. }
  20055. Draw.prototype[$r] = function (e) { _setValue(this, e); };
  20056. Draw.prototype[an] = function (e) { setTabIndex(this); if ("hidden" === this.presence || "inactive" === this.presence)
  20057. return HTMLResult.EMPTY; fixDimensions(this); this[Wr](); var t = this.w, i = this.h, _b = layoutNode(this, e), a = _b.w, s = _b.h, r = _b.isBroken; if (a && "" === this.w) {
  20058. if (r && this[fr]()[Mr]()) {
  20059. this[Pr]();
  20060. return HTMLResult.FAILURE;
  20061. }
  20062. this.w = a;
  20063. } s && "" === this.h && (this.h = s); setFirstUnsplittable(this); if (!checkDimensions(this, e)) {
  20064. this.w = t;
  20065. this.h = i;
  20066. this[Pr]();
  20067. return HTMLResult.FAILURE;
  20068. } unsetFirstUnsplittable(this); var n = toStyle(this, "font", "hAlign", "dimensions", "position", "presence", "rotate", "anchorType", "border", "margin"); setMinMaxDimensions(this, n); if (n.margin) {
  20069. n.padding = n.margin;
  20070. delete n.margin;
  20071. } var o = ["xfaDraw"]; this.font && o.push("xfaFont"); isPrintOnly(this) && o.push("xfaPrintOnly"); var g = { style: n, id: this[nn], class: o }; this.name && (g.xfaName = this.name); var c = { name: "div", attributes: g, children: [] }; applyAssist(this, g); var h = computeBbox(this, c, e), l = this.value ? this.value[an](e).html : null; if (null === l) {
  20072. this.w = t;
  20073. this.h = i;
  20074. this[Pr]();
  20075. return HTMLResult.success(createWrapper(this, c), h);
  20076. } c.children.push(l); setPara(this, n, l); this.w = t; this.h = i; this[Pr](); return HTMLResult.success(createWrapper(this, c), h); };
  20077. return Draw;
  20078. }(XFAObject));
  20079. var Edge = /** @class */ (function (_super) {
  20080. tslib_1.__extends(Edge, _super);
  20081. function Edge(e) {
  20082. var _this = _super.call(this, Jn, "edge", !0) || this;
  20083. _this.cap = getStringOption(e.cap, ["square", "butt", "round"]);
  20084. _this.id = e.id || "";
  20085. _this.presence = getStringOption(e.presence, ["visible", "hidden", "inactive", "invisible"]);
  20086. _this.stroke = getStringOption(e.stroke, ["solid", "dashDot", "dashDotDot", "dashed", "dotted", "embossed", "etched", "lowered", "raised"]);
  20087. _this.thickness = getMeasurement(e.thickness, "0.5pt");
  20088. _this.use = e.use || "";
  20089. _this.usehref = e.usehref || "";
  20090. _this.color = null;
  20091. _this.extras = null;
  20092. return _this;
  20093. }
  20094. Edge.prototype[rn] = function () { var e = toStyle(this, "visibility"); Object.assign(e, { linecap: this.cap, width: measureToString(this.thickness), color: this.color ? this.color[rn]() : "#000000", style: "" }); if ("visible" !== this.presence)
  20095. e.style = "none";
  20096. else
  20097. switch (this.stroke) {
  20098. case "solid":
  20099. e.style = "solid";
  20100. break;
  20101. case "dashDot":
  20102. case "dashDotDot":
  20103. case "dashed":
  20104. e.style = "dashed";
  20105. break;
  20106. case "dotted":
  20107. e.style = "dotted";
  20108. break;
  20109. case "embossed":
  20110. e.style = "ridge";
  20111. break;
  20112. case "etched":
  20113. e.style = "groove";
  20114. break;
  20115. case "lowered":
  20116. e.style = "inset";
  20117. break;
  20118. case "raised": e.style = "outset";
  20119. } return e; };
  20120. return Edge;
  20121. }(XFAObject));
  20122. var Encoding = /** @class */ (function (_super) {
  20123. tslib_1.__extends(Encoding, _super);
  20124. function Encoding(e) {
  20125. var _this = _super.call(this, Jn, "encoding", ["adbe.x509.rsa_sha1", "adbe.pkcs7.detached", "adbe.pkcs7.sha1"]) || this;
  20126. _this.id = e.id || "";
  20127. _this.use = e.use || "";
  20128. _this.usehref = e.usehref || "";
  20129. return _this;
  20130. }
  20131. return Encoding;
  20132. }(OptionObject));
  20133. var Encodings = /** @class */ (function (_super) {
  20134. tslib_1.__extends(Encodings, _super);
  20135. function Encodings(e) {
  20136. var _this = _super.call(this, Jn, "encodings", !0) || this;
  20137. _this.id = e.id || "";
  20138. _this.type = getStringOption(e.type, ["optional", "required"]);
  20139. _this.use = e.use || "";
  20140. _this.usehref = e.usehref || "";
  20141. _this.encoding = new XFAObjectArray;
  20142. return _this;
  20143. }
  20144. return Encodings;
  20145. }(XFAObject));
  20146. var Encrypt = /** @class */ (function (_super) {
  20147. tslib_1.__extends(Encrypt, _super);
  20148. function Encrypt(e) {
  20149. var _this = _super.call(this, Jn, "encrypt", !0) || this;
  20150. _this.id = e.id || "";
  20151. _this.use = e.use || "";
  20152. _this.usehref = e.usehref || "";
  20153. _this.certificate = null;
  20154. return _this;
  20155. }
  20156. return Encrypt;
  20157. }(XFAObject));
  20158. var EncryptData = /** @class */ (function (_super) {
  20159. tslib_1.__extends(EncryptData, _super);
  20160. function EncryptData(e) {
  20161. var _this = _super.call(this, Jn, "encryptData", !0) || this;
  20162. _this.id = e.id || "";
  20163. _this.operation = getStringOption(e.operation, ["encrypt", "decrypt"]);
  20164. _this.target = e.target || "";
  20165. _this.use = e.use || "";
  20166. _this.usehref = e.usehref || "";
  20167. _this.filter = null;
  20168. _this.manifest = null;
  20169. return _this;
  20170. }
  20171. return EncryptData;
  20172. }(XFAObject));
  20173. var Encryption = /** @class */ (function (_super) {
  20174. tslib_1.__extends(Encryption, _super);
  20175. function Encryption(e) {
  20176. var _this = _super.call(this, Jn, "encryption", !0) || this;
  20177. _this.id = e.id || "";
  20178. _this.type = getStringOption(e.type, ["optional", "required"]);
  20179. _this.use = e.use || "";
  20180. _this.usehref = e.usehref || "";
  20181. _this.certificate = new XFAObjectArray;
  20182. return _this;
  20183. }
  20184. return Encryption;
  20185. }(XFAObject));
  20186. var EncryptionMethod = /** @class */ (function (_super) {
  20187. tslib_1.__extends(EncryptionMethod, _super);
  20188. function EncryptionMethod(e) {
  20189. var _this = _super.call(this, Jn, "encryptionMethod", ["", "AES256-CBC", "TRIPLEDES-CBC", "AES128-CBC", "AES192-CBC"]) || this;
  20190. _this.id = e.id || "";
  20191. _this.use = e.use || "";
  20192. _this.usehref = e.usehref || "";
  20193. return _this;
  20194. }
  20195. return EncryptionMethod;
  20196. }(OptionObject));
  20197. var EncryptionMethods = /** @class */ (function (_super) {
  20198. tslib_1.__extends(EncryptionMethods, _super);
  20199. function EncryptionMethods(e) {
  20200. var _this = _super.call(this, Jn, "encryptionMethods", !0) || this;
  20201. _this.id = e.id || "";
  20202. _this.type = getStringOption(e.type, ["optional", "required"]);
  20203. _this.use = e.use || "";
  20204. _this.usehref = e.usehref || "";
  20205. _this.encryptionMethod = new XFAObjectArray;
  20206. return _this;
  20207. }
  20208. return EncryptionMethods;
  20209. }(XFAObject));
  20210. var Event = /** @class */ (function (_super) {
  20211. tslib_1.__extends(Event, _super);
  20212. function Event(e) {
  20213. var _this = _super.call(this, Jn, "event", !0) || this;
  20214. _this.activity = getStringOption(e.activity, ["click", "change", "docClose", "docReady", "enter", "exit", "full", "indexChange", "initialize", "mouseDown", "mouseEnter", "mouseExit", "mouseUp", "postExecute", "postOpen", "postPrint", "postSave", "postSign", "postSubmit", "preExecute", "preOpen", "prePrint", "preSave", "preSign", "preSubmit", "ready", "validationState"]);
  20215. _this.id = e.id || "";
  20216. _this.listen = getStringOption(e.listen, ["refOnly", "refAndDescendents"]);
  20217. _this.name = e.name || "";
  20218. _this.ref = e.ref || "";
  20219. _this.use = e.use || "";
  20220. _this.usehref = e.usehref || "";
  20221. _this.extras = null;
  20222. _this.encryptData = null;
  20223. _this.execute = null;
  20224. _this.script = null;
  20225. _this.signData = null;
  20226. _this.submit = null;
  20227. return _this;
  20228. }
  20229. return Event;
  20230. }(XFAObject));
  20231. var ExData = /** @class */ (function (_super) {
  20232. tslib_1.__extends(ExData, _super);
  20233. function ExData(e) {
  20234. var _this = _super.call(this, Jn, "exData") || this;
  20235. _this.contentType = e.contentType || "";
  20236. _this.href = e.href || "";
  20237. _this.id = e.id || "";
  20238. _this.maxLength = getInteger({ data: e.maxLength, defaultValue: -1, validate: function (e) { return e >= -1; } });
  20239. _this.name = e.name || "";
  20240. _this.rid = e.rid || "";
  20241. _this.transferEncoding = getStringOption(e.transferEncoding, ["none", "base64", "package"]);
  20242. _this.use = e.use || "";
  20243. _this.usehref = e.usehref || "";
  20244. return _this;
  20245. }
  20246. ExData.prototype[Sr] = function () { return "text/html" === this.contentType; };
  20247. ExData.prototype[Kr] = function (e) { if ("text/html" === this.contentType && e[Hr] === gn.xhtml.id) {
  20248. this[er] = e;
  20249. return !0;
  20250. } if ("text/xml" === this.contentType) {
  20251. this[er] = e;
  20252. return !0;
  20253. } return !1; };
  20254. ExData.prototype[an] = function (e) { return "text/html" === this.contentType && this[er] ? this[er][an](e) : HTMLResult.EMPTY; };
  20255. return ExData;
  20256. }(ContentObject));
  20257. var ExObject = /** @class */ (function (_super) {
  20258. tslib_1.__extends(ExObject, _super);
  20259. function ExObject(e) {
  20260. var _this = _super.call(this, Jn, "exObject", !0) || this;
  20261. _this.archive = e.archive || "";
  20262. _this.classId = e.classId || "";
  20263. _this.codeBase = e.codeBase || "";
  20264. _this.codeType = e.codeType || "";
  20265. _this.id = e.id || "";
  20266. _this.name = e.name || "";
  20267. _this.use = e.use || "";
  20268. _this.usehref = e.usehref || "";
  20269. _this.extras = null;
  20270. _this.boolean = new XFAObjectArray;
  20271. _this.date = new XFAObjectArray;
  20272. _this.dateTime = new XFAObjectArray;
  20273. _this.decimal = new XFAObjectArray;
  20274. _this.exData = new XFAObjectArray;
  20275. _this.exObject = new XFAObjectArray;
  20276. _this.float = new XFAObjectArray;
  20277. _this.image = new XFAObjectArray;
  20278. _this.integer = new XFAObjectArray;
  20279. _this.text = new XFAObjectArray;
  20280. _this.time = new XFAObjectArray;
  20281. return _this;
  20282. }
  20283. return ExObject;
  20284. }(XFAObject));
  20285. var ExclGroup = /** @class */ (function (_super) {
  20286. tslib_1.__extends(ExclGroup, _super);
  20287. function ExclGroup(e) {
  20288. var _this = _super.call(this, Jn, "exclGroup", !0) || this;
  20289. _this.access = getStringOption(e.access, ["open", "nonInteractive", "protected", "readOnly"]);
  20290. _this.accessKey = e.accessKey || "";
  20291. _this.anchorType = getStringOption(e.anchorType, ["topLeft", "bottomCenter", "bottomLeft", "bottomRight", "middleCenter", "middleLeft", "middleRight", "topCenter", "topRight"]);
  20292. _this.colSpan = getInteger({ data: e.colSpan, defaultValue: 1, validate: function (e) { return e >= 1 || -1 === e; } });
  20293. _this.h = e.h ? getMeasurement(e.h) : "";
  20294. _this.hAlign = getStringOption(e.hAlign, ["left", "center", "justify", "justifyAll", "radix", "right"]);
  20295. _this.id = e.id || "";
  20296. _this.layout = getStringOption(e.layout, ["position", "lr-tb", "rl-row", "rl-tb", "row", "table", "tb"]);
  20297. _this.maxH = getMeasurement(e.maxH, "0pt");
  20298. _this.maxW = getMeasurement(e.maxW, "0pt");
  20299. _this.minH = getMeasurement(e.minH, "0pt");
  20300. _this.minW = getMeasurement(e.minW, "0pt");
  20301. _this.name = e.name || "";
  20302. _this.presence = getStringOption(e.presence, ["visible", "hidden", "inactive", "invisible"]);
  20303. _this.relevant = getRelevant(e.relevant);
  20304. _this.use = e.use || "";
  20305. _this.usehref = e.usehref || "";
  20306. _this.w = e.w ? getMeasurement(e.w) : "";
  20307. _this.x = getMeasurement(e.x, "0pt");
  20308. _this.y = getMeasurement(e.y, "0pt");
  20309. _this.assist = null;
  20310. _this.bind = null;
  20311. _this.border = null;
  20312. _this.calculate = null;
  20313. _this.caption = null;
  20314. _this.desc = null;
  20315. _this.extras = null;
  20316. _this.margin = null;
  20317. _this.para = null;
  20318. _this.traversal = null;
  20319. _this.validate = null;
  20320. _this.connect = new XFAObjectArray;
  20321. _this.event = new XFAObjectArray;
  20322. _this.field = new XFAObjectArray;
  20323. _this.setProperty = new XFAObjectArray;
  20324. return _this;
  20325. }
  20326. ExclGroup.prototype[kr] = function () { return !0; };
  20327. ExclGroup.prototype[wr] = function () { return !0; };
  20328. ExclGroup.prototype[$r] = function (e) { for (var _b = 0, _k = this.field.children; _b < _k.length; _b++) {
  20329. var t_397 = _k[_b];
  20330. if (!t_397.value) {
  20331. var e_533 = new Value({});
  20332. t_397[js](e_533);
  20333. t_397.value = e_533;
  20334. }
  20335. t_397.value[$r](e);
  20336. } };
  20337. ExclGroup.prototype[Mr] = function () { return this.layout.endsWith("-tb") && 0 === this[ar].attempt && this[ar].numberInLine > 0 || this[pr]()[Mr](); };
  20338. ExclGroup.prototype[xr] = function () { var _b; var e = this[fr](); if (!e[xr]())
  20339. return !1; if (void 0 !== this[ar]._isSplittable)
  20340. return this[ar]._isSplittable; if ("position" === this.layout || this.layout.includes("row")) {
  20341. this[ar]._isSplittable = !1;
  20342. return !1;
  20343. } if (((_b = e.layout) === null || _b === void 0 ? void 0 : _b.endsWith("-tb")) && 0 !== e[ar].numberInLine)
  20344. return !1; this[ar]._isSplittable = !0; return !0; };
  20345. ExclGroup.prototype[rr] = function () { return flushHTML(this); };
  20346. ExclGroup.prototype[Xs] = function (e, t) { addHTML(this, e, t); };
  20347. ExclGroup.prototype[gr] = function () { return getAvailableSpace(this); };
  20348. ExclGroup.prototype[an] = function (e) { setTabIndex(this); if ("hidden" === this.presence || "inactive" === this.presence || 0 === this.h || 0 === this.w)
  20349. return HTMLResult.EMPTY; fixDimensions(this); var t = [], i = { id: this[nn], class: [] }; setAccess(this, i.class); this[ar] || (this[ar] = Object.create(null)); Object.assign(this[ar], { children: t, attributes: i, attempt: 0, line: null, numberInLine: 0, availableSpace: { width: Math.min(this.w || 1 / 0, e.width), height: Math.min(this.h || 1 / 0, e.height) }, width: 0, height: 0, prevHeight: 0, currentWidth: 0 }); var a = this[xr](); a || setFirstUnsplittable(this); if (!checkDimensions(this, e))
  20350. return HTMLResult.FAILURE; var s = new Set(["field"]); if (this.layout.includes("row")) {
  20351. var e_534 = this[fr]().columnWidths;
  20352. if (Array.isArray(e_534) && e_534.length > 0) {
  20353. this[ar].columnWidths = e_534;
  20354. this[ar].currentColumn = 0;
  20355. }
  20356. } var r = toStyle(this, "anchorType", "dimensions", "position", "presence", "border", "margin", "hAlign"), n = ["xfaExclgroup"], o = layoutClass(this); o && n.push(o); isPrintOnly(this) && n.push("xfaPrintOnly"); i.style = r; i.class = n; this.name && (i.xfaName = this.name); this[Wr](); var g = "lr-tb" === this.layout || "rl-tb" === this.layout, c = g ? 2 : 1; for (; this[ar].attempt < c; this[ar].attempt++) {
  20357. g && 1 === this[ar].attempt && (this[ar].numberInLine = 0);
  20358. var e_535 = this[Zs]({ filter: s, include: !0 });
  20359. if (e_535.success)
  20360. break;
  20361. if (e_535.isBreak()) {
  20362. this[Pr]();
  20363. return e_535;
  20364. }
  20365. if (g && 0 === this[ar].attempt && 0 === this[ar].numberInLine && !this[mr]()[ar].noLayoutFailure) {
  20366. this[ar].attempt = c;
  20367. break;
  20368. }
  20369. } this[Pr](); a || unsetFirstUnsplittable(this); if (this[ar].attempt === c) {
  20370. a || delete this[ar];
  20371. return HTMLResult.FAILURE;
  20372. } var h = 0, l = 0; if (this.margin) {
  20373. h = this.margin.leftInset + this.margin.rightInset;
  20374. l = this.margin.topInset + this.margin.bottomInset;
  20375. } var C = Math.max(this[ar].width + h, this.w || 0), Q = Math.max(this[ar].height + l, this.h || 0), E = [this.x, this.y, C, Q]; "" === this.w && (r.width = measureToString(C)); "" === this.h && (r.height = measureToString(Q)); var u = { name: "div", attributes: i, children: t }; applyAssist(this, i); delete this[ar]; return HTMLResult.success(createWrapper(this, u), E); };
  20376. return ExclGroup;
  20377. }(XFAObject));
  20378. var Execute = /** @class */ (function (_super) {
  20379. tslib_1.__extends(Execute, _super);
  20380. function Execute(e) {
  20381. var _this = _super.call(this, Jn, "execute") || this;
  20382. _this.connection = e.connection || "";
  20383. _this.executeType = getStringOption(e.executeType, ["import", "remerge"]);
  20384. _this.id = e.id || "";
  20385. _this.runAt = getStringOption(e.runAt, ["client", "both", "server"]);
  20386. _this.use = e.use || "";
  20387. _this.usehref = e.usehref || "";
  20388. return _this;
  20389. }
  20390. return Execute;
  20391. }(XFAObject));
  20392. var Extras = /** @class */ (function (_super) {
  20393. tslib_1.__extends(Extras, _super);
  20394. function Extras(e) {
  20395. var _this = _super.call(this, Jn, "extras", !0) || this;
  20396. _this.id = e.id || "";
  20397. _this.name = e.name || "";
  20398. _this.use = e.use || "";
  20399. _this.usehref = e.usehref || "";
  20400. _this.boolean = new XFAObjectArray;
  20401. _this.date = new XFAObjectArray;
  20402. _this.dateTime = new XFAObjectArray;
  20403. _this.decimal = new XFAObjectArray;
  20404. _this.exData = new XFAObjectArray;
  20405. _this.extras = new XFAObjectArray;
  20406. _this.float = new XFAObjectArray;
  20407. _this.image = new XFAObjectArray;
  20408. _this.integer = new XFAObjectArray;
  20409. _this.text = new XFAObjectArray;
  20410. _this.time = new XFAObjectArray;
  20411. return _this;
  20412. }
  20413. return Extras;
  20414. }(XFAObject));
  20415. var Field = /** @class */ (function (_super) {
  20416. tslib_1.__extends(Field, _super);
  20417. function Field(e) {
  20418. var _this = _super.call(this, Jn, "field", !0) || this;
  20419. _this.access = getStringOption(e.access, ["open", "nonInteractive", "protected", "readOnly"]);
  20420. _this.accessKey = e.accessKey || "";
  20421. _this.anchorType = getStringOption(e.anchorType, ["topLeft", "bottomCenter", "bottomLeft", "bottomRight", "middleCenter", "middleLeft", "middleRight", "topCenter", "topRight"]);
  20422. _this.colSpan = getInteger({ data: e.colSpan, defaultValue: 1, validate: function (e) { return e >= 1 || -1 === e; } });
  20423. _this.h = e.h ? getMeasurement(e.h) : "";
  20424. _this.hAlign = getStringOption(e.hAlign, ["left", "center", "justify", "justifyAll", "radix", "right"]);
  20425. _this.id = e.id || "";
  20426. _this.locale = e.locale || "";
  20427. _this.maxH = getMeasurement(e.maxH, "0pt");
  20428. _this.maxW = getMeasurement(e.maxW, "0pt");
  20429. _this.minH = getMeasurement(e.minH, "0pt");
  20430. _this.minW = getMeasurement(e.minW, "0pt");
  20431. _this.name = e.name || "";
  20432. _this.presence = getStringOption(e.presence, ["visible", "hidden", "inactive", "invisible"]);
  20433. _this.relevant = getRelevant(e.relevant);
  20434. _this.rotate = getInteger({ data: e.rotate, defaultValue: 0, validate: function (e) { return e % 90 == 0; } });
  20435. _this.use = e.use || "";
  20436. _this.usehref = e.usehref || "";
  20437. _this.w = e.w ? getMeasurement(e.w) : "";
  20438. _this.x = getMeasurement(e.x, "0pt");
  20439. _this.y = getMeasurement(e.y, "0pt");
  20440. _this.assist = null;
  20441. _this.bind = null;
  20442. _this.border = null;
  20443. _this.calculate = null;
  20444. _this.caption = null;
  20445. _this.desc = null;
  20446. _this.extras = null;
  20447. _this.font = null;
  20448. _this.format = null;
  20449. _this.items = new XFAObjectArray(2);
  20450. _this.keep = null;
  20451. _this.margin = null;
  20452. _this.para = null;
  20453. _this.traversal = null;
  20454. _this.ui = null;
  20455. _this.validate = null;
  20456. _this.value = null;
  20457. _this.bindItems = new XFAObjectArray;
  20458. _this.connect = new XFAObjectArray;
  20459. _this.event = new XFAObjectArray;
  20460. _this.setProperty = new XFAObjectArray;
  20461. return _this;
  20462. }
  20463. Field.prototype[kr] = function () { return !0; };
  20464. Field.prototype[$r] = function (e) { _setValue(this, e); };
  20465. Field.prototype[an] = function (e) {
  20466. var _b;
  20467. var _k, _l, _m;
  20468. setTabIndex(this);
  20469. if (!this.ui) {
  20470. this.ui = new Ui({});
  20471. this.ui[yr] = this[yr];
  20472. this[js](this.ui);
  20473. var e_536;
  20474. switch (this.items.children.length) {
  20475. case 0:
  20476. e_536 = new TextEdit({});
  20477. this.ui.textEdit = e_536;
  20478. break;
  20479. case 1:
  20480. e_536 = new CheckButton({});
  20481. this.ui.checkButton = e_536;
  20482. break;
  20483. case 2:
  20484. e_536 = new ChoiceList({});
  20485. this.ui.choiceList = e_536;
  20486. }
  20487. this.ui[js](e_536);
  20488. }
  20489. if (!this.ui || "hidden" === this.presence || "inactive" === this.presence || 0 === this.h || 0 === this.w)
  20490. return HTMLResult.EMPTY;
  20491. this.caption && delete this.caption[ar];
  20492. this[Wr]();
  20493. var t = this.caption ? this.caption[an](e).html : null, i = this.w, a = this.h;
  20494. var s = 0, r = 0;
  20495. if (this.margin) {
  20496. s = this.margin.leftInset + this.margin.rightInset;
  20497. r = this.margin.topInset + this.margin.bottomInset;
  20498. }
  20499. var n = null;
  20500. if ("" === this.w || "" === this.h) {
  20501. var t_398 = null, i_329 = null, a_261 = 0, o_68 = 0;
  20502. if (this.ui.checkButton)
  20503. a_261 = o_68 = this.ui.checkButton.size;
  20504. else {
  20505. var _o = layoutNode(this, e), t_399 = _o.w, i_330 = _o.h;
  20506. if (null !== t_399) {
  20507. a_261 = t_399;
  20508. o_68 = i_330;
  20509. }
  20510. else
  20511. o_68 = function fonts_getMetrics(e, t) {
  20512. if (t === void 0) { t = !1; }
  20513. var i = null;
  20514. if (e) {
  20515. var t_400 = stripQuotes(e.typeface), a_262 = e[yr].fontFinder.find(t_400);
  20516. i = selectFont(e, a_262);
  20517. }
  20518. if (!i)
  20519. return { lineHeight: 12, lineGap: 2, lineNoGap: 10 };
  20520. var a = e.size || 10, s = i.lineHeight ? Math.max(t ? 0 : 1.2, i.lineHeight) : 1.2, r = void 0 === i.lineGap ? .2 : i.lineGap;
  20521. return { lineHeight: s * a, lineGap: r * a, lineNoGap: Math.max(1, s - r) * a };
  20522. }(this.font, !0).lineNoGap;
  20523. }
  20524. n = getBorderDims(this.ui[Cr]());
  20525. a_261 += n.w;
  20526. o_68 += n.h;
  20527. if (this.caption) {
  20528. var _p = this.caption[Cr](e), s_177 = _p.w, r_140 = _p.h, n_95 = _p.isBroken;
  20529. if (n_95 && this[fr]()[Mr]()) {
  20530. this[Pr]();
  20531. return HTMLResult.FAILURE;
  20532. }
  20533. t_398 = s_177;
  20534. i_329 = r_140;
  20535. switch (this.caption.placement) {
  20536. case "left":
  20537. case "right":
  20538. case "inline":
  20539. t_398 += a_261;
  20540. break;
  20541. case "top":
  20542. case "bottom": i_329 += o_68;
  20543. }
  20544. }
  20545. else {
  20546. t_398 = a_261;
  20547. i_329 = o_68;
  20548. }
  20549. if (t_398 && "" === this.w) {
  20550. t_398 += s;
  20551. this.w = Math.min(this.maxW <= 0 ? 1 / 0 : this.maxW, this.minW + 1 < t_398 ? t_398 : this.minW);
  20552. }
  20553. if (i_329 && "" === this.h) {
  20554. i_329 += r;
  20555. this.h = Math.min(this.maxH <= 0 ? 1 / 0 : this.maxH, this.minH + 1 < i_329 ? i_329 : this.minH);
  20556. }
  20557. }
  20558. this[Pr]();
  20559. fixDimensions(this);
  20560. setFirstUnsplittable(this);
  20561. if (!checkDimensions(this, e)) {
  20562. this.w = i;
  20563. this.h = a;
  20564. this[Pr]();
  20565. return HTMLResult.FAILURE;
  20566. }
  20567. unsetFirstUnsplittable(this);
  20568. var o = toStyle(this, "font", "dimensions", "position", "rotate", "anchorType", "presence", "margin", "hAlign");
  20569. setMinMaxDimensions(this, o);
  20570. var g = ["xfaField"];
  20571. this.font && g.push("xfaFont");
  20572. isPrintOnly(this) && g.push("xfaPrintOnly");
  20573. var c = { style: o, id: this[nn], class: g };
  20574. if (o.margin) {
  20575. o.padding = o.margin;
  20576. delete o.margin;
  20577. }
  20578. setAccess(this, g);
  20579. this.name && (c.xfaName = this.name);
  20580. var h = [], l = { name: "div", attributes: c, children: h };
  20581. applyAssist(this, c);
  20582. var C = this.border ? this.border[rn]() : null, Q = computeBbox(this, l, e), E = this.ui[an]().html;
  20583. if (!E) {
  20584. Object.assign(o, C);
  20585. return HTMLResult.success(createWrapper(this, l), Q);
  20586. }
  20587. this[An] && (((_k = E.children) === null || _k === void 0 ? void 0 : _k[0]) ? E.children[0].attributes.tabindex = this[An] : E.attributes.tabindex = this[An]);
  20588. E.attributes.style || (E.attributes.style = Object.create(null));
  20589. var u = null;
  20590. if (this.ui.button) {
  20591. 1 === E.children.length && (_b = E.children.splice(0, 1), u = _b[0], _b);
  20592. Object.assign(E.attributes.style, C);
  20593. }
  20594. else
  20595. Object.assign(o, C);
  20596. h.push(E);
  20597. if (this.value)
  20598. if (this.ui.imageEdit)
  20599. E.children.push(this.value[an]().html);
  20600. else if (!this.ui.button) {
  20601. var e_537 = "";
  20602. if (this.value.exData)
  20603. e_537 = this.value.exData[en]();
  20604. else if (this.value.text)
  20605. e_537 = this.value.text[Cr]();
  20606. else {
  20607. var t_401 = this.value[an]().html;
  20608. null !== t_401 && (e_537 = t_401.children[0].value);
  20609. }
  20610. this.ui.textEdit && ((_l = this.value.text) === null || _l === void 0 ? void 0 : _l.maxChars) && (E.children[0].attributes.maxLength = this.value.text.maxChars);
  20611. if (e_537) {
  20612. if (this.ui.numericEdit) {
  20613. e_537 = parseFloat(e_537);
  20614. e_537 = isNaN(e_537) ? "" : e_537.toString();
  20615. }
  20616. "textarea" === E.children[0].name ? E.children[0].attributes.textContent = e_537 : E.children[0].attributes.value = e_537;
  20617. }
  20618. }
  20619. if (!this.ui.imageEdit && ((_m = E.children) === null || _m === void 0 ? void 0 : _m[0]) && this.h) {
  20620. n = n || getBorderDims(this.ui[Cr]());
  20621. var t_402 = 0;
  20622. if (this.caption && ["top", "bottom"].includes(this.caption.placement)) {
  20623. t_402 = this.caption.reserve;
  20624. t_402 <= 0 && (t_402 = this.caption[Cr](e).h);
  20625. var i_331 = this.h - t_402 - r - n.h;
  20626. E.children[0].attributes.style.height = measureToString(i_331);
  20627. }
  20628. else
  20629. E.children[0].attributes.style.height = "100%";
  20630. }
  20631. u && E.children.push(u);
  20632. if (!t) {
  20633. E.attributes.class && E.attributes.class.push("xfaLeft");
  20634. this.w = i;
  20635. this.h = a;
  20636. return HTMLResult.success(createWrapper(this, l), Q);
  20637. }
  20638. if (this.ui.button) {
  20639. o.padding && delete o.padding;
  20640. "div" === t.name && (t.name = "span");
  20641. E.children.push(t);
  20642. return HTMLResult.success(l, Q);
  20643. }
  20644. this.ui.checkButton && (t.attributes.class[0] = "xfaCaptionForCheckButton");
  20645. E.attributes.class || (E.attributes.class = []);
  20646. E.children.splice(0, 0, t);
  20647. switch (this.caption.placement) {
  20648. case "left":
  20649. case "inline":
  20650. E.attributes.class.push("xfaLeft");
  20651. break;
  20652. case "right":
  20653. E.attributes.class.push("xfaRight");
  20654. break;
  20655. case "top":
  20656. E.attributes.class.push("xfaTop");
  20657. break;
  20658. case "bottom": E.attributes.class.push("xfaBottom");
  20659. }
  20660. this.w = i;
  20661. this.h = a;
  20662. return HTMLResult.success(createWrapper(this, l), Q);
  20663. };
  20664. return Field;
  20665. }(XFAObject));
  20666. var Fill = /** @class */ (function (_super) {
  20667. tslib_1.__extends(Fill, _super);
  20668. function Fill(e) {
  20669. var _this = _super.call(this, Jn, "fill", !0) || this;
  20670. _this.id = e.id || "";
  20671. _this.presence = getStringOption(e.presence, ["visible", "hidden", "inactive", "invisible"]);
  20672. _this.use = e.use || "";
  20673. _this.usehref = e.usehref || "";
  20674. _this.color = null;
  20675. _this.extras = null;
  20676. _this.linear = null;
  20677. _this.pattern = null;
  20678. _this.radial = null;
  20679. _this.solid = null;
  20680. _this.stipple = null;
  20681. return _this;
  20682. }
  20683. Fill.prototype[rn] = function () { var _b; var e = this[pr](), t = e[pr]()[pr](), i = Object.create(null); var a = "color", s = a; if (e instanceof Border) {
  20684. a = "background-color";
  20685. s = "background";
  20686. t instanceof Ui && (i.backgroundColor = "white");
  20687. } if (e instanceof Rectangle || e instanceof Arc) {
  20688. a = s = "fill";
  20689. i.fill = "white";
  20690. } for (var _k = 0, _l = Object.getOwnPropertyNames(this); _k < _l.length; _k++) {
  20691. var e_538 = _l[_k];
  20692. if ("extras" === e_538 || "color" === e_538)
  20693. continue;
  20694. var t_403 = this[e_538];
  20695. if (!(t_403 instanceof XFAObject))
  20696. continue;
  20697. var r_141 = t_403[rn](this.color);
  20698. r_141 && (i[r_141.startsWith("#") ? a : s] = r_141);
  20699. return i;
  20700. } if ((_b = this.color) === null || _b === void 0 ? void 0 : _b.value) {
  20701. var e_539 = this.color[rn]();
  20702. i[e_539.startsWith("#") ? a : s] = e_539;
  20703. } return i; };
  20704. return Fill;
  20705. }(XFAObject));
  20706. var Filter = /** @class */ (function (_super) {
  20707. tslib_1.__extends(Filter, _super);
  20708. function Filter(e) {
  20709. var _this = _super.call(this, Jn, "filter", !0) || this;
  20710. _this.addRevocationInfo = getStringOption(e.addRevocationInfo, ["", "required", "optional", "none"]);
  20711. _this.id = e.id || "";
  20712. _this.name = e.name || "";
  20713. _this.use = e.use || "";
  20714. _this.usehref = e.usehref || "";
  20715. _this.version = getInteger({ data: _this.version, defaultValue: 5, validate: function (e) { return e >= 1 && e <= 5; } });
  20716. _this.appearanceFilter = null;
  20717. _this.certificates = null;
  20718. _this.digestMethods = null;
  20719. _this.encodings = null;
  20720. _this.encryptionMethods = null;
  20721. _this.handler = null;
  20722. _this.lockDocument = null;
  20723. _this.mdp = null;
  20724. _this.reasons = null;
  20725. _this.timeStamp = null;
  20726. return _this;
  20727. }
  20728. return Filter;
  20729. }(XFAObject));
  20730. var Float = /** @class */ (function (_super) {
  20731. tslib_1.__extends(Float, _super);
  20732. function Float(e) {
  20733. var _this = _super.call(this, Jn, "float") || this;
  20734. _this.id = e.id || "";
  20735. _this.name = e.name || "";
  20736. _this.use = e.use || "";
  20737. _this.usehref = e.usehref || "";
  20738. return _this;
  20739. }
  20740. Float.prototype[sr] = function () { var e = parseFloat(this[er].trim()); this[er] = isNaN(e) ? null : e; };
  20741. Float.prototype[an] = function (e) { return valueToHtml(null !== this[er] ? this[er].toString() : ""); };
  20742. return Float;
  20743. }(ContentObject));
  20744. var template_Font = /** @class */ (function (_super) {
  20745. tslib_1.__extends(template_Font, _super);
  20746. function template_Font(e) {
  20747. var _this = _super.call(this, Jn, "font", !0) || this;
  20748. _this.baselineShift = getMeasurement(e.baselineShift);
  20749. _this.fontHorizontalScale = getFloat({ data: e.fontHorizontalScale, defaultValue: 100, validate: function (e) { return e >= 0; } });
  20750. _this.fontVerticalScale = getFloat({ data: e.fontVerticalScale, defaultValue: 100, validate: function (e) { return e >= 0; } });
  20751. _this.id = e.id || "";
  20752. _this.kerningMode = getStringOption(e.kerningMode, ["none", "pair"]);
  20753. _this.letterSpacing = getMeasurement(e.letterSpacing, "0");
  20754. _this.lineThrough = getInteger({ data: e.lineThrough, defaultValue: 0, validate: function (e) { return 1 === e || 2 === e; } });
  20755. _this.lineThroughPeriod = getStringOption(e.lineThroughPeriod, ["all", "word"]);
  20756. _this.overline = getInteger({ data: e.overline, defaultValue: 0, validate: function (e) { return 1 === e || 2 === e; } });
  20757. _this.overlinePeriod = getStringOption(e.overlinePeriod, ["all", "word"]);
  20758. _this.posture = getStringOption(e.posture, ["normal", "italic"]);
  20759. _this.size = getMeasurement(e.size, "10pt");
  20760. _this.typeface = e.typeface || "Courier";
  20761. _this.underline = getInteger({ data: e.underline, defaultValue: 0, validate: function (e) { return 1 === e || 2 === e; } });
  20762. _this.underlinePeriod = getStringOption(e.underlinePeriod, ["all", "word"]);
  20763. _this.use = e.use || "";
  20764. _this.usehref = e.usehref || "";
  20765. _this.weight = getStringOption(e.weight, ["normal", "bold"]);
  20766. _this.extras = null;
  20767. _this.fill = null;
  20768. return _this;
  20769. }
  20770. template_Font.prototype[Vs] = function (e) { _super.prototype[Vs].call(this, e); this[yr].usedTypefaces.add(this.typeface); };
  20771. template_Font.prototype[rn] = function () { var e = toStyle(this, "fill"), t = e.color; if (t)
  20772. if ("#000000" === t)
  20773. delete e.color;
  20774. else if (!t.startsWith("#")) {
  20775. e.background = t;
  20776. e.backgroundClip = "text";
  20777. e.color = "transparent";
  20778. } this.baselineShift && (e.verticalAlign = measureToString(this.baselineShift)); e.fontKerning = "none" === this.kerningMode ? "none" : "normal"; e.letterSpacing = measureToString(this.letterSpacing); if (0 !== this.lineThrough) {
  20779. e.textDecoration = "line-through";
  20780. 2 === this.lineThrough && (e.textDecorationStyle = "double");
  20781. } if (0 !== this.overline) {
  20782. e.textDecoration = "overline";
  20783. 2 === this.overline && (e.textDecorationStyle = "double");
  20784. } e.fontStyle = this.posture; e.fontSize = measureToString(.99 * this.size); setFontFamily(this, this, this[yr].fontFinder, e); if (0 !== this.underline) {
  20785. e.textDecoration = "underline";
  20786. 2 === this.underline && (e.textDecorationStyle = "double");
  20787. } e.fontWeight = this.weight; return e; };
  20788. return template_Font;
  20789. }(XFAObject));
  20790. var Format = /** @class */ (function (_super) {
  20791. tslib_1.__extends(Format, _super);
  20792. function Format(e) {
  20793. var _this = _super.call(this, Jn, "format", !0) || this;
  20794. _this.id = e.id || "";
  20795. _this.use = e.use || "";
  20796. _this.usehref = e.usehref || "";
  20797. _this.extras = null;
  20798. _this.picture = null;
  20799. return _this;
  20800. }
  20801. return Format;
  20802. }(XFAObject));
  20803. var Handler = /** @class */ (function (_super) {
  20804. tslib_1.__extends(Handler, _super);
  20805. function Handler(e) {
  20806. var _this = _super.call(this, Jn, "handler") || this;
  20807. _this.id = e.id || "";
  20808. _this.type = getStringOption(e.type, ["optional", "required"]);
  20809. _this.use = e.use || "";
  20810. _this.usehref = e.usehref || "";
  20811. return _this;
  20812. }
  20813. return Handler;
  20814. }(StringObject));
  20815. var Hyphenation = /** @class */ (function (_super) {
  20816. tslib_1.__extends(Hyphenation, _super);
  20817. function Hyphenation(e) {
  20818. var _this = _super.call(this, Jn, "hyphenation") || this;
  20819. _this.excludeAllCaps = getInteger({ data: e.excludeAllCaps, defaultValue: 0, validate: function (e) { return 1 === e; } });
  20820. _this.excludeInitialCap = getInteger({ data: e.excludeInitialCap, defaultValue: 0, validate: function (e) { return 1 === e; } });
  20821. _this.hyphenate = getInteger({ data: e.hyphenate, defaultValue: 0, validate: function (e) { return 1 === e; } });
  20822. _this.id = e.id || "";
  20823. _this.pushCharacterCount = getInteger({ data: e.pushCharacterCount, defaultValue: 3, validate: function (e) { return e >= 0; } });
  20824. _this.remainCharacterCount = getInteger({ data: e.remainCharacterCount, defaultValue: 3, validate: function (e) { return e >= 0; } });
  20825. _this.use = e.use || "";
  20826. _this.usehref = e.usehref || "";
  20827. _this.wordCharacterCount = getInteger({ data: e.wordCharacterCount, defaultValue: 7, validate: function (e) { return e >= 0; } });
  20828. return _this;
  20829. }
  20830. return Hyphenation;
  20831. }(XFAObject));
  20832. var Image = /** @class */ (function (_super) {
  20833. tslib_1.__extends(Image, _super);
  20834. function Image(e) {
  20835. var _this = _super.call(this, Jn, "image") || this;
  20836. _this.aspect = getStringOption(e.aspect, ["fit", "actual", "height", "none", "width"]);
  20837. _this.contentType = e.contentType || "";
  20838. _this.href = e.href || "";
  20839. _this.id = e.id || "";
  20840. _this.name = e.name || "";
  20841. _this.transferEncoding = getStringOption(e.transferEncoding, ["base64", "none", "package"]);
  20842. _this.use = e.use || "";
  20843. _this.usehref = e.usehref || "";
  20844. return _this;
  20845. }
  20846. Image.prototype[an] = function () { if (this.contentType && !vn.has(this.contentType.toLowerCase()))
  20847. return HTMLResult.EMPTY; var e = this[yr].images && this[yr].images.get(this.href); if (!e && (this.href || !this[er]))
  20848. return HTMLResult.EMPTY; e || "base64" !== this.transferEncoding || (e = stringToBytes(atob(this[er]))); if (!e)
  20849. return HTMLResult.EMPTY; if (!this.contentType) {
  20850. for (var _b = 0, Kn_1 = Kn; _b < Kn_1.length; _b++) {
  20851. var _k = Kn_1[_b], t_404 = _k[0], i_332 = _k[1];
  20852. if (e.length > t_404.length && t_404.every((function (t, i) { return t === e[i]; }))) {
  20853. this.contentType = i_332;
  20854. break;
  20855. }
  20856. }
  20857. if (!this.contentType)
  20858. return HTMLResult.EMPTY;
  20859. } var t = new Blob([e], { type: this.contentType }); var i; switch (this.aspect) {
  20860. case "fit":
  20861. case "actual": break;
  20862. case "height":
  20863. i = { height: "100%", objectFit: "fill" };
  20864. break;
  20865. case "none":
  20866. i = { width: "100%", height: "100%", objectFit: "fill" };
  20867. break;
  20868. case "width": i = { width: "100%", objectFit: "fill" };
  20869. } var a = this[pr](); return HTMLResult.success({ name: "img", attributes: { class: ["xfaImage"], style: i, src: URL.createObjectURL(t), alt: a ? ariaLabel(a[pr]()) : null } }); };
  20870. return Image;
  20871. }(StringObject));
  20872. var ImageEdit = /** @class */ (function (_super) {
  20873. tslib_1.__extends(ImageEdit, _super);
  20874. function ImageEdit(e) {
  20875. var _this = _super.call(this, Jn, "imageEdit", !0) || this;
  20876. _this.data = getStringOption(e.data, ["link", "embed"]);
  20877. _this.id = e.id || "";
  20878. _this.use = e.use || "";
  20879. _this.usehref = e.usehref || "";
  20880. _this.border = null;
  20881. _this.extras = null;
  20882. _this.margin = null;
  20883. return _this;
  20884. }
  20885. ImageEdit.prototype[an] = function (e) { return "embed" === this.data ? HTMLResult.success({ name: "div", children: [], attributes: {} }) : HTMLResult.EMPTY; };
  20886. return ImageEdit;
  20887. }(XFAObject));
  20888. var Integer = /** @class */ (function (_super) {
  20889. tslib_1.__extends(Integer, _super);
  20890. function Integer(e) {
  20891. var _this = _super.call(this, Jn, "integer") || this;
  20892. _this.id = e.id || "";
  20893. _this.name = e.name || "";
  20894. _this.use = e.use || "";
  20895. _this.usehref = e.usehref || "";
  20896. return _this;
  20897. }
  20898. Integer.prototype[sr] = function () { var e = parseInt(this[er].trim(), 10); this[er] = isNaN(e) ? null : e; };
  20899. Integer.prototype[an] = function (e) { return valueToHtml(null !== this[er] ? this[er].toString() : ""); };
  20900. return Integer;
  20901. }(ContentObject));
  20902. var Issuers = /** @class */ (function (_super) {
  20903. tslib_1.__extends(Issuers, _super);
  20904. function Issuers(e) {
  20905. var _this = _super.call(this, Jn, "issuers", !0) || this;
  20906. _this.id = e.id || "";
  20907. _this.type = getStringOption(e.type, ["optional", "required"]);
  20908. _this.use = e.use || "";
  20909. _this.usehref = e.usehref || "";
  20910. _this.certificate = new XFAObjectArray;
  20911. return _this;
  20912. }
  20913. return Issuers;
  20914. }(XFAObject));
  20915. var Items = /** @class */ (function (_super) {
  20916. tslib_1.__extends(Items, _super);
  20917. function Items(e) {
  20918. var _this = _super.call(this, Jn, "items", !0) || this;
  20919. _this.id = e.id || "";
  20920. _this.name = e.name || "";
  20921. _this.presence = getStringOption(e.presence, ["visible", "hidden", "inactive", "invisible"]);
  20922. _this.ref = e.ref || "";
  20923. _this.save = getInteger({ data: e.save, defaultValue: 0, validate: function (e) { return 1 === e; } });
  20924. _this.use = e.use || "";
  20925. _this.usehref = e.usehref || "";
  20926. _this.boolean = new XFAObjectArray;
  20927. _this.date = new XFAObjectArray;
  20928. _this.dateTime = new XFAObjectArray;
  20929. _this.decimal = new XFAObjectArray;
  20930. _this.exData = new XFAObjectArray;
  20931. _this.float = new XFAObjectArray;
  20932. _this.image = new XFAObjectArray;
  20933. _this.integer = new XFAObjectArray;
  20934. _this.text = new XFAObjectArray;
  20935. _this.time = new XFAObjectArray;
  20936. return _this;
  20937. }
  20938. Items.prototype[an] = function () { var e = []; for (var _b = 0, _k = this[Er](); _b < _k.length; _b++) {
  20939. var t_405 = _k[_b];
  20940. e.push(t_405[en]());
  20941. } return HTMLResult.success(e); };
  20942. return Items;
  20943. }(XFAObject));
  20944. var Keep = /** @class */ (function (_super) {
  20945. tslib_1.__extends(Keep, _super);
  20946. function Keep(e) {
  20947. var _this = _super.call(this, Jn, "keep", !0) || this;
  20948. _this.id = e.id || "";
  20949. var t = ["none", "contentArea", "pageArea"];
  20950. _this.intact = getStringOption(e.intact, t);
  20951. _this.next = getStringOption(e.next, t);
  20952. _this.previous = getStringOption(e.previous, t);
  20953. _this.use = e.use || "";
  20954. _this.usehref = e.usehref || "";
  20955. _this.extras = null;
  20956. return _this;
  20957. }
  20958. return Keep;
  20959. }(XFAObject));
  20960. var KeyUsage = /** @class */ (function (_super) {
  20961. tslib_1.__extends(KeyUsage, _super);
  20962. function KeyUsage(e) {
  20963. var _this = _super.call(this, Jn, "keyUsage") || this;
  20964. var t = ["", "yes", "no"];
  20965. _this.crlSign = getStringOption(e.crlSign, t);
  20966. _this.dataEncipherment = getStringOption(e.dataEncipherment, t);
  20967. _this.decipherOnly = getStringOption(e.decipherOnly, t);
  20968. _this.digitalSignature = getStringOption(e.digitalSignature, t);
  20969. _this.encipherOnly = getStringOption(e.encipherOnly, t);
  20970. _this.id = e.id || "";
  20971. _this.keyAgreement = getStringOption(e.keyAgreement, t);
  20972. _this.keyCertSign = getStringOption(e.keyCertSign, t);
  20973. _this.keyEncipherment = getStringOption(e.keyEncipherment, t);
  20974. _this.nonRepudiation = getStringOption(e.nonRepudiation, t);
  20975. _this.type = getStringOption(e.type, ["optional", "required"]);
  20976. _this.use = e.use || "";
  20977. _this.usehref = e.usehref || "";
  20978. return _this;
  20979. }
  20980. return KeyUsage;
  20981. }(XFAObject));
  20982. var Line = /** @class */ (function (_super) {
  20983. tslib_1.__extends(Line, _super);
  20984. function Line(e) {
  20985. var _this = _super.call(this, Jn, "line", !0) || this;
  20986. _this.hand = getStringOption(e.hand, ["even", "left", "right"]);
  20987. _this.id = e.id || "";
  20988. _this.slope = getStringOption(e.slope, ["\\", "/"]);
  20989. _this.use = e.use || "";
  20990. _this.usehref = e.usehref || "";
  20991. _this.edge = null;
  20992. return _this;
  20993. }
  20994. Line.prototype[an] = function () {
  20995. var _b, _k, _l, _m;
  20996. var e = this[pr]()[pr](), t = this.edge || new Edge({}), i = t[rn](), a = Object.create(null), s = "visible" === t.presence ? t.thickness : 0;
  20997. a.strokeWidth = measureToString(s);
  20998. a.stroke = i.color;
  20999. var r, n, o, g, c = "100%", h = "100%";
  21000. if (e.w <= s) {
  21001. _b = ["50%", 0, "50%", "100%"], r = _b[0], n = _b[1], o = _b[2], g = _b[3];
  21002. c = a.strokeWidth;
  21003. }
  21004. else if (e.h <= s) {
  21005. _k = [0, "50%", "100%", "50%"], r = _k[0], n = _k[1], o = _k[2], g = _k[3];
  21006. h = a.strokeWidth;
  21007. }
  21008. else
  21009. "\\" === this.slope ? (_l = [0, 0, "100%", "100%"], r = _l[0], n = _l[1], o = _l[2], g = _l[3], _l) : (_m = [0, "100%", "100%", 0], r = _m[0], n = _m[1], o = _m[2], g = _m[3], _m);
  21010. var l = { name: "svg", children: [{ name: "line", attributes: { xmlns: Hn, x1: r, y1: n, x2: o, y2: g, style: a } }], attributes: { xmlns: Hn, width: c, height: h, style: { overflow: "visible" } } };
  21011. if (hasMargin(e))
  21012. return HTMLResult.success({ name: "div", attributes: { style: { display: "inline", width: "100%", height: "100%" } }, children: [l] });
  21013. l.attributes.style.position = "absolute";
  21014. return HTMLResult.success(l);
  21015. };
  21016. return Line;
  21017. }(XFAObject));
  21018. var Linear = /** @class */ (function (_super) {
  21019. tslib_1.__extends(Linear, _super);
  21020. function Linear(e) {
  21021. var _this = _super.call(this, Jn, "linear", !0) || this;
  21022. _this.id = e.id || "";
  21023. _this.type = getStringOption(e.type, ["toRight", "toBottom", "toLeft", "toTop"]);
  21024. _this.use = e.use || "";
  21025. _this.usehref = e.usehref || "";
  21026. _this.color = null;
  21027. _this.extras = null;
  21028. return _this;
  21029. }
  21030. Linear.prototype[rn] = function (e) { e = e ? e[rn]() : "#FFFFFF"; return "linear-gradient(".concat(this.type.replace(/([RBLT])/, " $1").toLowerCase(), ", ").concat(e, ", ").concat(this.color ? this.color[rn]() : "#000000", ")"); };
  21031. return Linear;
  21032. }(XFAObject));
  21033. var LockDocument = /** @class */ (function (_super) {
  21034. tslib_1.__extends(LockDocument, _super);
  21035. function LockDocument(e) {
  21036. var _this = _super.call(this, Jn, "lockDocument") || this;
  21037. _this.id = e.id || "";
  21038. _this.type = getStringOption(e.type, ["optional", "required"]);
  21039. _this.use = e.use || "";
  21040. _this.usehref = e.usehref || "";
  21041. return _this;
  21042. }
  21043. LockDocument.prototype[sr] = function () { this[er] = getStringOption(this[er], ["auto", "0", "1"]); };
  21044. return LockDocument;
  21045. }(ContentObject));
  21046. var Manifest = /** @class */ (function (_super) {
  21047. tslib_1.__extends(Manifest, _super);
  21048. function Manifest(e) {
  21049. var _this = _super.call(this, Jn, "manifest", !0) || this;
  21050. _this.action = getStringOption(e.action, ["include", "all", "exclude"]);
  21051. _this.id = e.id || "";
  21052. _this.name = e.name || "";
  21053. _this.use = e.use || "";
  21054. _this.usehref = e.usehref || "";
  21055. _this.extras = null;
  21056. _this.ref = new XFAObjectArray;
  21057. return _this;
  21058. }
  21059. return Manifest;
  21060. }(XFAObject));
  21061. var Margin = /** @class */ (function (_super) {
  21062. tslib_1.__extends(Margin, _super);
  21063. function Margin(e) {
  21064. var _this = _super.call(this, Jn, "margin", !0) || this;
  21065. _this.bottomInset = getMeasurement(e.bottomInset, "0");
  21066. _this.id = e.id || "";
  21067. _this.leftInset = getMeasurement(e.leftInset, "0");
  21068. _this.rightInset = getMeasurement(e.rightInset, "0");
  21069. _this.topInset = getMeasurement(e.topInset, "0");
  21070. _this.use = e.use || "";
  21071. _this.usehref = e.usehref || "";
  21072. _this.extras = null;
  21073. return _this;
  21074. }
  21075. Margin.prototype[rn] = function () { return { margin: measureToString(this.topInset) + " " + measureToString(this.rightInset) + " " + measureToString(this.bottomInset) + " " + measureToString(this.leftInset) }; };
  21076. return Margin;
  21077. }(XFAObject));
  21078. var Mdp = /** @class */ (function (_super) {
  21079. tslib_1.__extends(Mdp, _super);
  21080. function Mdp(e) {
  21081. var _this = _super.call(this, Jn, "mdp") || this;
  21082. _this.id = e.id || "";
  21083. _this.permissions = getInteger({ data: e.permissions, defaultValue: 2, validate: function (e) { return 1 === e || 3 === e; } });
  21084. _this.signatureType = getStringOption(e.signatureType, ["filler", "author"]);
  21085. _this.use = e.use || "";
  21086. _this.usehref = e.usehref || "";
  21087. return _this;
  21088. }
  21089. return Mdp;
  21090. }(XFAObject));
  21091. var Medium = /** @class */ (function (_super) {
  21092. tslib_1.__extends(Medium, _super);
  21093. function Medium(e) {
  21094. var _this = _super.call(this, Jn, "medium") || this;
  21095. _this.id = e.id || "";
  21096. _this.imagingBBox = function getBBox(e) { var t = -1; if (!e)
  21097. return { x: t, y: t, width: t, height: t }; var i = e.trim().split(/\s*,\s*/).map((function (e) { return getMeasurement(e, "-1"); })); if (i.length < 4 || i[2] < 0 || i[3] < 0)
  21098. return { x: t, y: t, width: t, height: t }; var a = i[0], s = i[1], r = i[2], n = i[3]; return { x: a, y: s, width: r, height: n }; }(e.imagingBBox);
  21099. _this.long = getMeasurement(e.long);
  21100. _this.orientation = getStringOption(e.orientation, ["portrait", "landscape"]);
  21101. _this.short = getMeasurement(e.short);
  21102. _this.stock = e.stock || "";
  21103. _this.trayIn = getStringOption(e.trayIn, ["auto", "delegate", "pageFront"]);
  21104. _this.trayOut = getStringOption(e.trayOut, ["auto", "delegate"]);
  21105. _this.use = e.use || "";
  21106. _this.usehref = e.usehref || "";
  21107. return _this;
  21108. }
  21109. return Medium;
  21110. }(XFAObject));
  21111. var Message = /** @class */ (function (_super) {
  21112. tslib_1.__extends(Message, _super);
  21113. function Message(e) {
  21114. var _this = _super.call(this, Jn, "message", !0) || this;
  21115. _this.id = e.id || "";
  21116. _this.use = e.use || "";
  21117. _this.usehref = e.usehref || "";
  21118. _this.text = new XFAObjectArray;
  21119. return _this;
  21120. }
  21121. return Message;
  21122. }(XFAObject));
  21123. var NumericEdit = /** @class */ (function (_super) {
  21124. tslib_1.__extends(NumericEdit, _super);
  21125. function NumericEdit(e) {
  21126. var _this = _super.call(this, Jn, "numericEdit", !0) || this;
  21127. _this.hScrollPolicy = getStringOption(e.hScrollPolicy, ["auto", "off", "on"]);
  21128. _this.id = e.id || "";
  21129. _this.use = e.use || "";
  21130. _this.usehref = e.usehref || "";
  21131. _this.border = null;
  21132. _this.comb = null;
  21133. _this.extras = null;
  21134. _this.margin = null;
  21135. return _this;
  21136. }
  21137. NumericEdit.prototype[an] = function (e) { var _b; var t = toStyle(this, "border", "font", "margin"), i = this[pr]()[pr](), a = { name: "input", attributes: { type: "text", fieldId: i[nn], dataId: ((_b = i[tr]) === null || _b === void 0 ? void 0 : _b[nn]) || i[nn], class: ["xfaTextfield"], style: t, "aria-label": ariaLabel(i), "aria-required": !1 } }; if (isRequired(i)) {
  21138. a.attributes["aria-required"] = !0;
  21139. a.attributes.required = !0;
  21140. } return HTMLResult.success({ name: "label", attributes: { class: ["xfaLabel"] }, children: [a] }); };
  21141. return NumericEdit;
  21142. }(XFAObject));
  21143. var Occur = /** @class */ (function (_super) {
  21144. tslib_1.__extends(Occur, _super);
  21145. function Occur(e) {
  21146. var _this = _super.call(this, Jn, "occur", !0) || this;
  21147. _this.id = e.id || "";
  21148. _this.initial = "" !== e.initial ? getInteger({ data: e.initial, defaultValue: "", validate: function (e) { return !0; } }) : "";
  21149. _this.max = "" !== e.max ? getInteger({ data: e.max, defaultValue: 1, validate: function (e) { return !0; } }) : "";
  21150. _this.min = "" !== e.min ? getInteger({ data: e.min, defaultValue: 1, validate: function (e) { return !0; } }) : "";
  21151. _this.use = e.use || "";
  21152. _this.usehref = e.usehref || "";
  21153. _this.extras = null;
  21154. return _this;
  21155. }
  21156. Occur.prototype[Vs] = function () { var e = this[pr](), t = this.min; "" === this.min && (this.min = e instanceof PageArea || e instanceof PageSet ? 0 : 1); "" === this.max && (this.max = "" === t ? e instanceof PageArea || e instanceof PageSet ? -1 : 1 : this.min); -1 !== this.max && this.max < this.min && (this.max = this.min); "" === this.initial && (this.initial = e instanceof Template ? 1 : this.min); };
  21157. return Occur;
  21158. }(XFAObject));
  21159. var Oid = /** @class */ (function (_super) {
  21160. tslib_1.__extends(Oid, _super);
  21161. function Oid(e) {
  21162. var _this = _super.call(this, Jn, "oid") || this;
  21163. _this.id = e.id || "";
  21164. _this.name = e.name || "";
  21165. _this.use = e.use || "";
  21166. _this.usehref = e.usehref || "";
  21167. return _this;
  21168. }
  21169. return Oid;
  21170. }(StringObject));
  21171. var Oids = /** @class */ (function (_super) {
  21172. tslib_1.__extends(Oids, _super);
  21173. function Oids(e) {
  21174. var _this = _super.call(this, Jn, "oids", !0) || this;
  21175. _this.id = e.id || "";
  21176. _this.type = getStringOption(e.type, ["optional", "required"]);
  21177. _this.use = e.use || "";
  21178. _this.usehref = e.usehref || "";
  21179. _this.oid = new XFAObjectArray;
  21180. return _this;
  21181. }
  21182. return Oids;
  21183. }(XFAObject));
  21184. var Overflow = /** @class */ (function (_super) {
  21185. tslib_1.__extends(Overflow, _super);
  21186. function Overflow(e) {
  21187. var _this = _super.call(this, Jn, "overflow") || this;
  21188. _this.id = e.id || "";
  21189. _this.leader = e.leader || "";
  21190. _this.target = e.target || "";
  21191. _this.trailer = e.trailer || "";
  21192. _this.use = e.use || "";
  21193. _this.usehref = e.usehref || "";
  21194. return _this;
  21195. }
  21196. Overflow.prototype[Cr] = function () { if (!this[ar]) {
  21197. var e_540 = this[pr](), t_406 = this[mr](), i_333 = t_406[Vr](this.target, e_540), a_263 = t_406[Vr](this.leader, e_540), s_178 = t_406[Vr](this.trailer, e_540);
  21198. this[ar] = { target: (i_333 === null || i_333 === void 0 ? void 0 : i_333[0]) || null, leader: (a_263 === null || a_263 === void 0 ? void 0 : a_263[0]) || null, trailer: (s_178 === null || s_178 === void 0 ? void 0 : s_178[0]) || null, addLeader: !1, addTrailer: !1 };
  21199. } return this[ar]; };
  21200. return Overflow;
  21201. }(XFAObject));
  21202. var PageArea = /** @class */ (function (_super) {
  21203. tslib_1.__extends(PageArea, _super);
  21204. function PageArea(e) {
  21205. var _this = _super.call(this, Jn, "pageArea", !0) || this;
  21206. _this.blankOrNotBlank = getStringOption(e.blankOrNotBlank, ["any", "blank", "notBlank"]);
  21207. _this.id = e.id || "";
  21208. _this.initialNumber = getInteger({ data: e.initialNumber, defaultValue: 1, validate: function (e) { return !0; } });
  21209. _this.name = e.name || "";
  21210. _this.numbered = getInteger({ data: e.numbered, defaultValue: 1, validate: function (e) { return !0; } });
  21211. _this.oddOrEven = getStringOption(e.oddOrEven, ["any", "even", "odd"]);
  21212. _this.pagePosition = getStringOption(e.pagePosition, ["any", "first", "last", "only", "rest"]);
  21213. _this.relevant = getRelevant(e.relevant);
  21214. _this.use = e.use || "";
  21215. _this.usehref = e.usehref || "";
  21216. _this.desc = null;
  21217. _this.extras = null;
  21218. _this.medium = null;
  21219. _this.occur = null;
  21220. _this.area = new XFAObjectArray;
  21221. _this.contentArea = new XFAObjectArray;
  21222. _this.draw = new XFAObjectArray;
  21223. _this.exclGroup = new XFAObjectArray;
  21224. _this.field = new XFAObjectArray;
  21225. _this.subform = new XFAObjectArray;
  21226. return _this;
  21227. }
  21228. PageArea.prototype[Lr] = function () { if (!this[ar]) {
  21229. this[ar] = { numberOfUse: 0 };
  21230. return !0;
  21231. } return !this.occur || -1 === this.occur.max || this[ar].numberOfUse < this.occur.max; };
  21232. PageArea.prototype[zs] = function () { delete this[ar]; };
  21233. PageArea.prototype[dr] = function () { this[ar] || (this[ar] = { numberOfUse: 0 }); var e = this[pr](); if ("orderedOccurrence" === e.relation && this[Lr]()) {
  21234. this[ar].numberOfUse += 1;
  21235. return this;
  21236. } return e[dr](); };
  21237. PageArea.prototype[gr] = function () { return this[ar].space || { width: 0, height: 0 }; };
  21238. PageArea.prototype[an] = function () { this[ar] || (this[ar] = { numberOfUse: 1 }); var e = []; this[ar].children = e; var t = Object.create(null); if (this.medium && this.medium.short && this.medium.long) {
  21239. t.width = measureToString(this.medium.short);
  21240. t.height = measureToString(this.medium.long);
  21241. this[ar].space = { width: this.medium.short, height: this.medium.long };
  21242. if ("landscape" === this.medium.orientation) {
  21243. var e_541 = t.width;
  21244. t.width = t.height;
  21245. t.height = e_541;
  21246. this[ar].space = { width: this.medium.long, height: this.medium.short };
  21247. }
  21248. }
  21249. else
  21250. warn("XFA - No medium specified in pageArea: please file a bug."); this[Zs]({ filter: new Set(["area", "draw", "field", "subform"]), include: !0 }); this[Zs]({ filter: new Set(["contentArea"]), include: !0 }); return HTMLResult.success({ name: "div", children: e, attributes: { class: ["xfaPage"], id: this[nn], style: t, xfaName: this.name } }); };
  21251. return PageArea;
  21252. }(XFAObject));
  21253. var PageSet = /** @class */ (function (_super) {
  21254. tslib_1.__extends(PageSet, _super);
  21255. function PageSet(e) {
  21256. var _this = _super.call(this, Jn, "pageSet", !0) || this;
  21257. _this.duplexImposition = getStringOption(e.duplexImposition, ["longEdge", "shortEdge"]);
  21258. _this.id = e.id || "";
  21259. _this.name = e.name || "";
  21260. _this.relation = getStringOption(e.relation, ["orderedOccurrence", "duplexPaginated", "simplexPaginated"]);
  21261. _this.relevant = getRelevant(e.relevant);
  21262. _this.use = e.use || "";
  21263. _this.usehref = e.usehref || "";
  21264. _this.extras = null;
  21265. _this.occur = null;
  21266. _this.pageArea = new XFAObjectArray;
  21267. _this.pageSet = new XFAObjectArray;
  21268. return _this;
  21269. }
  21270. PageSet.prototype[zs] = function () { for (var _b = 0, _k = this.pageArea.children; _b < _k.length; _b++) {
  21271. var e_542 = _k[_b];
  21272. e_542[zs]();
  21273. } for (var _l = 0, _m = this.pageSet.children; _l < _m.length; _l++) {
  21274. var e_543 = _m[_l];
  21275. e_543[zs]();
  21276. } };
  21277. PageSet.prototype[Lr] = function () { return !this.occur || -1 === this.occur.max || this[ar].numberOfUse < this.occur.max; };
  21278. PageSet.prototype[dr] = function () { this[ar] || (this[ar] = { numberOfUse: 1, pageIndex: -1, pageSetIndex: -1 }); if ("orderedOccurrence" === this.relation) {
  21279. if (this[ar].pageIndex + 1 < this.pageArea.children.length) {
  21280. this[ar].pageIndex += 1;
  21281. return this.pageArea.children[this[ar].pageIndex][dr]();
  21282. }
  21283. if (this[ar].pageSetIndex + 1 < this.pageSet.children.length) {
  21284. this[ar].pageSetIndex += 1;
  21285. return this.pageSet.children[this[ar].pageSetIndex][dr]();
  21286. }
  21287. if (this[Lr]()) {
  21288. this[ar].numberOfUse += 1;
  21289. this[ar].pageIndex = -1;
  21290. this[ar].pageSetIndex = -1;
  21291. return this[dr]();
  21292. }
  21293. var e_544 = this[pr]();
  21294. if (e_544 instanceof PageSet)
  21295. return e_544[dr]();
  21296. this[zs]();
  21297. return this[dr]();
  21298. } var e = this[mr]()[ar].pageNumber, t = e % 2 == 0 ? "even" : "odd", i = 0 === e ? "first" : "rest"; var a = this.pageArea.children.find((function (e) { return e.oddOrEven === t && e.pagePosition === i; })); if (a)
  21299. return a; a = this.pageArea.children.find((function (e) { return "any" === e.oddOrEven && e.pagePosition === i; })); if (a)
  21300. return a; a = this.pageArea.children.find((function (e) { return "any" === e.oddOrEven && "any" === e.pagePosition; })); return a || this.pageArea.children[0]; };
  21301. return PageSet;
  21302. }(XFAObject));
  21303. var Para = /** @class */ (function (_super) {
  21304. tslib_1.__extends(Para, _super);
  21305. function Para(e) {
  21306. var _this = _super.call(this, Jn, "para", !0) || this;
  21307. _this.hAlign = getStringOption(e.hAlign, ["left", "center", "justify", "justifyAll", "radix", "right"]);
  21308. _this.id = e.id || "";
  21309. _this.lineHeight = e.lineHeight ? getMeasurement(e.lineHeight, "0pt") : "";
  21310. _this.marginLeft = e.marginLeft ? getMeasurement(e.marginLeft, "0pt") : "";
  21311. _this.marginRight = e.marginRight ? getMeasurement(e.marginRight, "0pt") : "";
  21312. _this.orphans = getInteger({ data: e.orphans, defaultValue: 0, validate: function (e) { return e >= 0; } });
  21313. _this.preserve = e.preserve || "";
  21314. _this.radixOffset = e.radixOffset ? getMeasurement(e.radixOffset, "0pt") : "";
  21315. _this.spaceAbove = e.spaceAbove ? getMeasurement(e.spaceAbove, "0pt") : "";
  21316. _this.spaceBelow = e.spaceBelow ? getMeasurement(e.spaceBelow, "0pt") : "";
  21317. _this.tabDefault = e.tabDefault ? getMeasurement(_this.tabDefault) : "";
  21318. _this.tabStops = (e.tabStops || "").trim().split(/\s+/).map((function (e, t) { return t % 2 == 1 ? getMeasurement(e) : e; }));
  21319. _this.textIndent = e.textIndent ? getMeasurement(e.textIndent, "0pt") : "";
  21320. _this.use = e.use || "";
  21321. _this.usehref = e.usehref || "";
  21322. _this.vAlign = getStringOption(e.vAlign, ["top", "bottom", "middle"]);
  21323. _this.widows = getInteger({ data: e.widows, defaultValue: 0, validate: function (e) { return e >= 0; } });
  21324. _this.hyphenation = null;
  21325. return _this;
  21326. }
  21327. Para.prototype[rn] = function () { var e = toStyle(this, "hAlign"); "" !== this.marginLeft && (e.paddingLeft = measureToString(this.marginLeft)); "" !== this.marginRight && (e.paddingight = measureToString(this.marginRight)); "" !== this.spaceAbove && (e.paddingTop = measureToString(this.spaceAbove)); "" !== this.spaceBelow && (e.paddingBottom = measureToString(this.spaceBelow)); if ("" !== this.textIndent) {
  21328. e.textIndent = measureToString(this.textIndent);
  21329. fixTextIndent(e);
  21330. } this.lineHeight > 0 && (e.lineHeight = measureToString(this.lineHeight)); "" !== this.tabDefault && (e.tabSize = measureToString(this.tabDefault)); this.tabStops.length; this.hyphenatation && Object.assign(e, this.hyphenatation[rn]()); return e; };
  21331. return Para;
  21332. }(XFAObject));
  21333. var PasswordEdit = /** @class */ (function (_super) {
  21334. tslib_1.__extends(PasswordEdit, _super);
  21335. function PasswordEdit(e) {
  21336. var _this = _super.call(this, Jn, "passwordEdit", !0) || this;
  21337. _this.hScrollPolicy = getStringOption(e.hScrollPolicy, ["auto", "off", "on"]);
  21338. _this.id = e.id || "";
  21339. _this.passwordChar = e.passwordChar || "*";
  21340. _this.use = e.use || "";
  21341. _this.usehref = e.usehref || "";
  21342. _this.border = null;
  21343. _this.extras = null;
  21344. _this.margin = null;
  21345. return _this;
  21346. }
  21347. return PasswordEdit;
  21348. }(XFAObject));
  21349. var template_Pattern = /** @class */ (function (_super) {
  21350. tslib_1.__extends(template_Pattern, _super);
  21351. function template_Pattern(e) {
  21352. var _this = _super.call(this, Jn, "pattern", !0) || this;
  21353. _this.id = e.id || "";
  21354. _this.type = getStringOption(e.type, ["crossHatch", "crossDiagonal", "diagonalLeft", "diagonalRight", "horizontal", "vertical"]);
  21355. _this.use = e.use || "";
  21356. _this.usehref = e.usehref || "";
  21357. _this.color = null;
  21358. _this.extras = null;
  21359. return _this;
  21360. }
  21361. template_Pattern.prototype[rn] = function (e) { e = e ? e[rn]() : "#FFFFFF"; var t = this.color ? this.color[rn]() : "#000000", i = "repeating-linear-gradient", a = "".concat(e, ",").concat(e, " 5px,").concat(t, " 5px,").concat(t, " 10px"); switch (this.type) {
  21362. case "crossHatch": return "".concat(i, "(to top,").concat(a, ") ").concat(i, "(to right,").concat(a, ")");
  21363. case "crossDiagonal": return "".concat(i, "(45deg,").concat(a, ") ").concat(i, "(-45deg,").concat(a, ")");
  21364. case "diagonalLeft": return "".concat(i, "(45deg,").concat(a, ")");
  21365. case "diagonalRight": return "".concat(i, "(-45deg,").concat(a, ")");
  21366. case "horizontal": return "".concat(i, "(to top,").concat(a, ")");
  21367. case "vertical": return "".concat(i, "(to right,").concat(a, ")");
  21368. } return ""; };
  21369. return template_Pattern;
  21370. }(XFAObject));
  21371. var Picture = /** @class */ (function (_super) {
  21372. tslib_1.__extends(Picture, _super);
  21373. function Picture(e) {
  21374. var _this = _super.call(this, Jn, "picture") || this;
  21375. _this.id = e.id || "";
  21376. _this.use = e.use || "";
  21377. _this.usehref = e.usehref || "";
  21378. return _this;
  21379. }
  21380. return Picture;
  21381. }(StringObject));
  21382. var Proto = /** @class */ (function (_super) {
  21383. tslib_1.__extends(Proto, _super);
  21384. function Proto(e) {
  21385. var _this = _super.call(this, Jn, "proto", !0) || this;
  21386. _this.appearanceFilter = new XFAObjectArray;
  21387. _this.arc = new XFAObjectArray;
  21388. _this.area = new XFAObjectArray;
  21389. _this.assist = new XFAObjectArray;
  21390. _this.barcode = new XFAObjectArray;
  21391. _this.bindItems = new XFAObjectArray;
  21392. _this.bookend = new XFAObjectArray;
  21393. _this.boolean = new XFAObjectArray;
  21394. _this.border = new XFAObjectArray;
  21395. _this.break = new XFAObjectArray;
  21396. _this.breakAfter = new XFAObjectArray;
  21397. _this.breakBefore = new XFAObjectArray;
  21398. _this.button = new XFAObjectArray;
  21399. _this.calculate = new XFAObjectArray;
  21400. _this.caption = new XFAObjectArray;
  21401. _this.certificate = new XFAObjectArray;
  21402. _this.certificates = new XFAObjectArray;
  21403. _this.checkButton = new XFAObjectArray;
  21404. _this.choiceList = new XFAObjectArray;
  21405. _this.color = new XFAObjectArray;
  21406. _this.comb = new XFAObjectArray;
  21407. _this.connect = new XFAObjectArray;
  21408. _this.contentArea = new XFAObjectArray;
  21409. _this.corner = new XFAObjectArray;
  21410. _this.date = new XFAObjectArray;
  21411. _this.dateTime = new XFAObjectArray;
  21412. _this.dateTimeEdit = new XFAObjectArray;
  21413. _this.decimal = new XFAObjectArray;
  21414. _this.defaultUi = new XFAObjectArray;
  21415. _this.desc = new XFAObjectArray;
  21416. _this.digestMethod = new XFAObjectArray;
  21417. _this.digestMethods = new XFAObjectArray;
  21418. _this.draw = new XFAObjectArray;
  21419. _this.edge = new XFAObjectArray;
  21420. _this.encoding = new XFAObjectArray;
  21421. _this.encodings = new XFAObjectArray;
  21422. _this.encrypt = new XFAObjectArray;
  21423. _this.encryptData = new XFAObjectArray;
  21424. _this.encryption = new XFAObjectArray;
  21425. _this.encryptionMethod = new XFAObjectArray;
  21426. _this.encryptionMethods = new XFAObjectArray;
  21427. _this.event = new XFAObjectArray;
  21428. _this.exData = new XFAObjectArray;
  21429. _this.exObject = new XFAObjectArray;
  21430. _this.exclGroup = new XFAObjectArray;
  21431. _this.execute = new XFAObjectArray;
  21432. _this.extras = new XFAObjectArray;
  21433. _this.field = new XFAObjectArray;
  21434. _this.fill = new XFAObjectArray;
  21435. _this.filter = new XFAObjectArray;
  21436. _this.float = new XFAObjectArray;
  21437. _this.font = new XFAObjectArray;
  21438. _this.format = new XFAObjectArray;
  21439. _this.handler = new XFAObjectArray;
  21440. _this.hyphenation = new XFAObjectArray;
  21441. _this.image = new XFAObjectArray;
  21442. _this.imageEdit = new XFAObjectArray;
  21443. _this.integer = new XFAObjectArray;
  21444. _this.issuers = new XFAObjectArray;
  21445. _this.items = new XFAObjectArray;
  21446. _this.keep = new XFAObjectArray;
  21447. _this.keyUsage = new XFAObjectArray;
  21448. _this.line = new XFAObjectArray;
  21449. _this.linear = new XFAObjectArray;
  21450. _this.lockDocument = new XFAObjectArray;
  21451. _this.manifest = new XFAObjectArray;
  21452. _this.margin = new XFAObjectArray;
  21453. _this.mdp = new XFAObjectArray;
  21454. _this.medium = new XFAObjectArray;
  21455. _this.message = new XFAObjectArray;
  21456. _this.numericEdit = new XFAObjectArray;
  21457. _this.occur = new XFAObjectArray;
  21458. _this.oid = new XFAObjectArray;
  21459. _this.oids = new XFAObjectArray;
  21460. _this.overflow = new XFAObjectArray;
  21461. _this.pageArea = new XFAObjectArray;
  21462. _this.pageSet = new XFAObjectArray;
  21463. _this.para = new XFAObjectArray;
  21464. _this.passwordEdit = new XFAObjectArray;
  21465. _this.pattern = new XFAObjectArray;
  21466. _this.picture = new XFAObjectArray;
  21467. _this.radial = new XFAObjectArray;
  21468. _this.reason = new XFAObjectArray;
  21469. _this.reasons = new XFAObjectArray;
  21470. _this.rectangle = new XFAObjectArray;
  21471. _this.ref = new XFAObjectArray;
  21472. _this.script = new XFAObjectArray;
  21473. _this.setProperty = new XFAObjectArray;
  21474. _this.signData = new XFAObjectArray;
  21475. _this.signature = new XFAObjectArray;
  21476. _this.signing = new XFAObjectArray;
  21477. _this.solid = new XFAObjectArray;
  21478. _this.speak = new XFAObjectArray;
  21479. _this.stipple = new XFAObjectArray;
  21480. _this.subform = new XFAObjectArray;
  21481. _this.subformSet = new XFAObjectArray;
  21482. _this.subjectDN = new XFAObjectArray;
  21483. _this.subjectDNs = new XFAObjectArray;
  21484. _this.submit = new XFAObjectArray;
  21485. _this.text = new XFAObjectArray;
  21486. _this.textEdit = new XFAObjectArray;
  21487. _this.time = new XFAObjectArray;
  21488. _this.timeStamp = new XFAObjectArray;
  21489. _this.toolTip = new XFAObjectArray;
  21490. _this.traversal = new XFAObjectArray;
  21491. _this.traverse = new XFAObjectArray;
  21492. _this.ui = new XFAObjectArray;
  21493. _this.validate = new XFAObjectArray;
  21494. _this.value = new XFAObjectArray;
  21495. _this.variables = new XFAObjectArray;
  21496. return _this;
  21497. }
  21498. return Proto;
  21499. }(XFAObject));
  21500. var Radial = /** @class */ (function (_super) {
  21501. tslib_1.__extends(Radial, _super);
  21502. function Radial(e) {
  21503. var _this = _super.call(this, Jn, "radial", !0) || this;
  21504. _this.id = e.id || "";
  21505. _this.type = getStringOption(e.type, ["toEdge", "toCenter"]);
  21506. _this.use = e.use || "";
  21507. _this.usehref = e.usehref || "";
  21508. _this.color = null;
  21509. _this.extras = null;
  21510. return _this;
  21511. }
  21512. Radial.prototype[rn] = function (e) { e = e ? e[rn]() : "#FFFFFF"; var t = this.color ? this.color[rn]() : "#000000"; return "radial-gradient(circle at center, ".concat("toEdge" === this.type ? "".concat(e, ",").concat(t) : "".concat(t, ",").concat(e), ")"); };
  21513. return Radial;
  21514. }(XFAObject));
  21515. var Reason = /** @class */ (function (_super) {
  21516. tslib_1.__extends(Reason, _super);
  21517. function Reason(e) {
  21518. var _this = _super.call(this, Jn, "reason") || this;
  21519. _this.id = e.id || "";
  21520. _this.name = e.name || "";
  21521. _this.use = e.use || "";
  21522. _this.usehref = e.usehref || "";
  21523. return _this;
  21524. }
  21525. return Reason;
  21526. }(StringObject));
  21527. var Reasons = /** @class */ (function (_super) {
  21528. tslib_1.__extends(Reasons, _super);
  21529. function Reasons(e) {
  21530. var _this = _super.call(this, Jn, "reasons", !0) || this;
  21531. _this.id = e.id || "";
  21532. _this.type = getStringOption(e.type, ["optional", "required"]);
  21533. _this.use = e.use || "";
  21534. _this.usehref = e.usehref || "";
  21535. _this.reason = new XFAObjectArray;
  21536. return _this;
  21537. }
  21538. return Reasons;
  21539. }(XFAObject));
  21540. var Rectangle = /** @class */ (function (_super) {
  21541. tslib_1.__extends(Rectangle, _super);
  21542. function Rectangle(e) {
  21543. var _this = _super.call(this, Jn, "rectangle", !0) || this;
  21544. _this.hand = getStringOption(e.hand, ["even", "left", "right"]);
  21545. _this.id = e.id || "";
  21546. _this.use = e.use || "";
  21547. _this.usehref = e.usehref || "";
  21548. _this.corner = new XFAObjectArray(4);
  21549. _this.edge = new XFAObjectArray(4);
  21550. _this.fill = null;
  21551. return _this;
  21552. }
  21553. Rectangle.prototype[an] = function () { var _b; var e = this.edge.children.length ? this.edge.children[0] : new Edge({}), t = e[rn](), i = Object.create(null); "visible" === ((_b = this.fill) === null || _b === void 0 ? void 0 : _b.presence) ? Object.assign(i, this.fill[rn]()) : i.fill = "transparent"; i.strokeWidth = measureToString("visible" === e.presence ? e.thickness : 0); i.stroke = t.color; var a = (this.corner.children.length ? this.corner.children[0] : new Corner({}))[rn](), s = { name: "svg", children: [{ name: "rect", attributes: { xmlns: Hn, width: "100%", height: "100%", x: 0, y: 0, rx: a.radius, ry: a.radius, style: i } }], attributes: { xmlns: Hn, style: { overflow: "visible" }, width: "100%", height: "100%" } }; if (hasMargin(this[pr]()[pr]()))
  21554. return HTMLResult.success({ name: "div", attributes: { style: { display: "inline", width: "100%", height: "100%" } }, children: [s] }); s.attributes.style.position = "absolute"; return HTMLResult.success(s); };
  21555. return Rectangle;
  21556. }(XFAObject));
  21557. var RefElement = /** @class */ (function (_super) {
  21558. tslib_1.__extends(RefElement, _super);
  21559. function RefElement(e) {
  21560. var _this = _super.call(this, Jn, "ref") || this;
  21561. _this.id = e.id || "";
  21562. _this.use = e.use || "";
  21563. _this.usehref = e.usehref || "";
  21564. return _this;
  21565. }
  21566. return RefElement;
  21567. }(StringObject));
  21568. var Script = /** @class */ (function (_super) {
  21569. tslib_1.__extends(Script, _super);
  21570. function Script(e) {
  21571. var _this = _super.call(this, Jn, "script") || this;
  21572. _this.binding = e.binding || "";
  21573. _this.contentType = e.contentType || "";
  21574. _this.id = e.id || "";
  21575. _this.name = e.name || "";
  21576. _this.runAt = getStringOption(e.runAt, ["client", "both", "server"]);
  21577. _this.use = e.use || "";
  21578. _this.usehref = e.usehref || "";
  21579. return _this;
  21580. }
  21581. return Script;
  21582. }(StringObject));
  21583. var SetProperty = /** @class */ (function (_super) {
  21584. tslib_1.__extends(SetProperty, _super);
  21585. function SetProperty(e) {
  21586. var _this = _super.call(this, Jn, "setProperty") || this;
  21587. _this.connection = e.connection || "";
  21588. _this.ref = e.ref || "";
  21589. _this.target = e.target || "";
  21590. return _this;
  21591. }
  21592. return SetProperty;
  21593. }(XFAObject));
  21594. var SignData = /** @class */ (function (_super) {
  21595. tslib_1.__extends(SignData, _super);
  21596. function SignData(e) {
  21597. var _this = _super.call(this, Jn, "signData", !0) || this;
  21598. _this.id = e.id || "";
  21599. _this.operation = getStringOption(e.operation, ["sign", "clear", "verify"]);
  21600. _this.ref = e.ref || "";
  21601. _this.target = e.target || "";
  21602. _this.use = e.use || "";
  21603. _this.usehref = e.usehref || "";
  21604. _this.filter = null;
  21605. _this.manifest = null;
  21606. return _this;
  21607. }
  21608. return SignData;
  21609. }(XFAObject));
  21610. var Signature = /** @class */ (function (_super) {
  21611. tslib_1.__extends(Signature, _super);
  21612. function Signature(e) {
  21613. var _this = _super.call(this, Jn, "signature", !0) || this;
  21614. _this.id = e.id || "";
  21615. _this.type = getStringOption(e.type, ["PDF1.3", "PDF1.6"]);
  21616. _this.use = e.use || "";
  21617. _this.usehref = e.usehref || "";
  21618. _this.border = null;
  21619. _this.extras = null;
  21620. _this.filter = null;
  21621. _this.manifest = null;
  21622. _this.margin = null;
  21623. return _this;
  21624. }
  21625. return Signature;
  21626. }(XFAObject));
  21627. var Signing = /** @class */ (function (_super) {
  21628. tslib_1.__extends(Signing, _super);
  21629. function Signing(e) {
  21630. var _this = _super.call(this, Jn, "signing", !0) || this;
  21631. _this.id = e.id || "";
  21632. _this.type = getStringOption(e.type, ["optional", "required"]);
  21633. _this.use = e.use || "";
  21634. _this.usehref = e.usehref || "";
  21635. _this.certificate = new XFAObjectArray;
  21636. return _this;
  21637. }
  21638. return Signing;
  21639. }(XFAObject));
  21640. var Solid = /** @class */ (function (_super) {
  21641. tslib_1.__extends(Solid, _super);
  21642. function Solid(e) {
  21643. var _this = _super.call(this, Jn, "solid", !0) || this;
  21644. _this.id = e.id || "";
  21645. _this.use = e.use || "";
  21646. _this.usehref = e.usehref || "";
  21647. _this.extras = null;
  21648. return _this;
  21649. }
  21650. Solid.prototype[rn] = function (e) { return e ? e[rn]() : "#FFFFFF"; };
  21651. return Solid;
  21652. }(XFAObject));
  21653. var Speak = /** @class */ (function (_super) {
  21654. tslib_1.__extends(Speak, _super);
  21655. function Speak(e) {
  21656. var _this = _super.call(this, Jn, "speak") || this;
  21657. _this.disable = getInteger({ data: e.disable, defaultValue: 0, validate: function (e) { return 1 === e; } });
  21658. _this.id = e.id || "";
  21659. _this.priority = getStringOption(e.priority, ["custom", "caption", "name", "toolTip"]);
  21660. _this.rid = e.rid || "";
  21661. _this.use = e.use || "";
  21662. _this.usehref = e.usehref || "";
  21663. return _this;
  21664. }
  21665. return Speak;
  21666. }(StringObject));
  21667. var Stipple = /** @class */ (function (_super) {
  21668. tslib_1.__extends(Stipple, _super);
  21669. function Stipple(e) {
  21670. var _this = _super.call(this, Jn, "stipple", !0) || this;
  21671. _this.id = e.id || "";
  21672. _this.rate = getInteger({ data: e.rate, defaultValue: 50, validate: function (e) { return e >= 0 && e <= 100; } });
  21673. _this.use = e.use || "";
  21674. _this.usehref = e.usehref || "";
  21675. _this.color = null;
  21676. _this.extras = null;
  21677. return _this;
  21678. }
  21679. Stipple.prototype[rn] = function (e) { var t = this.rate / 100; return Util.makeHexColor(Math.round(e.value.r * (1 - t) + this.value.r * t), Math.round(e.value.g * (1 - t) + this.value.g * t), Math.round(e.value.b * (1 - t) + this.value.b * t)); };
  21680. return Stipple;
  21681. }(XFAObject));
  21682. var Subform = /** @class */ (function (_super) {
  21683. tslib_1.__extends(Subform, _super);
  21684. function Subform(e) {
  21685. var _this = _super.call(this, Jn, "subform", !0) || this;
  21686. _this.access = getStringOption(e.access, ["open", "nonInteractive", "protected", "readOnly"]);
  21687. _this.allowMacro = getInteger({ data: e.allowMacro, defaultValue: 0, validate: function (e) { return 1 === e; } });
  21688. _this.anchorType = getStringOption(e.anchorType, ["topLeft", "bottomCenter", "bottomLeft", "bottomRight", "middleCenter", "middleLeft", "middleRight", "topCenter", "topRight"]);
  21689. _this.colSpan = getInteger({ data: e.colSpan, defaultValue: 1, validate: function (e) { return e >= 1 || -1 === e; } });
  21690. _this.columnWidths = (e.columnWidths || "").trim().split(/\s+/).map((function (e) { return "-1" === e ? -1 : getMeasurement(e); }));
  21691. _this.h = e.h ? getMeasurement(e.h) : "";
  21692. _this.hAlign = getStringOption(e.hAlign, ["left", "center", "justify", "justifyAll", "radix", "right"]);
  21693. _this.id = e.id || "";
  21694. _this.layout = getStringOption(e.layout, ["position", "lr-tb", "rl-row", "rl-tb", "row", "table", "tb"]);
  21695. _this.locale = e.locale || "";
  21696. _this.maxH = getMeasurement(e.maxH, "0pt");
  21697. _this.maxW = getMeasurement(e.maxW, "0pt");
  21698. _this.mergeMode = getStringOption(e.mergeMode, ["consumeData", "matchTemplate"]);
  21699. _this.minH = getMeasurement(e.minH, "0pt");
  21700. _this.minW = getMeasurement(e.minW, "0pt");
  21701. _this.name = e.name || "";
  21702. _this.presence = getStringOption(e.presence, ["visible", "hidden", "inactive", "invisible"]);
  21703. _this.relevant = getRelevant(e.relevant);
  21704. _this.restoreState = getStringOption(e.restoreState, ["manual", "auto"]);
  21705. _this.scope = getStringOption(e.scope, ["name", "none"]);
  21706. _this.use = e.use || "";
  21707. _this.usehref = e.usehref || "";
  21708. _this.w = e.w ? getMeasurement(e.w) : "";
  21709. _this.x = getMeasurement(e.x, "0pt");
  21710. _this.y = getMeasurement(e.y, "0pt");
  21711. _this.assist = null;
  21712. _this.bind = null;
  21713. _this.bookend = null;
  21714. _this.border = null;
  21715. _this.break = null;
  21716. _this.calculate = null;
  21717. _this.desc = null;
  21718. _this.extras = null;
  21719. _this.keep = null;
  21720. _this.margin = null;
  21721. _this.occur = null;
  21722. _this.overflow = null;
  21723. _this.pageSet = null;
  21724. _this.para = null;
  21725. _this.traversal = null;
  21726. _this.validate = null;
  21727. _this.variables = null;
  21728. _this.area = new XFAObjectArray;
  21729. _this.breakAfter = new XFAObjectArray;
  21730. _this.breakBefore = new XFAObjectArray;
  21731. _this.connect = new XFAObjectArray;
  21732. _this.draw = new XFAObjectArray;
  21733. _this.event = new XFAObjectArray;
  21734. _this.exObject = new XFAObjectArray;
  21735. _this.exclGroup = new XFAObjectArray;
  21736. _this.field = new XFAObjectArray;
  21737. _this.proto = new XFAObjectArray;
  21738. _this.setProperty = new XFAObjectArray;
  21739. _this.subform = new XFAObjectArray;
  21740. _this.subformSet = new XFAObjectArray;
  21741. return _this;
  21742. }
  21743. Subform.prototype[fr] = function () { var e = this[pr](); return e instanceof SubformSet ? e[fr]() : e; };
  21744. Subform.prototype[kr] = function () { return !0; };
  21745. Subform.prototype[Mr] = function () { return this.layout.endsWith("-tb") && 0 === this[ar].attempt && this[ar].numberInLine > 0 || this[pr]()[Mr](); };
  21746. Subform.prototype[ur] = function () { return tslib_1.__generator(this, function (_b) {
  21747. switch (_b.label) {
  21748. case 0: return [5 /*yield**/, tslib_1.__values(getContainedChildren(this))];
  21749. case 1:
  21750. _b.sent();
  21751. return [2 /*return*/];
  21752. }
  21753. }); };
  21754. Subform.prototype[rr] = function () { return flushHTML(this); };
  21755. Subform.prototype[Xs] = function (e, t) { addHTML(this, e, t); };
  21756. Subform.prototype[gr] = function () { return getAvailableSpace(this); };
  21757. Subform.prototype[xr] = function () { var _b; var e = this[fr](); if (!e[xr]())
  21758. return !1; if (void 0 !== this[ar]._isSplittable)
  21759. return this[ar]._isSplittable; if ("position" === this.layout || this.layout.includes("row")) {
  21760. this[ar]._isSplittable = !1;
  21761. return !1;
  21762. } if (this.keep && "none" !== this.keep.intact) {
  21763. this[ar]._isSplittable = !1;
  21764. return !1;
  21765. } if (((_b = e.layout) === null || _b === void 0 ? void 0 : _b.endsWith("-tb")) && 0 !== e[ar].numberInLine)
  21766. return !1; this[ar]._isSplittable = !0; return !0; };
  21767. Subform.prototype[an] = function (e) { var _b; setTabIndex(this); if (this.break) {
  21768. if ("auto" !== this.break.after || "" !== this.break.afterTarget) {
  21769. var e_545 = new BreakAfter({ targetType: this.break.after, target: this.break.afterTarget, startNew: this.break.startNew.toString() });
  21770. e_545[yr] = this[yr];
  21771. this[js](e_545);
  21772. this.breakAfter.push(e_545);
  21773. }
  21774. if ("auto" !== this.break.before || "" !== this.break.beforeTarget) {
  21775. var e_546 = new BreakBefore({ targetType: this.break.before, target: this.break.beforeTarget, startNew: this.break.startNew.toString() });
  21776. e_546[yr] = this[yr];
  21777. this[js](e_546);
  21778. this.breakBefore.push(e_546);
  21779. }
  21780. if ("" !== this.break.overflowTarget) {
  21781. var e_547 = new Overflow({ target: this.break.overflowTarget, leader: this.break.overflowLeader, trailer: this.break.overflowTrailer });
  21782. e_547[yr] = this[yr];
  21783. this[js](e_547);
  21784. this.overflow.push(e_547);
  21785. }
  21786. this[Xr](this.break);
  21787. this.break = null;
  21788. } if ("hidden" === this.presence || "inactive" === this.presence)
  21789. return HTMLResult.EMPTY; (this.breakBefore.children.length > 1 || this.breakAfter.children.length > 1) && warn("XFA - Several breakBefore or breakAfter in subforms: please file a bug."); if (this.breakBefore.children.length >= 1) {
  21790. var e_548 = this.breakBefore.children[0];
  21791. if (handleBreak(e_548))
  21792. return HTMLResult.breakNode(e_548);
  21793. } if ((_b = this[ar]) === null || _b === void 0 ? void 0 : _b.afterBreakAfter)
  21794. return HTMLResult.EMPTY; fixDimensions(this); var t = [], i = { id: this[nn], class: [] }; setAccess(this, i.class); this[ar] || (this[ar] = Object.create(null)); Object.assign(this[ar], { children: t, line: null, attributes: i, attempt: 0, numberInLine: 0, availableSpace: { width: Math.min(this.w || 1 / 0, e.width), height: Math.min(this.h || 1 / 0, e.height) }, width: 0, height: 0, prevHeight: 0, currentWidth: 0 }); var a = this[mr](), s = a[ar].noLayoutFailure, r = this[xr](); r || setFirstUnsplittable(this); if (!checkDimensions(this, e))
  21795. return HTMLResult.FAILURE; var n = new Set(["area", "draw", "exclGroup", "field", "subform", "subformSet"]); if (this.layout.includes("row")) {
  21796. var e_549 = this[fr]().columnWidths;
  21797. if (Array.isArray(e_549) && e_549.length > 0) {
  21798. this[ar].columnWidths = e_549;
  21799. this[ar].currentColumn = 0;
  21800. }
  21801. } var o = toStyle(this, "anchorType", "dimensions", "position", "presence", "border", "margin", "hAlign"), g = ["xfaSubform"], c = layoutClass(this); c && g.push(c); i.style = o; i.class = g; this.name && (i.xfaName = this.name); if (this.overflow) {
  21802. var t_407 = this.overflow[Cr]();
  21803. if (t_407.addLeader) {
  21804. t_407.addLeader = !1;
  21805. handleOverflow(this, t_407.leader, e);
  21806. }
  21807. } this[Wr](); var h = "lr-tb" === this.layout || "rl-tb" === this.layout, l = h ? 2 : 1; for (; this[ar].attempt < l; this[ar].attempt++) {
  21808. h && 1 === this[ar].attempt && (this[ar].numberInLine = 0);
  21809. var e_550 = this[Zs]({ filter: n, include: !0 });
  21810. if (e_550.success)
  21811. break;
  21812. if (e_550.isBreak()) {
  21813. this[Pr]();
  21814. return e_550;
  21815. }
  21816. if (h && 0 === this[ar].attempt && 0 === this[ar].numberInLine && !a[ar].noLayoutFailure) {
  21817. this[ar].attempt = l;
  21818. break;
  21819. }
  21820. } this[Pr](); r || unsetFirstUnsplittable(this); a[ar].noLayoutFailure = s; if (this[ar].attempt === l) {
  21821. this.overflow && (this[mr]()[ar].overflowNode = this.overflow);
  21822. r || delete this[ar];
  21823. return HTMLResult.FAILURE;
  21824. } if (this.overflow) {
  21825. var t_408 = this.overflow[Cr]();
  21826. if (t_408.addTrailer) {
  21827. t_408.addTrailer = !1;
  21828. handleOverflow(this, t_408.trailer, e);
  21829. }
  21830. } var C = 0, Q = 0; if (this.margin) {
  21831. C = this.margin.leftInset + this.margin.rightInset;
  21832. Q = this.margin.topInset + this.margin.bottomInset;
  21833. } var E = Math.max(this[ar].width + C, this.w || 0), u = Math.max(this[ar].height + Q, this.h || 0), d = [this.x, this.y, E, u]; "" === this.w && (o.width = measureToString(E)); "" === this.h && (o.height = measureToString(u)); if (("0px" === o.width || "0px" === o.height) && 0 === t.length)
  21834. return HTMLResult.EMPTY; var f = { name: "div", attributes: i, children: t }; applyAssist(this, i); var p = HTMLResult.success(createWrapper(this, f), d); if (this.breakAfter.children.length >= 1) {
  21835. var e_551 = this.breakAfter.children[0];
  21836. if (handleBreak(e_551)) {
  21837. this[ar].afterBreakAfter = p;
  21838. return HTMLResult.breakNode(e_551);
  21839. }
  21840. } delete this[ar]; return p; };
  21841. return Subform;
  21842. }(XFAObject));
  21843. var SubformSet = /** @class */ (function (_super) {
  21844. tslib_1.__extends(SubformSet, _super);
  21845. function SubformSet(e) {
  21846. var _this = _super.call(this, Jn, "subformSet", !0) || this;
  21847. _this.id = e.id || "";
  21848. _this.name = e.name || "";
  21849. _this.relation = getStringOption(e.relation, ["ordered", "choice", "unordered"]);
  21850. _this.relevant = getRelevant(e.relevant);
  21851. _this.use = e.use || "";
  21852. _this.usehref = e.usehref || "";
  21853. _this.bookend = null;
  21854. _this.break = null;
  21855. _this.desc = null;
  21856. _this.extras = null;
  21857. _this.occur = null;
  21858. _this.overflow = null;
  21859. _this.breakAfter = new XFAObjectArray;
  21860. _this.breakBefore = new XFAObjectArray;
  21861. _this.subform = new XFAObjectArray;
  21862. _this.subformSet = new XFAObjectArray;
  21863. return _this;
  21864. }
  21865. SubformSet.prototype[ur] = function () { return tslib_1.__generator(this, function (_b) {
  21866. switch (_b.label) {
  21867. case 0: return [5 /*yield**/, tslib_1.__values(getContainedChildren(this))];
  21868. case 1:
  21869. _b.sent();
  21870. return [2 /*return*/];
  21871. }
  21872. }); };
  21873. SubformSet.prototype[fr] = function () { var e = this[pr](); for (; !(e instanceof Subform);)
  21874. e = e[pr](); return e; };
  21875. SubformSet.prototype[kr] = function () { return !0; };
  21876. return SubformSet;
  21877. }(XFAObject));
  21878. var SubjectDN = /** @class */ (function (_super) {
  21879. tslib_1.__extends(SubjectDN, _super);
  21880. function SubjectDN(e) {
  21881. var _this = _super.call(this, Jn, "subjectDN") || this;
  21882. _this.delimiter = e.delimiter || ",";
  21883. _this.id = e.id || "";
  21884. _this.name = e.name || "";
  21885. _this.use = e.use || "";
  21886. _this.usehref = e.usehref || "";
  21887. return _this;
  21888. }
  21889. SubjectDN.prototype[sr] = function () { this[er] = new Map(this[er].split(this.delimiter).map((function (e) { (e = e.split("=", 2))[0] = e[0].trim(); return e; }))); };
  21890. return SubjectDN;
  21891. }(ContentObject));
  21892. var SubjectDNs = /** @class */ (function (_super) {
  21893. tslib_1.__extends(SubjectDNs, _super);
  21894. function SubjectDNs(e) {
  21895. var _this = _super.call(this, Jn, "subjectDNs", !0) || this;
  21896. _this.id = e.id || "";
  21897. _this.type = getStringOption(e.type, ["optional", "required"]);
  21898. _this.use = e.use || "";
  21899. _this.usehref = e.usehref || "";
  21900. _this.subjectDN = new XFAObjectArray;
  21901. return _this;
  21902. }
  21903. return SubjectDNs;
  21904. }(XFAObject));
  21905. var Submit = /** @class */ (function (_super) {
  21906. tslib_1.__extends(Submit, _super);
  21907. function Submit(e) {
  21908. var _this = _super.call(this, Jn, "submit", !0) || this;
  21909. _this.embedPDF = getInteger({ data: e.embedPDF, defaultValue: 0, validate: function (e) { return 1 === e; } });
  21910. _this.format = getStringOption(e.format, ["xdp", "formdata", "pdf", "urlencoded", "xfd", "xml"]);
  21911. _this.id = e.id || "";
  21912. _this.target = e.target || "";
  21913. _this.textEncoding = getKeyword({ data: e.textEncoding ? e.textEncoding.toLowerCase() : "", defaultValue: "", validate: function (e) { return ["utf-8", "big-five", "fontspecific", "gbk", "gb-18030", "gb-2312", "ksc-5601", "none", "shift-jis", "ucs-2", "utf-16"].includes(e) || e.match(/iso-8859-\d{2}/); } });
  21914. _this.use = e.use || "";
  21915. _this.usehref = e.usehref || "";
  21916. _this.xdpContent = e.xdpContent || "";
  21917. _this.encrypt = null;
  21918. _this.encryptData = new XFAObjectArray;
  21919. _this.signData = new XFAObjectArray;
  21920. return _this;
  21921. }
  21922. return Submit;
  21923. }(XFAObject));
  21924. var Template = /** @class */ (function (_super) {
  21925. tslib_1.__extends(Template, _super);
  21926. function Template(e) {
  21927. var _this = _super.call(this, Jn, "template", !0) || this;
  21928. _this.baseProfile = getStringOption(e.baseProfile, ["full", "interactiveForms"]);
  21929. _this.extras = null;
  21930. _this.subform = new XFAObjectArray;
  21931. return _this;
  21932. }
  21933. Template.prototype[sr] = function () { 0 === this.subform.children.length && warn("XFA - No subforms in template node."); this.subform.children.length >= 2 && warn("XFA - Several subforms in template node: please file a bug."); this[An] = 5e3; };
  21934. Template.prototype[xr] = function () { return !0; };
  21935. Template.prototype[Vr] = function (e, t) { return e.startsWith("#") ? [this[br].get(e.slice(1))] : searchNode(this, t, e, !0, !0); };
  21936. Template.prototype[tn] = function () { var e, t, i, a, s, r, e_552, n, o, g, c, h, l, C, _loop_4, this_2, state_2; var _b, _k, _l; return tslib_1.__generator(this, function (_m) {
  21937. switch (_m.label) {
  21938. case 0:
  21939. if (!this.subform.children.length)
  21940. return [2 /*return*/, HTMLResult.success({ name: "div", children: [] })];
  21941. this[ar] = { overflowNode: null, firstUnsplittable: null, currentContentArea: null, currentPageArea: null, noLayoutFailure: !1, pageNumber: 1, pagePosition: "first", oddOrEven: "odd", blankOrNotBlank: "nonBlank", paraStack: [] };
  21942. e = this.subform.children[0];
  21943. e.pageSet[zs]();
  21944. t = e.pageSet.pageArea.children, i = { name: "div", children: [] };
  21945. a = null, s = null, r = null;
  21946. if (e.breakBefore.children.length >= 1) {
  21947. s = e.breakBefore.children[0];
  21948. r = s.target;
  21949. }
  21950. else if (e.subform.children.length >= 1 && e.subform.children[0].breakBefore.children.length >= 1) {
  21951. s = e.subform.children[0].breakBefore.children[0];
  21952. r = s.target;
  21953. }
  21954. else if ((_b = e.break) === null || _b === void 0 ? void 0 : _b.beforeTarget) {
  21955. s = e.break;
  21956. r = s.beforeTarget;
  21957. }
  21958. else if (e.subform.children.length >= 1 && ((_k = e.subform.children[0].break) === null || _k === void 0 ? void 0 : _k.beforeTarget)) {
  21959. s = e.subform.children[0].break;
  21960. r = s.beforeTarget;
  21961. }
  21962. if (s) {
  21963. e_552 = this[Vr](r, s[pr]());
  21964. if (e_552 instanceof PageArea) {
  21965. a = e_552;
  21966. s[ar] = {};
  21967. }
  21968. }
  21969. a || (a = t[0]);
  21970. a[ar] = { numberOfUse: 1 };
  21971. n = a[pr]();
  21972. n[ar] = { numberOfUse: 1, pageIndex: n.pageArea.children.indexOf(a), pageSetIndex: 0 };
  21973. g = null, c = null, h = !0, l = 0, C = 0;
  21974. _loop_4 = function () {
  21975. var t_409, s_179, r_142, flush, t_410, a_264, a_265, n_96, l_26, e_553, e_554, i_334, a_266, r_143, e_555;
  21976. return tslib_1.__generator(this, function (_o) {
  21977. switch (_o.label) {
  21978. case 0:
  21979. if (h)
  21980. l = 0;
  21981. else {
  21982. i.children.pop();
  21983. if (3 == ++l) {
  21984. warn("XFA - Something goes wrong: please file a bug.");
  21985. return [2 /*return*/, { value: i }];
  21986. }
  21987. }
  21988. o = null;
  21989. this_2[ar].currentPageArea = a;
  21990. t_409 = a[an]().html;
  21991. i.children.push(t_409);
  21992. if (g) {
  21993. this_2[ar].noLayoutFailure = !0;
  21994. t_409.children.push(g[an](a[ar].space).html);
  21995. g = null;
  21996. }
  21997. if (c) {
  21998. this_2[ar].noLayoutFailure = !0;
  21999. t_409.children.push(c[an](a[ar].space).html);
  22000. c = null;
  22001. }
  22002. s_179 = a.contentArea.children, r_142 = t_409.children.filter((function (e) { return e.attributes.class.includes("xfaContentarea"); }));
  22003. h = !1;
  22004. this_2[ar].firstUnsplittable = null;
  22005. this_2[ar].noLayoutFailure = !1;
  22006. flush = function (t) { var _b; var i = e[rr](); if (i) {
  22007. h || (h = ((_b = i.children) === null || _b === void 0 ? void 0 : _b.length) > 0);
  22008. r_142[t].children.push(i);
  22009. } };
  22010. for (t_410 = C, a_264 = s_179.length; t_410 < a_264; t_410++) {
  22011. a_265 = this_2[ar].currentContentArea = s_179[t_410], n_96 = { width: a_265.w, height: a_265.h };
  22012. C = 0;
  22013. if (g) {
  22014. r_142[t_410].children.push(g[an](n_96).html);
  22015. g = null;
  22016. }
  22017. if (c) {
  22018. r_142[t_410].children.push(c[an](n_96).html);
  22019. c = null;
  22020. }
  22021. l_26 = e[an](n_96);
  22022. if (l_26.success) {
  22023. if (l_26.html) {
  22024. h || (h = ((_l = l_26.html.children) === null || _l === void 0 ? void 0 : _l.length) > 0);
  22025. r_142[t_410].children.push(l_26.html);
  22026. }
  22027. else
  22028. !h && i.children.length > 1 && i.children.pop();
  22029. return [2 /*return*/, { value: i }];
  22030. }
  22031. if (l_26.isBreak()) {
  22032. e_553 = l_26.breakNode;
  22033. flush(t_410);
  22034. if ("auto" === e_553.targetType)
  22035. continue;
  22036. if (e_553.leader) {
  22037. g = this_2[Vr](e_553.leader, e_553[pr]());
  22038. g = g ? g[0] : null;
  22039. }
  22040. if (e_553.trailer) {
  22041. c = this_2[Vr](e_553.trailer, e_553[pr]());
  22042. c = c ? c[0] : null;
  22043. }
  22044. if ("pageArea" === e_553.targetType) {
  22045. o = e_553[ar].target;
  22046. t_410 = 1 / 0;
  22047. }
  22048. else if (e_553[ar].target) {
  22049. o = e_553[ar].target;
  22050. C = e_553[ar].index + 1;
  22051. t_410 = 1 / 0;
  22052. }
  22053. else
  22054. t_410 = e_553[ar].index;
  22055. }
  22056. else if (this_2[ar].overflowNode) {
  22057. e_554 = this_2[ar].overflowNode;
  22058. this_2[ar].overflowNode = null;
  22059. i_334 = e_554[Cr](), a_266 = i_334.target;
  22060. i_334.addLeader = null !== i_334.leader;
  22061. i_334.addTrailer = null !== i_334.trailer;
  22062. flush(t_410);
  22063. r_143 = t_410;
  22064. t_410 = 1 / 0;
  22065. if (a_266 instanceof PageArea)
  22066. o = a_266;
  22067. else if (a_266 instanceof ContentArea) {
  22068. e_555 = s_179.indexOf(a_266);
  22069. if (-1 !== e_555)
  22070. e_555 > r_143 ? t_410 = e_555 - 1 : C = e_555;
  22071. else {
  22072. o = a_266[pr]();
  22073. C = o.contentArea.children.indexOf(a_266);
  22074. }
  22075. }
  22076. }
  22077. else
  22078. flush(t_410);
  22079. }
  22080. this_2[ar].pageNumber += 1;
  22081. o && (o[Lr]() ? o[ar].numberOfUse += 1 : o = null);
  22082. a = o || a[dr]();
  22083. return [4 /*yield*/, null];
  22084. case 1:
  22085. _o.sent();
  22086. return [2 /*return*/];
  22087. }
  22088. });
  22089. };
  22090. this_2 = this;
  22091. _m.label = 1;
  22092. case 1: return [5 /*yield**/, _loop_4()];
  22093. case 2:
  22094. state_2 = _m.sent();
  22095. if (typeof state_2 === "object")
  22096. return [2 /*return*/, state_2.value];
  22097. _m.label = 3;
  22098. case 3: return [3 /*break*/, 1];
  22099. case 4: return [2 /*return*/];
  22100. }
  22101. }); };
  22102. return Template;
  22103. }(XFAObject));
  22104. var Text = /** @class */ (function (_super) {
  22105. tslib_1.__extends(Text, _super);
  22106. function Text(e) {
  22107. var _this = _super.call(this, Jn, "text") || this;
  22108. _this.id = e.id || "";
  22109. _this.maxChars = getInteger({ data: e.maxChars, defaultValue: 0, validate: function (e) { return e >= 0; } });
  22110. _this.name = e.name || "";
  22111. _this.rid = e.rid || "";
  22112. _this.use = e.use || "";
  22113. _this.usehref = e.usehref || "";
  22114. return _this;
  22115. }
  22116. Text.prototype[Ws] = function () { return !0; };
  22117. Text.prototype[Kr] = function (e) { if (e[Hr] === gn.xhtml.id) {
  22118. this[er] = e;
  22119. return !0;
  22120. } warn("XFA - Invalid content in Text: ".concat(e[Yr], ".")); return !1; };
  22121. Text.prototype[qr] = function (e) { this[er] instanceof XFAObject || _super.prototype[qr].call(this, e); };
  22122. Text.prototype[sr] = function () { "string" == typeof this[er] && (this[er] = this[er].replaceAll("\r\n", "\n")); };
  22123. Text.prototype[Cr] = function () { return "string" == typeof this[er] ? this[er].split(/[\u2029\u2028\n]/).reduce((function (e, t) { t && e.push(t); return e; }), []).join("\n") : this[er][en](); };
  22124. Text.prototype[an] = function (e) { if ("string" == typeof this[er]) {
  22125. var e_556 = valueToHtml(this[er]).html;
  22126. if (this[er].includes("\u2029")) {
  22127. e_556.name = "div";
  22128. e_556.children = [];
  22129. this[er].split("\u2029").map((function (e) { return e.split(/[\u2028\n]/).reduce((function (e, t) { e.push({ name: "span", value: t }, { name: "br" }); return e; }), []); })).forEach((function (t) { e_556.children.push({ name: "p", children: t }); }));
  22130. }
  22131. else if (/[\u2028\n]/.test(this[er])) {
  22132. e_556.name = "div";
  22133. e_556.children = [];
  22134. this[er].split(/[\u2028\n]/).forEach((function (t) { e_556.children.push({ name: "span", value: t }, { name: "br" }); }));
  22135. }
  22136. return HTMLResult.success(e_556);
  22137. } return this[er][an](e); };
  22138. return Text;
  22139. }(ContentObject));
  22140. var TextEdit = /** @class */ (function (_super) {
  22141. tslib_1.__extends(TextEdit, _super);
  22142. function TextEdit(e) {
  22143. var _this = _super.call(this, Jn, "textEdit", !0) || this;
  22144. _this.allowRichText = getInteger({ data: e.allowRichText, defaultValue: 0, validate: function (e) { return 1 === e; } });
  22145. _this.hScrollPolicy = getStringOption(e.hScrollPolicy, ["auto", "off", "on"]);
  22146. _this.id = e.id || "";
  22147. _this.multiLine = getInteger({ data: e.multiLine, defaultValue: "", validate: function (e) { return 0 === e || 1 === e; } });
  22148. _this.use = e.use || "";
  22149. _this.usehref = e.usehref || "";
  22150. _this.vScrollPolicy = getStringOption(e.vScrollPolicy, ["auto", "off", "on"]);
  22151. _this.border = null;
  22152. _this.comb = null;
  22153. _this.extras = null;
  22154. _this.margin = null;
  22155. return _this;
  22156. }
  22157. TextEdit.prototype[an] = function (e) { var _b, _k; var t = toStyle(this, "border", "font", "margin"); var i; var a = this[pr]()[pr](); "" === this.multiLine && (this.multiLine = a instanceof Draw ? 1 : 0); i = 1 === this.multiLine ? { name: "textarea", attributes: { dataId: ((_b = a[tr]) === null || _b === void 0 ? void 0 : _b[nn]) || a[nn], fieldId: a[nn], class: ["xfaTextfield"], style: t, "aria-label": ariaLabel(a), "aria-required": !1 } } : { name: "input", attributes: { type: "text", dataId: ((_k = a[tr]) === null || _k === void 0 ? void 0 : _k[nn]) || a[nn], fieldId: a[nn], class: ["xfaTextfield"], style: t, "aria-label": ariaLabel(a), "aria-required": !1 } }; if (isRequired(a)) {
  22158. i.attributes["aria-required"] = !0;
  22159. i.attributes.required = !0;
  22160. } return HTMLResult.success({ name: "label", attributes: { class: ["xfaLabel"] }, children: [i] }); };
  22161. return TextEdit;
  22162. }(XFAObject));
  22163. var Time = /** @class */ (function (_super) {
  22164. tslib_1.__extends(Time, _super);
  22165. function Time(e) {
  22166. var _this = _super.call(this, Jn, "time") || this;
  22167. _this.id = e.id || "";
  22168. _this.name = e.name || "";
  22169. _this.use = e.use || "";
  22170. _this.usehref = e.usehref || "";
  22171. return _this;
  22172. }
  22173. Time.prototype[sr] = function () { var e = this[er].trim(); this[er] = e ? new Date(e) : null; };
  22174. Time.prototype[an] = function (e) { return valueToHtml(this[er] ? this[er].toString() : ""); };
  22175. return Time;
  22176. }(StringObject));
  22177. var TimeStamp = /** @class */ (function (_super) {
  22178. tslib_1.__extends(TimeStamp, _super);
  22179. function TimeStamp(e) {
  22180. var _this = _super.call(this, Jn, "timeStamp") || this;
  22181. _this.id = e.id || "";
  22182. _this.server = e.server || "";
  22183. _this.type = getStringOption(e.type, ["optional", "required"]);
  22184. _this.use = e.use || "";
  22185. _this.usehref = e.usehref || "";
  22186. return _this;
  22187. }
  22188. return TimeStamp;
  22189. }(XFAObject));
  22190. var ToolTip = /** @class */ (function (_super) {
  22191. tslib_1.__extends(ToolTip, _super);
  22192. function ToolTip(e) {
  22193. var _this = _super.call(this, Jn, "toolTip") || this;
  22194. _this.id = e.id || "";
  22195. _this.rid = e.rid || "";
  22196. _this.use = e.use || "";
  22197. _this.usehref = e.usehref || "";
  22198. return _this;
  22199. }
  22200. return ToolTip;
  22201. }(StringObject));
  22202. var Traversal = /** @class */ (function (_super) {
  22203. tslib_1.__extends(Traversal, _super);
  22204. function Traversal(e) {
  22205. var _this = _super.call(this, Jn, "traversal", !0) || this;
  22206. _this.id = e.id || "";
  22207. _this.use = e.use || "";
  22208. _this.usehref = e.usehref || "";
  22209. _this.extras = null;
  22210. _this.traverse = new XFAObjectArray;
  22211. return _this;
  22212. }
  22213. return Traversal;
  22214. }(XFAObject));
  22215. var Traverse = /** @class */ (function (_super) {
  22216. tslib_1.__extends(Traverse, _super);
  22217. function Traverse(e) {
  22218. var _this = _super.call(this, Jn, "traverse", !0) || this;
  22219. _this.id = e.id || "";
  22220. _this.operation = getStringOption(e.operation, ["next", "back", "down", "first", "left", "right", "up"]);
  22221. _this.ref = e.ref || "";
  22222. _this.use = e.use || "";
  22223. _this.usehref = e.usehref || "";
  22224. _this.extras = null;
  22225. _this.script = null;
  22226. return _this;
  22227. }
  22228. Object.defineProperty(Traverse.prototype, "name", {
  22229. get: function () { return this.operation; },
  22230. enumerable: false,
  22231. configurable: true
  22232. });
  22233. Traverse.prototype[Ur] = function () { return !1; };
  22234. return Traverse;
  22235. }(XFAObject));
  22236. var Ui = /** @class */ (function (_super) {
  22237. tslib_1.__extends(Ui, _super);
  22238. function Ui(e) {
  22239. var _this = _super.call(this, Jn, "ui", !0) || this;
  22240. _this.id = e.id || "";
  22241. _this.use = e.use || "";
  22242. _this.usehref = e.usehref || "";
  22243. _this.extras = null;
  22244. _this.picture = null;
  22245. _this.barcode = null;
  22246. _this.button = null;
  22247. _this.checkButton = null;
  22248. _this.choiceList = null;
  22249. _this.dateTimeEdit = null;
  22250. _this.defaultUi = null;
  22251. _this.imageEdit = null;
  22252. _this.numericEdit = null;
  22253. _this.passwordEdit = null;
  22254. _this.signature = null;
  22255. _this.textEdit = null;
  22256. return _this;
  22257. }
  22258. Ui.prototype[Cr] = function () { if (void 0 === this[ar]) {
  22259. for (var _b = 0, _k = Object.getOwnPropertyNames(this); _b < _k.length; _b++) {
  22260. var e_557 = _k[_b];
  22261. if ("extras" === e_557 || "picture" === e_557)
  22262. continue;
  22263. var t_411 = this[e_557];
  22264. if (t_411 instanceof XFAObject) {
  22265. this[ar] = t_411;
  22266. return t_411;
  22267. }
  22268. }
  22269. this[ar] = null;
  22270. } return this[ar]; };
  22271. Ui.prototype[an] = function (e) { var t = this[Cr](); return t ? t[an](e) : HTMLResult.EMPTY; };
  22272. return Ui;
  22273. }(XFAObject));
  22274. var Validate = /** @class */ (function (_super) {
  22275. tslib_1.__extends(Validate, _super);
  22276. function Validate(e) {
  22277. var _this = _super.call(this, Jn, "validate", !0) || this;
  22278. _this.formatTest = getStringOption(e.formatTest, ["warning", "disabled", "error"]);
  22279. _this.id = e.id || "";
  22280. _this.nullTest = getStringOption(e.nullTest, ["disabled", "error", "warning"]);
  22281. _this.scriptTest = getStringOption(e.scriptTest, ["error", "disabled", "warning"]);
  22282. _this.use = e.use || "";
  22283. _this.usehref = e.usehref || "";
  22284. _this.extras = null;
  22285. _this.message = null;
  22286. _this.picture = null;
  22287. _this.script = null;
  22288. return _this;
  22289. }
  22290. return Validate;
  22291. }(XFAObject));
  22292. var Value = /** @class */ (function (_super) {
  22293. tslib_1.__extends(Value, _super);
  22294. function Value(e) {
  22295. var _this = _super.call(this, Jn, "value", !0) || this;
  22296. _this.id = e.id || "";
  22297. _this.override = getInteger({ data: e.override, defaultValue: 0, validate: function (e) { return 1 === e; } });
  22298. _this.relevant = getRelevant(e.relevant);
  22299. _this.use = e.use || "";
  22300. _this.usehref = e.usehref || "";
  22301. _this.arc = null;
  22302. _this.boolean = null;
  22303. _this.date = null;
  22304. _this.dateTime = null;
  22305. _this.decimal = null;
  22306. _this.exData = null;
  22307. _this.float = null;
  22308. _this.image = null;
  22309. _this.integer = null;
  22310. _this.line = null;
  22311. _this.rectangle = null;
  22312. _this.text = null;
  22313. _this.time = null;
  22314. return _this;
  22315. }
  22316. Value.prototype[$r] = function (e) { var _b; var t = this[pr](); if (t instanceof Field && ((_b = t.ui) === null || _b === void 0 ? void 0 : _b.imageEdit)) {
  22317. if (!this.image) {
  22318. this.image = new Image({});
  22319. this[js](this.image);
  22320. }
  22321. this.image[er] = e[er];
  22322. return;
  22323. } var i = e[Yr]; if (null === this[i]) {
  22324. for (var _k = 0, _l = Object.getOwnPropertyNames(this); _k < _l.length; _k++) {
  22325. var e_558 = _l[_k];
  22326. var t_412 = this[e_558];
  22327. if (t_412 instanceof XFAObject) {
  22328. this[e_558] = null;
  22329. this[Xr](t_412);
  22330. }
  22331. }
  22332. this[e[Yr]] = e;
  22333. this[js](e);
  22334. }
  22335. else
  22336. this[i][er] = e[er]; };
  22337. Value.prototype[en] = function () { if (this.exData)
  22338. return "string" == typeof this.exData[er] ? this.exData[er].trim() : this.exData[er][en]().trim(); for (var _b = 0, _k = Object.getOwnPropertyNames(this); _b < _k.length; _b++) {
  22339. var e_559 = _k[_b];
  22340. if ("image" === e_559)
  22341. continue;
  22342. var t_413 = this[e_559];
  22343. if (t_413 instanceof XFAObject)
  22344. return (t_413[er] || "").toString().trim();
  22345. } return null; };
  22346. Value.prototype[an] = function (e) { for (var _b = 0, _k = Object.getOwnPropertyNames(this); _b < _k.length; _b++) {
  22347. var t_414 = _k[_b];
  22348. var i_335 = this[t_414];
  22349. if (i_335 instanceof XFAObject)
  22350. return i_335[an](e);
  22351. } return HTMLResult.EMPTY; };
  22352. return Value;
  22353. }(XFAObject));
  22354. var Variables = /** @class */ (function (_super) {
  22355. tslib_1.__extends(Variables, _super);
  22356. function Variables(e) {
  22357. var _this = _super.call(this, Jn, "variables", !0) || this;
  22358. _this.id = e.id || "";
  22359. _this.use = e.use || "";
  22360. _this.usehref = e.usehref || "";
  22361. _this.boolean = new XFAObjectArray;
  22362. _this.date = new XFAObjectArray;
  22363. _this.dateTime = new XFAObjectArray;
  22364. _this.decimal = new XFAObjectArray;
  22365. _this.exData = new XFAObjectArray;
  22366. _this.float = new XFAObjectArray;
  22367. _this.image = new XFAObjectArray;
  22368. _this.integer = new XFAObjectArray;
  22369. _this.manifest = new XFAObjectArray;
  22370. _this.script = new XFAObjectArray;
  22371. _this.text = new XFAObjectArray;
  22372. _this.time = new XFAObjectArray;
  22373. return _this;
  22374. }
  22375. Variables.prototype[Ur] = function () { return !0; };
  22376. return Variables;
  22377. }(XFAObject));
  22378. var TemplateNamespace = /** @class */ (function () {
  22379. function TemplateNamespace() {
  22380. }
  22381. TemplateNamespace[on] = function (e, t) { if (TemplateNamespace.hasOwnProperty(e)) {
  22382. var i_336 = TemplateNamespace[e](t);
  22383. i_336[_r](t);
  22384. return i_336;
  22385. } };
  22386. TemplateNamespace.appearanceFilter = function (e) { return new AppearanceFilter(e); };
  22387. TemplateNamespace.arc = function (e) { return new Arc(e); };
  22388. TemplateNamespace.area = function (e) { return new Area(e); };
  22389. TemplateNamespace.assist = function (e) { return new Assist(e); };
  22390. TemplateNamespace.barcode = function (e) { return new Barcode(e); };
  22391. TemplateNamespace.bind = function (e) { return new Bind(e); };
  22392. TemplateNamespace.bindItems = function (e) { return new BindItems(e); };
  22393. TemplateNamespace.bookend = function (e) { return new Bookend(e); };
  22394. TemplateNamespace.boolean = function (e) { return new BooleanElement(e); };
  22395. TemplateNamespace.border = function (e) { return new Border(e); };
  22396. TemplateNamespace.break = function (e) { return new Break(e); };
  22397. TemplateNamespace.breakAfter = function (e) { return new BreakAfter(e); };
  22398. TemplateNamespace.breakBefore = function (e) { return new BreakBefore(e); };
  22399. TemplateNamespace.button = function (e) { return new Button(e); };
  22400. TemplateNamespace.calculate = function (e) { return new Calculate(e); };
  22401. TemplateNamespace.caption = function (e) { return new Caption(e); };
  22402. TemplateNamespace.certificate = function (e) { return new Certificate(e); };
  22403. TemplateNamespace.certificates = function (e) { return new Certificates(e); };
  22404. TemplateNamespace.checkButton = function (e) { return new CheckButton(e); };
  22405. TemplateNamespace.choiceList = function (e) { return new ChoiceList(e); };
  22406. TemplateNamespace.color = function (e) { return new Color(e); };
  22407. TemplateNamespace.comb = function (e) { return new Comb(e); };
  22408. TemplateNamespace.connect = function (e) { return new Connect(e); };
  22409. TemplateNamespace.contentArea = function (e) { return new ContentArea(e); };
  22410. TemplateNamespace.corner = function (e) { return new Corner(e); };
  22411. TemplateNamespace.date = function (e) { return new DateElement(e); };
  22412. TemplateNamespace.dateTime = function (e) { return new DateTime(e); };
  22413. TemplateNamespace.dateTimeEdit = function (e) { return new DateTimeEdit(e); };
  22414. TemplateNamespace.decimal = function (e) { return new Decimal(e); };
  22415. TemplateNamespace.defaultUi = function (e) { return new DefaultUi(e); };
  22416. TemplateNamespace.desc = function (e) { return new Desc(e); };
  22417. TemplateNamespace.digestMethod = function (e) { return new DigestMethod(e); };
  22418. TemplateNamespace.digestMethods = function (e) { return new DigestMethods(e); };
  22419. TemplateNamespace.draw = function (e) { return new Draw(e); };
  22420. TemplateNamespace.edge = function (e) { return new Edge(e); };
  22421. TemplateNamespace.encoding = function (e) { return new Encoding(e); };
  22422. TemplateNamespace.encodings = function (e) { return new Encodings(e); };
  22423. TemplateNamespace.encrypt = function (e) { return new Encrypt(e); };
  22424. TemplateNamespace.encryptData = function (e) { return new EncryptData(e); };
  22425. TemplateNamespace.encryption = function (e) { return new Encryption(e); };
  22426. TemplateNamespace.encryptionMethod = function (e) { return new EncryptionMethod(e); };
  22427. TemplateNamespace.encryptionMethods = function (e) { return new EncryptionMethods(e); };
  22428. TemplateNamespace.event = function (e) { return new Event(e); };
  22429. TemplateNamespace.exData = function (e) { return new ExData(e); };
  22430. TemplateNamespace.exObject = function (e) { return new ExObject(e); };
  22431. TemplateNamespace.exclGroup = function (e) { return new ExclGroup(e); };
  22432. TemplateNamespace.execute = function (e) { return new Execute(e); };
  22433. TemplateNamespace.extras = function (e) { return new Extras(e); };
  22434. TemplateNamespace.field = function (e) { return new Field(e); };
  22435. TemplateNamespace.fill = function (e) { return new Fill(e); };
  22436. TemplateNamespace.filter = function (e) { return new Filter(e); };
  22437. TemplateNamespace.float = function (e) { return new Float(e); };
  22438. TemplateNamespace.font = function (e) { return new template_Font(e); };
  22439. TemplateNamespace.format = function (e) { return new Format(e); };
  22440. TemplateNamespace.handler = function (e) { return new Handler(e); };
  22441. TemplateNamespace.hyphenation = function (e) { return new Hyphenation(e); };
  22442. TemplateNamespace.image = function (e) { return new Image(e); };
  22443. TemplateNamespace.imageEdit = function (e) { return new ImageEdit(e); };
  22444. TemplateNamespace.integer = function (e) { return new Integer(e); };
  22445. TemplateNamespace.issuers = function (e) { return new Issuers(e); };
  22446. TemplateNamespace.items = function (e) { return new Items(e); };
  22447. TemplateNamespace.keep = function (e) { return new Keep(e); };
  22448. TemplateNamespace.keyUsage = function (e) { return new KeyUsage(e); };
  22449. TemplateNamespace.line = function (e) { return new Line(e); };
  22450. TemplateNamespace.linear = function (e) { return new Linear(e); };
  22451. TemplateNamespace.lockDocument = function (e) { return new LockDocument(e); };
  22452. TemplateNamespace.manifest = function (e) { return new Manifest(e); };
  22453. TemplateNamespace.margin = function (e) { return new Margin(e); };
  22454. TemplateNamespace.mdp = function (e) { return new Mdp(e); };
  22455. TemplateNamespace.medium = function (e) { return new Medium(e); };
  22456. TemplateNamespace.message = function (e) { return new Message(e); };
  22457. TemplateNamespace.numericEdit = function (e) { return new NumericEdit(e); };
  22458. TemplateNamespace.occur = function (e) { return new Occur(e); };
  22459. TemplateNamespace.oid = function (e) { return new Oid(e); };
  22460. TemplateNamespace.oids = function (e) { return new Oids(e); };
  22461. TemplateNamespace.overflow = function (e) { return new Overflow(e); };
  22462. TemplateNamespace.pageArea = function (e) { return new PageArea(e); };
  22463. TemplateNamespace.pageSet = function (e) { return new PageSet(e); };
  22464. TemplateNamespace.para = function (e) { return new Para(e); };
  22465. TemplateNamespace.passwordEdit = function (e) { return new PasswordEdit(e); };
  22466. TemplateNamespace.pattern = function (e) { return new template_Pattern(e); };
  22467. TemplateNamespace.picture = function (e) { return new Picture(e); };
  22468. TemplateNamespace.proto = function (e) { return new Proto(e); };
  22469. TemplateNamespace.radial = function (e) { return new Radial(e); };
  22470. TemplateNamespace.reason = function (e) { return new Reason(e); };
  22471. TemplateNamespace.reasons = function (e) { return new Reasons(e); };
  22472. TemplateNamespace.rectangle = function (e) { return new Rectangle(e); };
  22473. TemplateNamespace.ref = function (e) { return new RefElement(e); };
  22474. TemplateNamespace.script = function (e) { return new Script(e); };
  22475. TemplateNamespace.setProperty = function (e) { return new SetProperty(e); };
  22476. TemplateNamespace.signData = function (e) { return new SignData(e); };
  22477. TemplateNamespace.signature = function (e) { return new Signature(e); };
  22478. TemplateNamespace.signing = function (e) { return new Signing(e); };
  22479. TemplateNamespace.solid = function (e) { return new Solid(e); };
  22480. TemplateNamespace.speak = function (e) { return new Speak(e); };
  22481. TemplateNamespace.stipple = function (e) { return new Stipple(e); };
  22482. TemplateNamespace.subform = function (e) { return new Subform(e); };
  22483. TemplateNamespace.subformSet = function (e) { return new SubformSet(e); };
  22484. TemplateNamespace.subjectDN = function (e) { return new SubjectDN(e); };
  22485. TemplateNamespace.subjectDNs = function (e) { return new SubjectDNs(e); };
  22486. TemplateNamespace.submit = function (e) { return new Submit(e); };
  22487. TemplateNamespace.template = function (e) { return new Template(e); };
  22488. TemplateNamespace.text = function (e) { return new Text(e); };
  22489. TemplateNamespace.textEdit = function (e) { return new TextEdit(e); };
  22490. TemplateNamespace.time = function (e) { return new Time(e); };
  22491. TemplateNamespace.timeStamp = function (e) { return new TimeStamp(e); };
  22492. TemplateNamespace.toolTip = function (e) { return new ToolTip(e); };
  22493. TemplateNamespace.traversal = function (e) { return new Traversal(e); };
  22494. TemplateNamespace.traverse = function (e) { return new Traverse(e); };
  22495. TemplateNamespace.ui = function (e) { return new Ui(e); };
  22496. TemplateNamespace.validate = function (e) { return new Validate(e); };
  22497. TemplateNamespace.value = function (e) { return new Value(e); };
  22498. TemplateNamespace.variables = function (e) { return new Variables(e); };
  22499. return TemplateNamespace;
  22500. }());
  22501. var Tn = gn.datasets.id;
  22502. function createText(e) { var t = new Text({}); t[er] = e; return t; }
  22503. var Binder = /** @class */ (function () {
  22504. function Binder(e) {
  22505. var _b;
  22506. this.root = e;
  22507. this.datasets = e.datasets;
  22508. this.data = ((_b = e.datasets) === null || _b === void 0 ? void 0 : _b.data) || new XmlObject(gn.datasets.id, "data");
  22509. this.emptyMerge = 0 === this.data[Er]().length;
  22510. this.root.form = this.form = e.template[$s]();
  22511. }
  22512. Binder.prototype._isConsumeData = function () { return !this.emptyMerge && this._mergeMode; };
  22513. Binder.prototype._isMatchTemplate = function () { return !this._isConsumeData(); };
  22514. Binder.prototype.bind = function () { this._bindElement(this.form, this.data); return this.form; };
  22515. Binder.prototype.getData = function () { return this.data; };
  22516. Binder.prototype._bindValue = function (e, t, i) { var _b, _k; e[tr] = t; if (e[wr]())
  22517. if (t[Rr]()) {
  22518. var i_337 = t[lr]();
  22519. e[$r](createText(i_337));
  22520. }
  22521. else if (e instanceof Field && "multiSelect" === ((_k = (_b = e.ui) === null || _b === void 0 ? void 0 : _b.choiceList) === null || _k === void 0 ? void 0 : _k.open)) {
  22522. var i_338 = t[Er]().map((function (e) { return e[er].trim(); })).join("\n");
  22523. e[$r](createText(i_338));
  22524. }
  22525. else
  22526. this._isConsumeData() && warn("XFA - Nodes haven't the same type.");
  22527. else
  22528. !t[Rr]() || this._isMatchTemplate() ? this._bindElement(e, t) : warn("XFA - Nodes haven't the same type."); };
  22529. Binder.prototype._findDataByNameToConsume = function (e, t, i, a) { if (!e)
  22530. return null; var s, r; for (var a_267 = 0; a_267 < 3; a_267++) {
  22531. s = i[Qr](e, !1, !0);
  22532. for (;;) {
  22533. r = s.next().value;
  22534. if (!r)
  22535. break;
  22536. if (t === r[Rr]())
  22537. return r;
  22538. }
  22539. if (i[Hr] === gn.datasets.id && "data" === i[Yr])
  22540. break;
  22541. i = i[pr]();
  22542. } if (!a)
  22543. return null; s = this.data[Qr](e, !0, !1); r = s.next().value; if (r)
  22544. return r; s = this.data[nr](e, !0); r = s.next().value; return (r === null || r === void 0 ? void 0 : r[Rr]()) ? r : null; };
  22545. Binder.prototype._setProperties = function (e, t) { if (e.hasOwnProperty("setProperty"))
  22546. for (var _b = 0, _k = e.setProperty.children; _b < _k.length; _b++) {
  22547. var _l = _k[_b], i_339 = _l.ref, a_268 = _l.target, s_180 = _l.connection;
  22548. if (s_180)
  22549. continue;
  22550. if (!i_339)
  22551. continue;
  22552. var r_144 = searchNode(this.root, t, i_339, !1, !1);
  22553. if (!r_144) {
  22554. warn("XFA - Invalid reference: ".concat(i_339, "."));
  22555. continue;
  22556. }
  22557. var n_97 = r_144[0];
  22558. if (!n_97[Nr](this.data)) {
  22559. warn("XFA - Invalid node: must be a data node.");
  22560. continue;
  22561. }
  22562. var o_69 = searchNode(this.root, e, a_268, !1, !1);
  22563. if (!o_69) {
  22564. warn("XFA - Invalid target: ".concat(a_268, "."));
  22565. continue;
  22566. }
  22567. var g_51 = o_69[0];
  22568. if (!g_51[Nr](e)) {
  22569. warn("XFA - Invalid target: must be a property or subproperty.");
  22570. continue;
  22571. }
  22572. var c_42 = g_51[pr]();
  22573. if (g_51 instanceof SetProperty || c_42 instanceof SetProperty) {
  22574. warn("XFA - Invalid target: cannot be a setProperty or one of its properties.");
  22575. continue;
  22576. }
  22577. if (g_51 instanceof BindItems || c_42 instanceof BindItems) {
  22578. warn("XFA - Invalid target: cannot be a bindItems or one of its properties.");
  22579. continue;
  22580. }
  22581. var h_31 = n_97[en](), l_27 = g_51[Yr];
  22582. if (g_51 instanceof XFAAttribute) {
  22583. var e_560 = Object.create(null);
  22584. e_560[l_27] = h_31;
  22585. var t_415 = Reflect.construct(Object.getPrototypeOf(c_42).constructor, [e_560]);
  22586. c_42[l_27] = t_415[l_27];
  22587. }
  22588. else if (g_51.hasOwnProperty(er)) {
  22589. g_51[tr] = n_97;
  22590. g_51[er] = h_31;
  22591. g_51[sr]();
  22592. }
  22593. else
  22594. warn("XFA - Invalid node to use in setProperty");
  22595. } };
  22596. Binder.prototype._bindItems = function (e, t) { if (!e.hasOwnProperty("items") || !e.hasOwnProperty("bindItems") || e.bindItems.isEmpty())
  22597. return; for (var _b = 0, _k = e.items.children; _b < _k.length; _b++) {
  22598. var t_416 = _k[_b];
  22599. e[Xr](t_416);
  22600. } e.items.clear(); var i = new Items({}), a = new Items({}); e[js](i); e.items.push(i); e[js](a); e.items.push(a); for (var _l = 0, _m = e.bindItems.children; _l < _m.length; _l++) {
  22601. var _o = _m[_l], s_181 = _o.ref, r_145 = _o.labelRef, n_98 = _o.valueRef, o_70 = _o.connection;
  22602. if (o_70)
  22603. continue;
  22604. if (!s_181)
  22605. continue;
  22606. var e_562 = searchNode(this.root, t, s_181, !1, !1);
  22607. if (e_562)
  22608. for (var _p = 0, e_561 = e_562; _p < e_561.length; _p++) {
  22609. var t_417 = e_561[_p];
  22610. if (!t_417[Nr](this.datasets)) {
  22611. warn("XFA - Invalid ref (".concat(s_181, "): must be a datasets child."));
  22612. continue;
  22613. }
  22614. var e_563 = searchNode(this.root, t_417, r_145, !0, !1);
  22615. if (!e_563) {
  22616. warn("XFA - Invalid label: ".concat(r_145, "."));
  22617. continue;
  22618. }
  22619. var o_71 = e_563[0];
  22620. if (!o_71[Nr](this.datasets)) {
  22621. warn("XFA - Invalid label: must be a datasets child.");
  22622. continue;
  22623. }
  22624. var g_52 = searchNode(this.root, t_417, n_98, !0, !1);
  22625. if (!g_52) {
  22626. warn("XFA - Invalid value: ".concat(n_98, "."));
  22627. continue;
  22628. }
  22629. var c_43 = g_52[0];
  22630. if (!c_43[Nr](this.datasets)) {
  22631. warn("XFA - Invalid value: must be a datasets child.");
  22632. continue;
  22633. }
  22634. var h_32 = createText(o_71[en]()), l_28 = createText(c_43[en]());
  22635. i[js](h_32);
  22636. i.text.push(h_32);
  22637. a[js](l_28);
  22638. a.text.push(l_28);
  22639. }
  22640. else
  22641. warn("XFA - Invalid reference: ".concat(s_181, "."));
  22642. } };
  22643. Binder.prototype._bindOccurrences = function (e, t, i) { var a; if (t.length > 1) {
  22644. a = e[$s]();
  22645. a[Xr](a.occur);
  22646. a.occur = null;
  22647. } this._bindValue(e, t[0], i); this._setProperties(e, t[0]); this._bindItems(e, t[0]); if (1 === t.length)
  22648. return; var s = e[pr](), r = e[Yr], n = s[Dr](e); for (var e_564 = 1, o_72 = t.length; e_564 < o_72; e_564++) {
  22649. var o_73 = t[e_564], g_53 = a[$s]();
  22650. s[r].push(g_53);
  22651. s[Fr](n + e_564, g_53);
  22652. this._bindValue(g_53, o_73, i);
  22653. this._setProperties(g_53, o_73);
  22654. this._bindItems(g_53, o_73);
  22655. } };
  22656. Binder.prototype._createOccurrences = function (e) { if (!this.emptyMerge)
  22657. return; var t = e.occur; if (!t || t.initial <= 1)
  22658. return; var i = e[pr](), a = e[Yr]; if (!(i[a] instanceof XFAObjectArray))
  22659. return; var s; s = e.name ? i[a].children.filter((function (t) { return t.name === e.name; })).length : i[a].children.length; var r = i[Dr](e) + 1, n = t.initial - s; if (n) {
  22660. var t_418 = e[$s]();
  22661. t_418[Xr](t_418.occur);
  22662. t_418.occur = null;
  22663. i[a].push(t_418);
  22664. i[Fr](r, t_418);
  22665. for (var e_565 = 1; e_565 < n; e_565++) {
  22666. var s_182 = t_418[$s]();
  22667. i[a].push(s_182);
  22668. i[Fr](r + e_565, s_182);
  22669. }
  22670. } };
  22671. Binder.prototype._getOccurInfo = function (e) { var t = e.name, i = e.occur; if (!i || !t)
  22672. return [1, 1]; var a = -1 === i.max ? 1 / 0 : i.max; return [i.min, a]; };
  22673. Binder.prototype._setAndBind = function (e, t) { this._setProperties(e, t); this._bindItems(e, t); this._bindElement(e, t); };
  22674. Binder.prototype._bindElement = function (e, t) { var i = []; this._createOccurrences(e); for (var _b = 0, _k = e[Er](); _b < _k.length; _b++) {
  22675. var a_269 = _k[_b];
  22676. if (a_269[tr])
  22677. continue;
  22678. if (void 0 === this._mergeMode && "subform" === a_269[Yr]) {
  22679. this._mergeMode = "consumeData" === a_269.mergeMode;
  22680. var e_566 = t[Er]();
  22681. if (e_566.length > 0)
  22682. this._bindOccurrences(a_269, [e_566[0]], null);
  22683. else if (this.emptyMerge) {
  22684. var e_567 = t[Hr] === Tn ? -1 : t[Hr], i_340 = a_269[tr] = new XmlObject(e_567, a_269.name || "root");
  22685. t[js](i_340);
  22686. this._bindElement(a_269, i_340);
  22687. }
  22688. continue;
  22689. }
  22690. if (!a_269[kr]())
  22691. continue;
  22692. var e_568 = !1, s_183 = null, r_146 = null, n_99 = null;
  22693. if (a_269.bind) {
  22694. switch (a_269.bind.match) {
  22695. case "none":
  22696. this._setAndBind(a_269, t);
  22697. continue;
  22698. case "global":
  22699. e_568 = !0;
  22700. break;
  22701. case "dataRef":
  22702. if (!a_269.bind.ref) {
  22703. warn("XFA - ref is empty in node ".concat(a_269[Yr], "."));
  22704. this._setAndBind(a_269, t);
  22705. continue;
  22706. }
  22707. r_146 = a_269.bind.ref;
  22708. }
  22709. a_269.bind.picture && (s_183 = a_269.bind.picture[er]);
  22710. }
  22711. var _l = this._getOccurInfo(a_269), o_74 = _l[0], g_54 = _l[1];
  22712. if (r_146) {
  22713. n_99 = searchNode(this.root, t, r_146, !0, !1);
  22714. if (null === n_99) {
  22715. n_99 = createDataNode(this.data, t, r_146);
  22716. if (!n_99)
  22717. continue;
  22718. this._isConsumeData() && (n_99[Ar] = !0);
  22719. this._setAndBind(a_269, n_99);
  22720. continue;
  22721. }
  22722. this._isConsumeData() && (n_99 = n_99.filter((function (e) { return !e[Ar]; })));
  22723. n_99.length > g_54 ? n_99 = n_99.slice(0, g_54) : 0 === n_99.length && (n_99 = null);
  22724. n_99 && this._isConsumeData() && n_99.forEach((function (e) { e[Ar] = !0; }));
  22725. }
  22726. else {
  22727. if (!a_269.name) {
  22728. this._setAndBind(a_269, t);
  22729. continue;
  22730. }
  22731. if (this._isConsumeData()) {
  22732. var i_341 = [];
  22733. for (; i_341.length < g_54;) {
  22734. var s_184 = this._findDataByNameToConsume(a_269.name, a_269[wr](), t, e_568);
  22735. if (!s_184)
  22736. break;
  22737. s_184[Ar] = !0;
  22738. i_341.push(s_184);
  22739. }
  22740. n_99 = i_341.length > 0 ? i_341 : null;
  22741. }
  22742. else {
  22743. n_99 = t[Qr](a_269.name, !1, this.emptyMerge).next().value;
  22744. if (!n_99) {
  22745. if (0 === o_74) {
  22746. i.push(a_269);
  22747. continue;
  22748. }
  22749. var e_569 = t[Hr] === Tn ? -1 : t[Hr];
  22750. n_99 = a_269[tr] = new XmlObject(e_569, a_269.name);
  22751. this.emptyMerge && (n_99[Ar] = !0);
  22752. t[js](n_99);
  22753. this._setAndBind(a_269, n_99);
  22754. continue;
  22755. }
  22756. this.emptyMerge && (n_99[Ar] = !0);
  22757. n_99 = [n_99];
  22758. }
  22759. }
  22760. n_99 ? this._bindOccurrences(a_269, n_99, s_183) : o_74 > 0 ? this._setAndBind(a_269, t) : i.push(a_269);
  22761. } i.forEach((function (e) { return e[pr]()[Xr](e); })); };
  22762. return Binder;
  22763. }());
  22764. var DataHandler = /** @class */ (function () {
  22765. function DataHandler(e, t) {
  22766. this.data = t;
  22767. this.dataset = e.datasets || null;
  22768. }
  22769. DataHandler.prototype.serialize = function (e) { var t = [[-1, this.data[Er]()]]; for (; t.length > 0;) {
  22770. var i_342 = t.at(-1), a_270 = i_342[0], s_185 = i_342[1];
  22771. if (a_270 + 1 === s_185.length) {
  22772. t.pop();
  22773. continue;
  22774. }
  22775. var r_147 = s_185[++i_342[0]], n_100 = e.get(r_147[nn]);
  22776. if (n_100)
  22777. r_147[$r](n_100);
  22778. else {
  22779. var t_419 = r_147[or]();
  22780. for (var _b = 0, _k = t_419.values(); _b < _k.length; _b++) {
  22781. var i_343 = _k[_b];
  22782. var t_420 = e.get(i_343[nn]);
  22783. if (t_420) {
  22784. i_343[$r](t_420);
  22785. break;
  22786. }
  22787. }
  22788. }
  22789. var o_75 = r_147[Er]();
  22790. o_75.length > 0 && t.push([-1, o_75]);
  22791. } var i = ['<xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">']; if (this.dataset)
  22792. for (var _l = 0, _m = this.dataset[Er](); _l < _m.length; _l++) {
  22793. var e_570 = _m[_l];
  22794. "data" !== e_570[Yr] && e_570[sn](i);
  22795. } this.data[sn](i); i.push("</xfa:datasets>"); return i.join(""); };
  22796. return DataHandler;
  22797. }());
  22798. var qn = gn.config.id;
  22799. var Acrobat = /** @class */ (function (_super) {
  22800. tslib_1.__extends(Acrobat, _super);
  22801. function Acrobat(e) {
  22802. var _this = _super.call(this, qn, "acrobat", !0) || this;
  22803. _this.acrobat7 = null;
  22804. _this.autoSave = null;
  22805. _this.common = null;
  22806. _this.validate = null;
  22807. _this.validateApprovalSignatures = null;
  22808. _this.submitUrl = new XFAObjectArray;
  22809. return _this;
  22810. }
  22811. return Acrobat;
  22812. }(XFAObject));
  22813. var Acrobat7 = /** @class */ (function (_super) {
  22814. tslib_1.__extends(Acrobat7, _super);
  22815. function Acrobat7(e) {
  22816. var _this = _super.call(this, qn, "acrobat7", !0) || this;
  22817. _this.dynamicRender = null;
  22818. return _this;
  22819. }
  22820. return Acrobat7;
  22821. }(XFAObject));
  22822. var ADBE_JSConsole = /** @class */ (function (_super) {
  22823. tslib_1.__extends(ADBE_JSConsole, _super);
  22824. function ADBE_JSConsole(e) {
  22825. return _super.call(this, qn, "ADBE_JSConsole", ["delegate", "Enable", "Disable"]) || this;
  22826. }
  22827. return ADBE_JSConsole;
  22828. }(OptionObject));
  22829. var ADBE_JSDebugger = /** @class */ (function (_super) {
  22830. tslib_1.__extends(ADBE_JSDebugger, _super);
  22831. function ADBE_JSDebugger(e) {
  22832. return _super.call(this, qn, "ADBE_JSDebugger", ["delegate", "Enable", "Disable"]) || this;
  22833. }
  22834. return ADBE_JSDebugger;
  22835. }(OptionObject));
  22836. var AddSilentPrint = /** @class */ (function (_super) {
  22837. tslib_1.__extends(AddSilentPrint, _super);
  22838. function AddSilentPrint(e) {
  22839. return _super.call(this, qn, "addSilentPrint") || this;
  22840. }
  22841. return AddSilentPrint;
  22842. }(Option01));
  22843. var AddViewerPreferences = /** @class */ (function (_super) {
  22844. tslib_1.__extends(AddViewerPreferences, _super);
  22845. function AddViewerPreferences(e) {
  22846. return _super.call(this, qn, "addViewerPreferences") || this;
  22847. }
  22848. return AddViewerPreferences;
  22849. }(Option01));
  22850. var AdjustData = /** @class */ (function (_super) {
  22851. tslib_1.__extends(AdjustData, _super);
  22852. function AdjustData(e) {
  22853. return _super.call(this, qn, "adjustData") || this;
  22854. }
  22855. return AdjustData;
  22856. }(Option10));
  22857. var AdobeExtensionLevel = /** @class */ (function (_super) {
  22858. tslib_1.__extends(AdobeExtensionLevel, _super);
  22859. function AdobeExtensionLevel(e) {
  22860. return _super.call(this, qn, "adobeExtensionLevel", 0, (function (e) { return e >= 1 && e <= 8; })) || this;
  22861. }
  22862. return AdobeExtensionLevel;
  22863. }(IntegerObject));
  22864. var Agent = /** @class */ (function (_super) {
  22865. tslib_1.__extends(Agent, _super);
  22866. function Agent(e) {
  22867. var _this = _super.call(this, qn, "agent", !0) || this;
  22868. _this.name = e.name ? e.name.trim() : "";
  22869. _this.common = new XFAObjectArray;
  22870. return _this;
  22871. }
  22872. return Agent;
  22873. }(XFAObject));
  22874. var AlwaysEmbed = /** @class */ (function (_super) {
  22875. tslib_1.__extends(AlwaysEmbed, _super);
  22876. function AlwaysEmbed(e) {
  22877. return _super.call(this, qn, "alwaysEmbed") || this;
  22878. }
  22879. return AlwaysEmbed;
  22880. }(ContentObject));
  22881. var Amd = /** @class */ (function (_super) {
  22882. tslib_1.__extends(Amd, _super);
  22883. function Amd(e) {
  22884. return _super.call(this, qn, "amd") || this;
  22885. }
  22886. return Amd;
  22887. }(StringObject));
  22888. var config_Area = /** @class */ (function (_super) {
  22889. tslib_1.__extends(config_Area, _super);
  22890. function config_Area(e) {
  22891. var _this = _super.call(this, qn, "area") || this;
  22892. _this.level = getInteger({ data: e.level, defaultValue: 0, validate: function (e) { return e >= 1 && e <= 3; } });
  22893. _this.name = getStringOption(e.name, ["", "barcode", "coreinit", "deviceDriver", "font", "general", "layout", "merge", "script", "signature", "sourceSet", "templateCache"]);
  22894. return _this;
  22895. }
  22896. return config_Area;
  22897. }(XFAObject));
  22898. var Attributes = /** @class */ (function (_super) {
  22899. tslib_1.__extends(Attributes, _super);
  22900. function Attributes(e) {
  22901. return _super.call(this, qn, "attributes", ["preserve", "delegate", "ignore"]) || this;
  22902. }
  22903. return Attributes;
  22904. }(OptionObject));
  22905. var AutoSave = /** @class */ (function (_super) {
  22906. tslib_1.__extends(AutoSave, _super);
  22907. function AutoSave(e) {
  22908. return _super.call(this, qn, "autoSave", ["disabled", "enabled"]) || this;
  22909. }
  22910. return AutoSave;
  22911. }(OptionObject));
  22912. var Base = /** @class */ (function (_super) {
  22913. tslib_1.__extends(Base, _super);
  22914. function Base(e) {
  22915. return _super.call(this, qn, "base") || this;
  22916. }
  22917. return Base;
  22918. }(StringObject));
  22919. var BatchOutput = /** @class */ (function (_super) {
  22920. tslib_1.__extends(BatchOutput, _super);
  22921. function BatchOutput(e) {
  22922. var _this = _super.call(this, qn, "batchOutput") || this;
  22923. _this.format = getStringOption(e.format, ["none", "concat", "zip", "zipCompress"]);
  22924. return _this;
  22925. }
  22926. return BatchOutput;
  22927. }(XFAObject));
  22928. var BehaviorOverride = /** @class */ (function (_super) {
  22929. tslib_1.__extends(BehaviorOverride, _super);
  22930. function BehaviorOverride(e) {
  22931. return _super.call(this, qn, "behaviorOverride") || this;
  22932. }
  22933. BehaviorOverride.prototype[sr] = function () { this[er] = new Map(this[er].trim().split(/\s+/).filter((function (e) { return e.includes(":"); })).map((function (e) { return e.split(":", 2); }))); };
  22934. return BehaviorOverride;
  22935. }(ContentObject));
  22936. var Cache = /** @class */ (function (_super) {
  22937. tslib_1.__extends(Cache, _super);
  22938. function Cache(e) {
  22939. var _this = _super.call(this, qn, "cache", !0) || this;
  22940. _this.templateCache = null;
  22941. return _this;
  22942. }
  22943. return Cache;
  22944. }(XFAObject));
  22945. var Change = /** @class */ (function (_super) {
  22946. tslib_1.__extends(Change, _super);
  22947. function Change(e) {
  22948. return _super.call(this, qn, "change") || this;
  22949. }
  22950. return Change;
  22951. }(Option01));
  22952. var Common = /** @class */ (function (_super) {
  22953. tslib_1.__extends(Common, _super);
  22954. function Common(e) {
  22955. var _this = _super.call(this, qn, "common", !0) || this;
  22956. _this.data = null;
  22957. _this.locale = null;
  22958. _this.localeSet = null;
  22959. _this.messaging = null;
  22960. _this.suppressBanner = null;
  22961. _this.template = null;
  22962. _this.validationMessaging = null;
  22963. _this.versionControl = null;
  22964. _this.log = new XFAObjectArray;
  22965. return _this;
  22966. }
  22967. return Common;
  22968. }(XFAObject));
  22969. var Compress = /** @class */ (function (_super) {
  22970. tslib_1.__extends(Compress, _super);
  22971. function Compress(e) {
  22972. var _this = _super.call(this, qn, "compress") || this;
  22973. _this.scope = getStringOption(e.scope, ["imageOnly", "document"]);
  22974. return _this;
  22975. }
  22976. return Compress;
  22977. }(XFAObject));
  22978. var CompressLogicalStructure = /** @class */ (function (_super) {
  22979. tslib_1.__extends(CompressLogicalStructure, _super);
  22980. function CompressLogicalStructure(e) {
  22981. return _super.call(this, qn, "compressLogicalStructure") || this;
  22982. }
  22983. return CompressLogicalStructure;
  22984. }(Option01));
  22985. var CompressObjectStream = /** @class */ (function (_super) {
  22986. tslib_1.__extends(CompressObjectStream, _super);
  22987. function CompressObjectStream(e) {
  22988. return _super.call(this, qn, "compressObjectStream") || this;
  22989. }
  22990. return CompressObjectStream;
  22991. }(Option10));
  22992. var Compression = /** @class */ (function (_super) {
  22993. tslib_1.__extends(Compression, _super);
  22994. function Compression(e) {
  22995. var _this = _super.call(this, qn, "compression", !0) || this;
  22996. _this.compressLogicalStructure = null;
  22997. _this.compressObjectStream = null;
  22998. _this.level = null;
  22999. _this.type = null;
  23000. return _this;
  23001. }
  23002. return Compression;
  23003. }(XFAObject));
  23004. var Config = /** @class */ (function (_super) {
  23005. tslib_1.__extends(Config, _super);
  23006. function Config(e) {
  23007. var _this = _super.call(this, qn, "config", !0) || this;
  23008. _this.acrobat = null;
  23009. _this.present = null;
  23010. _this.trace = null;
  23011. _this.agent = new XFAObjectArray;
  23012. return _this;
  23013. }
  23014. return Config;
  23015. }(XFAObject));
  23016. var Conformance = /** @class */ (function (_super) {
  23017. tslib_1.__extends(Conformance, _super);
  23018. function Conformance(e) {
  23019. return _super.call(this, qn, "conformance", ["A", "B"]) || this;
  23020. }
  23021. return Conformance;
  23022. }(OptionObject));
  23023. var ContentCopy = /** @class */ (function (_super) {
  23024. tslib_1.__extends(ContentCopy, _super);
  23025. function ContentCopy(e) {
  23026. return _super.call(this, qn, "contentCopy") || this;
  23027. }
  23028. return ContentCopy;
  23029. }(Option01));
  23030. var Copies = /** @class */ (function (_super) {
  23031. tslib_1.__extends(Copies, _super);
  23032. function Copies(e) {
  23033. return _super.call(this, qn, "copies", 1, (function (e) { return e >= 1; })) || this;
  23034. }
  23035. return Copies;
  23036. }(IntegerObject));
  23037. var Creator = /** @class */ (function (_super) {
  23038. tslib_1.__extends(Creator, _super);
  23039. function Creator(e) {
  23040. return _super.call(this, qn, "creator") || this;
  23041. }
  23042. return Creator;
  23043. }(StringObject));
  23044. var CurrentPage = /** @class */ (function (_super) {
  23045. tslib_1.__extends(CurrentPage, _super);
  23046. function CurrentPage(e) {
  23047. return _super.call(this, qn, "currentPage", 0, (function (e) { return e >= 0; })) || this;
  23048. }
  23049. return CurrentPage;
  23050. }(IntegerObject));
  23051. var Data = /** @class */ (function (_super) {
  23052. tslib_1.__extends(Data, _super);
  23053. function Data(e) {
  23054. var _this = _super.call(this, qn, "data", !0) || this;
  23055. _this.adjustData = null;
  23056. _this.attributes = null;
  23057. _this.incrementalLoad = null;
  23058. _this.outputXSL = null;
  23059. _this.range = null;
  23060. _this.record = null;
  23061. _this.startNode = null;
  23062. _this.uri = null;
  23063. _this.window = null;
  23064. _this.xsl = null;
  23065. _this.excludeNS = new XFAObjectArray;
  23066. _this.transform = new XFAObjectArray;
  23067. return _this;
  23068. }
  23069. return Data;
  23070. }(XFAObject));
  23071. var Debug = /** @class */ (function (_super) {
  23072. tslib_1.__extends(Debug, _super);
  23073. function Debug(e) {
  23074. var _this = _super.call(this, qn, "debug", !0) || this;
  23075. _this.uri = null;
  23076. return _this;
  23077. }
  23078. return Debug;
  23079. }(XFAObject));
  23080. var DefaultTypeface = /** @class */ (function (_super) {
  23081. tslib_1.__extends(DefaultTypeface, _super);
  23082. function DefaultTypeface(e) {
  23083. var _this = _super.call(this, qn, "defaultTypeface") || this;
  23084. _this.writingScript = getStringOption(e.writingScript, ["*", "Arabic", "Cyrillic", "EastEuropeanRoman", "Greek", "Hebrew", "Japanese", "Korean", "Roman", "SimplifiedChinese", "Thai", "TraditionalChinese", "Vietnamese"]);
  23085. return _this;
  23086. }
  23087. return DefaultTypeface;
  23088. }(ContentObject));
  23089. var Destination = /** @class */ (function (_super) {
  23090. tslib_1.__extends(Destination, _super);
  23091. function Destination(e) {
  23092. return _super.call(this, qn, "destination", ["pdf", "pcl", "ps", "webClient", "zpl"]) || this;
  23093. }
  23094. return Destination;
  23095. }(OptionObject));
  23096. var DocumentAssembly = /** @class */ (function (_super) {
  23097. tslib_1.__extends(DocumentAssembly, _super);
  23098. function DocumentAssembly(e) {
  23099. return _super.call(this, qn, "documentAssembly") || this;
  23100. }
  23101. return DocumentAssembly;
  23102. }(Option01));
  23103. var Driver = /** @class */ (function (_super) {
  23104. tslib_1.__extends(Driver, _super);
  23105. function Driver(e) {
  23106. var _this = _super.call(this, qn, "driver", !0) || this;
  23107. _this.name = e.name ? e.name.trim() : "";
  23108. _this.fontInfo = null;
  23109. _this.xdc = null;
  23110. return _this;
  23111. }
  23112. return Driver;
  23113. }(XFAObject));
  23114. var DuplexOption = /** @class */ (function (_super) {
  23115. tslib_1.__extends(DuplexOption, _super);
  23116. function DuplexOption(e) {
  23117. return _super.call(this, qn, "duplexOption", ["simplex", "duplexFlipLongEdge", "duplexFlipShortEdge"]) || this;
  23118. }
  23119. return DuplexOption;
  23120. }(OptionObject));
  23121. var DynamicRender = /** @class */ (function (_super) {
  23122. tslib_1.__extends(DynamicRender, _super);
  23123. function DynamicRender(e) {
  23124. return _super.call(this, qn, "dynamicRender", ["forbidden", "required"]) || this;
  23125. }
  23126. return DynamicRender;
  23127. }(OptionObject));
  23128. var Embed = /** @class */ (function (_super) {
  23129. tslib_1.__extends(Embed, _super);
  23130. function Embed(e) {
  23131. return _super.call(this, qn, "embed") || this;
  23132. }
  23133. return Embed;
  23134. }(Option01));
  23135. var config_Encrypt = /** @class */ (function (_super) {
  23136. tslib_1.__extends(config_Encrypt, _super);
  23137. function config_Encrypt(e) {
  23138. return _super.call(this, qn, "encrypt") || this;
  23139. }
  23140. return config_Encrypt;
  23141. }(Option01));
  23142. var config_Encryption = /** @class */ (function (_super) {
  23143. tslib_1.__extends(config_Encryption, _super);
  23144. function config_Encryption(e) {
  23145. var _this = _super.call(this, qn, "encryption", !0) || this;
  23146. _this.encrypt = null;
  23147. _this.encryptionLevel = null;
  23148. _this.permissions = null;
  23149. return _this;
  23150. }
  23151. return config_Encryption;
  23152. }(XFAObject));
  23153. var EncryptionLevel = /** @class */ (function (_super) {
  23154. tslib_1.__extends(EncryptionLevel, _super);
  23155. function EncryptionLevel(e) {
  23156. return _super.call(this, qn, "encryptionLevel", ["40bit", "128bit"]) || this;
  23157. }
  23158. return EncryptionLevel;
  23159. }(OptionObject));
  23160. var Enforce = /** @class */ (function (_super) {
  23161. tslib_1.__extends(Enforce, _super);
  23162. function Enforce(e) {
  23163. return _super.call(this, qn, "enforce") || this;
  23164. }
  23165. return Enforce;
  23166. }(StringObject));
  23167. var Equate = /** @class */ (function (_super) {
  23168. tslib_1.__extends(Equate, _super);
  23169. function Equate(e) {
  23170. var _this = _super.call(this, qn, "equate") || this;
  23171. _this.force = getInteger({ data: e.force, defaultValue: 1, validate: function (e) { return 0 === e; } });
  23172. _this.from = e.from || "";
  23173. _this.to = e.to || "";
  23174. return _this;
  23175. }
  23176. return Equate;
  23177. }(XFAObject));
  23178. var EquateRange = /** @class */ (function (_super) {
  23179. tslib_1.__extends(EquateRange, _super);
  23180. function EquateRange(e) {
  23181. var _this = _super.call(this, qn, "equateRange") || this;
  23182. _this.from = e.from || "";
  23183. _this.to = e.to || "";
  23184. _this._unicodeRange = e.unicodeRange || "";
  23185. return _this;
  23186. }
  23187. Object.defineProperty(EquateRange.prototype, "unicodeRange", {
  23188. get: function () { var e = [], t = /U\+([0-9a-fA-F]+)/, i = this._unicodeRange; for (var _b = 0, _k = i.split(",").map((function (e) { return e.trim(); })).filter((function (e) { return !!e; })); _b < _k.length; _b++) {
  23189. var a_271 = _k[_b];
  23190. a_271 = a_271.split("-", 2).map((function (e) { var i = e.match(t); return i ? parseInt(i[1], 16) : 0; }));
  23191. 1 === a_271.length && a_271.push(a_271[0]);
  23192. e.push(a_271);
  23193. } return shadow(this, "unicodeRange", e); },
  23194. enumerable: false,
  23195. configurable: true
  23196. });
  23197. return EquateRange;
  23198. }(XFAObject));
  23199. var Exclude = /** @class */ (function (_super) {
  23200. tslib_1.__extends(Exclude, _super);
  23201. function Exclude(e) {
  23202. return _super.call(this, qn, "exclude") || this;
  23203. }
  23204. Exclude.prototype[sr] = function () { this[er] = this[er].trim().split(/\s+/).filter((function (e) { return e && ["calculate", "close", "enter", "exit", "initialize", "ready", "validate"].includes(e); })); };
  23205. return Exclude;
  23206. }(ContentObject));
  23207. var ExcludeNS = /** @class */ (function (_super) {
  23208. tslib_1.__extends(ExcludeNS, _super);
  23209. function ExcludeNS(e) {
  23210. return _super.call(this, qn, "excludeNS") || this;
  23211. }
  23212. return ExcludeNS;
  23213. }(StringObject));
  23214. var FlipLabel = /** @class */ (function (_super) {
  23215. tslib_1.__extends(FlipLabel, _super);
  23216. function FlipLabel(e) {
  23217. return _super.call(this, qn, "flipLabel", ["usePrinterSetting", "on", "off"]) || this;
  23218. }
  23219. return FlipLabel;
  23220. }(OptionObject));
  23221. var config_FontInfo = /** @class */ (function (_super) {
  23222. tslib_1.__extends(config_FontInfo, _super);
  23223. function config_FontInfo(e) {
  23224. var _this = _super.call(this, qn, "fontInfo", !0) || this;
  23225. _this.embed = null;
  23226. _this.map = null;
  23227. _this.subsetBelow = null;
  23228. _this.alwaysEmbed = new XFAObjectArray;
  23229. _this.defaultTypeface = new XFAObjectArray;
  23230. _this.neverEmbed = new XFAObjectArray;
  23231. return _this;
  23232. }
  23233. return config_FontInfo;
  23234. }(XFAObject));
  23235. var FormFieldFilling = /** @class */ (function (_super) {
  23236. tslib_1.__extends(FormFieldFilling, _super);
  23237. function FormFieldFilling(e) {
  23238. return _super.call(this, qn, "formFieldFilling") || this;
  23239. }
  23240. return FormFieldFilling;
  23241. }(Option01));
  23242. var GroupParent = /** @class */ (function (_super) {
  23243. tslib_1.__extends(GroupParent, _super);
  23244. function GroupParent(e) {
  23245. return _super.call(this, qn, "groupParent") || this;
  23246. }
  23247. return GroupParent;
  23248. }(StringObject));
  23249. var IfEmpty = /** @class */ (function (_super) {
  23250. tslib_1.__extends(IfEmpty, _super);
  23251. function IfEmpty(e) {
  23252. return _super.call(this, qn, "ifEmpty", ["dataValue", "dataGroup", "ignore", "remove"]) || this;
  23253. }
  23254. return IfEmpty;
  23255. }(OptionObject));
  23256. var IncludeXDPContent = /** @class */ (function (_super) {
  23257. tslib_1.__extends(IncludeXDPContent, _super);
  23258. function IncludeXDPContent(e) {
  23259. return _super.call(this, qn, "includeXDPContent") || this;
  23260. }
  23261. return IncludeXDPContent;
  23262. }(StringObject));
  23263. var IncrementalLoad = /** @class */ (function (_super) {
  23264. tslib_1.__extends(IncrementalLoad, _super);
  23265. function IncrementalLoad(e) {
  23266. return _super.call(this, qn, "incrementalLoad", ["none", "forwardOnly"]) || this;
  23267. }
  23268. return IncrementalLoad;
  23269. }(OptionObject));
  23270. var IncrementalMerge = /** @class */ (function (_super) {
  23271. tslib_1.__extends(IncrementalMerge, _super);
  23272. function IncrementalMerge(e) {
  23273. return _super.call(this, qn, "incrementalMerge") || this;
  23274. }
  23275. return IncrementalMerge;
  23276. }(Option01));
  23277. var Interactive = /** @class */ (function (_super) {
  23278. tslib_1.__extends(Interactive, _super);
  23279. function Interactive(e) {
  23280. return _super.call(this, qn, "interactive") || this;
  23281. }
  23282. return Interactive;
  23283. }(Option01));
  23284. var Jog = /** @class */ (function (_super) {
  23285. tslib_1.__extends(Jog, _super);
  23286. function Jog(e) {
  23287. return _super.call(this, qn, "jog", ["usePrinterSetting", "none", "pageSet"]) || this;
  23288. }
  23289. return Jog;
  23290. }(OptionObject));
  23291. var LabelPrinter = /** @class */ (function (_super) {
  23292. tslib_1.__extends(LabelPrinter, _super);
  23293. function LabelPrinter(e) {
  23294. var _this = _super.call(this, qn, "labelPrinter", !0) || this;
  23295. _this.name = getStringOption(e.name, ["zpl", "dpl", "ipl", "tcpl"]);
  23296. _this.batchOutput = null;
  23297. _this.flipLabel = null;
  23298. _this.fontInfo = null;
  23299. _this.xdc = null;
  23300. return _this;
  23301. }
  23302. return LabelPrinter;
  23303. }(XFAObject));
  23304. var Layout = /** @class */ (function (_super) {
  23305. tslib_1.__extends(Layout, _super);
  23306. function Layout(e) {
  23307. return _super.call(this, qn, "layout", ["paginate", "panel"]) || this;
  23308. }
  23309. return Layout;
  23310. }(OptionObject));
  23311. var Level = /** @class */ (function (_super) {
  23312. tslib_1.__extends(Level, _super);
  23313. function Level(e) {
  23314. return _super.call(this, qn, "level", 0, (function (e) { return e > 0; })) || this;
  23315. }
  23316. return Level;
  23317. }(IntegerObject));
  23318. var Linearized = /** @class */ (function (_super) {
  23319. tslib_1.__extends(Linearized, _super);
  23320. function Linearized(e) {
  23321. return _super.call(this, qn, "linearized") || this;
  23322. }
  23323. return Linearized;
  23324. }(Option01));
  23325. var Locale = /** @class */ (function (_super) {
  23326. tslib_1.__extends(Locale, _super);
  23327. function Locale(e) {
  23328. return _super.call(this, qn, "locale") || this;
  23329. }
  23330. return Locale;
  23331. }(StringObject));
  23332. var LocaleSet = /** @class */ (function (_super) {
  23333. tslib_1.__extends(LocaleSet, _super);
  23334. function LocaleSet(e) {
  23335. return _super.call(this, qn, "localeSet") || this;
  23336. }
  23337. return LocaleSet;
  23338. }(StringObject));
  23339. var Log = /** @class */ (function (_super) {
  23340. tslib_1.__extends(Log, _super);
  23341. function Log(e) {
  23342. var _this = _super.call(this, qn, "log", !0) || this;
  23343. _this.mode = null;
  23344. _this.threshold = null;
  23345. _this.to = null;
  23346. _this.uri = null;
  23347. return _this;
  23348. }
  23349. return Log;
  23350. }(XFAObject));
  23351. var MapElement = /** @class */ (function (_super) {
  23352. tslib_1.__extends(MapElement, _super);
  23353. function MapElement(e) {
  23354. var _this = _super.call(this, qn, "map", !0) || this;
  23355. _this.equate = new XFAObjectArray;
  23356. _this.equateRange = new XFAObjectArray;
  23357. return _this;
  23358. }
  23359. return MapElement;
  23360. }(XFAObject));
  23361. var MediumInfo = /** @class */ (function (_super) {
  23362. tslib_1.__extends(MediumInfo, _super);
  23363. function MediumInfo(e) {
  23364. var _this = _super.call(this, qn, "mediumInfo", !0) || this;
  23365. _this.map = null;
  23366. return _this;
  23367. }
  23368. return MediumInfo;
  23369. }(XFAObject));
  23370. var config_Message = /** @class */ (function (_super) {
  23371. tslib_1.__extends(config_Message, _super);
  23372. function config_Message(e) {
  23373. var _this = _super.call(this, qn, "message", !0) || this;
  23374. _this.msgId = null;
  23375. _this.severity = null;
  23376. return _this;
  23377. }
  23378. return config_Message;
  23379. }(XFAObject));
  23380. var Messaging = /** @class */ (function (_super) {
  23381. tslib_1.__extends(Messaging, _super);
  23382. function Messaging(e) {
  23383. var _this = _super.call(this, qn, "messaging", !0) || this;
  23384. _this.message = new XFAObjectArray;
  23385. return _this;
  23386. }
  23387. return Messaging;
  23388. }(XFAObject));
  23389. var Mode = /** @class */ (function (_super) {
  23390. tslib_1.__extends(Mode, _super);
  23391. function Mode(e) {
  23392. return _super.call(this, qn, "mode", ["append", "overwrite"]) || this;
  23393. }
  23394. return Mode;
  23395. }(OptionObject));
  23396. var ModifyAnnots = /** @class */ (function (_super) {
  23397. tslib_1.__extends(ModifyAnnots, _super);
  23398. function ModifyAnnots(e) {
  23399. return _super.call(this, qn, "modifyAnnots") || this;
  23400. }
  23401. return ModifyAnnots;
  23402. }(Option01));
  23403. var MsgId = /** @class */ (function (_super) {
  23404. tslib_1.__extends(MsgId, _super);
  23405. function MsgId(e) {
  23406. return _super.call(this, qn, "msgId", 1, (function (e) { return e >= 1; })) || this;
  23407. }
  23408. return MsgId;
  23409. }(IntegerObject));
  23410. var NameAttr = /** @class */ (function (_super) {
  23411. tslib_1.__extends(NameAttr, _super);
  23412. function NameAttr(e) {
  23413. return _super.call(this, qn, "nameAttr") || this;
  23414. }
  23415. return NameAttr;
  23416. }(StringObject));
  23417. var NeverEmbed = /** @class */ (function (_super) {
  23418. tslib_1.__extends(NeverEmbed, _super);
  23419. function NeverEmbed(e) {
  23420. return _super.call(this, qn, "neverEmbed") || this;
  23421. }
  23422. return NeverEmbed;
  23423. }(ContentObject));
  23424. var NumberOfCopies = /** @class */ (function (_super) {
  23425. tslib_1.__extends(NumberOfCopies, _super);
  23426. function NumberOfCopies(e) {
  23427. return _super.call(this, qn, "numberOfCopies", null, (function (e) { return e >= 2 && e <= 5; })) || this;
  23428. }
  23429. return NumberOfCopies;
  23430. }(IntegerObject));
  23431. var OpenAction = /** @class */ (function (_super) {
  23432. tslib_1.__extends(OpenAction, _super);
  23433. function OpenAction(e) {
  23434. var _this = _super.call(this, qn, "openAction", !0) || this;
  23435. _this.destination = null;
  23436. return _this;
  23437. }
  23438. return OpenAction;
  23439. }(XFAObject));
  23440. var Output = /** @class */ (function (_super) {
  23441. tslib_1.__extends(Output, _super);
  23442. function Output(e) {
  23443. var _this = _super.call(this, qn, "output", !0) || this;
  23444. _this.to = null;
  23445. _this.type = null;
  23446. _this.uri = null;
  23447. return _this;
  23448. }
  23449. return Output;
  23450. }(XFAObject));
  23451. var OutputBin = /** @class */ (function (_super) {
  23452. tslib_1.__extends(OutputBin, _super);
  23453. function OutputBin(e) {
  23454. return _super.call(this, qn, "outputBin") || this;
  23455. }
  23456. return OutputBin;
  23457. }(StringObject));
  23458. var OutputXSL = /** @class */ (function (_super) {
  23459. tslib_1.__extends(OutputXSL, _super);
  23460. function OutputXSL(e) {
  23461. var _this = _super.call(this, qn, "outputXSL", !0) || this;
  23462. _this.uri = null;
  23463. return _this;
  23464. }
  23465. return OutputXSL;
  23466. }(XFAObject));
  23467. var Overprint = /** @class */ (function (_super) {
  23468. tslib_1.__extends(Overprint, _super);
  23469. function Overprint(e) {
  23470. return _super.call(this, qn, "overprint", ["none", "both", "draw", "field"]) || this;
  23471. }
  23472. return Overprint;
  23473. }(OptionObject));
  23474. var Packets = /** @class */ (function (_super) {
  23475. tslib_1.__extends(Packets, _super);
  23476. function Packets(e) {
  23477. return _super.call(this, qn, "packets") || this;
  23478. }
  23479. Packets.prototype[sr] = function () { "*" !== this[er] && (this[er] = this[er].trim().split(/\s+/).filter((function (e) { return ["config", "datasets", "template", "xfdf", "xslt"].includes(e); }))); };
  23480. return Packets;
  23481. }(StringObject));
  23482. var PageOffset = /** @class */ (function (_super) {
  23483. tslib_1.__extends(PageOffset, _super);
  23484. function PageOffset(e) {
  23485. var _this = _super.call(this, qn, "pageOffset") || this;
  23486. _this.x = getInteger({ data: e.x, defaultValue: "useXDCSetting", validate: function (e) { return !0; } });
  23487. _this.y = getInteger({ data: e.y, defaultValue: "useXDCSetting", validate: function (e) { return !0; } });
  23488. return _this;
  23489. }
  23490. return PageOffset;
  23491. }(XFAObject));
  23492. var PageRange = /** @class */ (function (_super) {
  23493. tslib_1.__extends(PageRange, _super);
  23494. function PageRange(e) {
  23495. return _super.call(this, qn, "pageRange") || this;
  23496. }
  23497. PageRange.prototype[sr] = function () { var e = this[er].trim().split(/\s+/).map((function (e) { return parseInt(e, 10); })), t = []; for (var i_344 = 0, a_272 = e.length; i_344 < a_272; i_344 += 2)
  23498. t.push(e.slice(i_344, i_344 + 2)); this[er] = t; };
  23499. return PageRange;
  23500. }(StringObject));
  23501. var Pagination = /** @class */ (function (_super) {
  23502. tslib_1.__extends(Pagination, _super);
  23503. function Pagination(e) {
  23504. return _super.call(this, qn, "pagination", ["simplex", "duplexShortEdge", "duplexLongEdge"]) || this;
  23505. }
  23506. return Pagination;
  23507. }(OptionObject));
  23508. var PaginationOverride = /** @class */ (function (_super) {
  23509. tslib_1.__extends(PaginationOverride, _super);
  23510. function PaginationOverride(e) {
  23511. return _super.call(this, qn, "paginationOverride", ["none", "forceDuplex", "forceDuplexLongEdge", "forceDuplexShortEdge", "forceSimplex"]) || this;
  23512. }
  23513. return PaginationOverride;
  23514. }(OptionObject));
  23515. var Part = /** @class */ (function (_super) {
  23516. tslib_1.__extends(Part, _super);
  23517. function Part(e) {
  23518. return _super.call(this, qn, "part", 1, (function (e) { return !1; })) || this;
  23519. }
  23520. return Part;
  23521. }(IntegerObject));
  23522. var Pcl = /** @class */ (function (_super) {
  23523. tslib_1.__extends(Pcl, _super);
  23524. function Pcl(e) {
  23525. var _this = _super.call(this, qn, "pcl", !0) || this;
  23526. _this.name = e.name || "";
  23527. _this.batchOutput = null;
  23528. _this.fontInfo = null;
  23529. _this.jog = null;
  23530. _this.mediumInfo = null;
  23531. _this.outputBin = null;
  23532. _this.pageOffset = null;
  23533. _this.staple = null;
  23534. _this.xdc = null;
  23535. return _this;
  23536. }
  23537. return Pcl;
  23538. }(XFAObject));
  23539. var Pdf = /** @class */ (function (_super) {
  23540. tslib_1.__extends(Pdf, _super);
  23541. function Pdf(e) {
  23542. var _this = _super.call(this, qn, "pdf", !0) || this;
  23543. _this.name = e.name || "";
  23544. _this.adobeExtensionLevel = null;
  23545. _this.batchOutput = null;
  23546. _this.compression = null;
  23547. _this.creator = null;
  23548. _this.encryption = null;
  23549. _this.fontInfo = null;
  23550. _this.interactive = null;
  23551. _this.linearized = null;
  23552. _this.openAction = null;
  23553. _this.pdfa = null;
  23554. _this.producer = null;
  23555. _this.renderPolicy = null;
  23556. _this.scriptModel = null;
  23557. _this.silentPrint = null;
  23558. _this.submitFormat = null;
  23559. _this.tagged = null;
  23560. _this.version = null;
  23561. _this.viewerPreferences = null;
  23562. _this.xdc = null;
  23563. return _this;
  23564. }
  23565. return Pdf;
  23566. }(XFAObject));
  23567. var Pdfa = /** @class */ (function (_super) {
  23568. tslib_1.__extends(Pdfa, _super);
  23569. function Pdfa(e) {
  23570. var _this = _super.call(this, qn, "pdfa", !0) || this;
  23571. _this.amd = null;
  23572. _this.conformance = null;
  23573. _this.includeXDPContent = null;
  23574. _this.part = null;
  23575. return _this;
  23576. }
  23577. return Pdfa;
  23578. }(XFAObject));
  23579. var Permissions = /** @class */ (function (_super) {
  23580. tslib_1.__extends(Permissions, _super);
  23581. function Permissions(e) {
  23582. var _this = _super.call(this, qn, "permissions", !0) || this;
  23583. _this.accessibleContent = null;
  23584. _this.change = null;
  23585. _this.contentCopy = null;
  23586. _this.documentAssembly = null;
  23587. _this.formFieldFilling = null;
  23588. _this.modifyAnnots = null;
  23589. _this.plaintextMetadata = null;
  23590. _this.print = null;
  23591. _this.printHighQuality = null;
  23592. return _this;
  23593. }
  23594. return Permissions;
  23595. }(XFAObject));
  23596. var PickTrayByPDFSize = /** @class */ (function (_super) {
  23597. tslib_1.__extends(PickTrayByPDFSize, _super);
  23598. function PickTrayByPDFSize(e) {
  23599. return _super.call(this, qn, "pickTrayByPDFSize") || this;
  23600. }
  23601. return PickTrayByPDFSize;
  23602. }(Option01));
  23603. var config_Picture = /** @class */ (function (_super) {
  23604. tslib_1.__extends(config_Picture, _super);
  23605. function config_Picture(e) {
  23606. return _super.call(this, qn, "picture") || this;
  23607. }
  23608. return config_Picture;
  23609. }(StringObject));
  23610. var PlaintextMetadata = /** @class */ (function (_super) {
  23611. tslib_1.__extends(PlaintextMetadata, _super);
  23612. function PlaintextMetadata(e) {
  23613. return _super.call(this, qn, "plaintextMetadata") || this;
  23614. }
  23615. return PlaintextMetadata;
  23616. }(Option01));
  23617. var Presence = /** @class */ (function (_super) {
  23618. tslib_1.__extends(Presence, _super);
  23619. function Presence(e) {
  23620. return _super.call(this, qn, "presence", ["preserve", "dissolve", "dissolveStructure", "ignore", "remove"]) || this;
  23621. }
  23622. return Presence;
  23623. }(OptionObject));
  23624. var Present = /** @class */ (function (_super) {
  23625. tslib_1.__extends(Present, _super);
  23626. function Present(e) {
  23627. var _this = _super.call(this, qn, "present", !0) || this;
  23628. _this.behaviorOverride = null;
  23629. _this.cache = null;
  23630. _this.common = null;
  23631. _this.copies = null;
  23632. _this.destination = null;
  23633. _this.incrementalMerge = null;
  23634. _this.layout = null;
  23635. _this.output = null;
  23636. _this.overprint = null;
  23637. _this.pagination = null;
  23638. _this.paginationOverride = null;
  23639. _this.script = null;
  23640. _this.validate = null;
  23641. _this.xdp = null;
  23642. _this.driver = new XFAObjectArray;
  23643. _this.labelPrinter = new XFAObjectArray;
  23644. _this.pcl = new XFAObjectArray;
  23645. _this.pdf = new XFAObjectArray;
  23646. _this.ps = new XFAObjectArray;
  23647. _this.submitUrl = new XFAObjectArray;
  23648. _this.webClient = new XFAObjectArray;
  23649. _this.zpl = new XFAObjectArray;
  23650. return _this;
  23651. }
  23652. return Present;
  23653. }(XFAObject));
  23654. var Print = /** @class */ (function (_super) {
  23655. tslib_1.__extends(Print, _super);
  23656. function Print(e) {
  23657. return _super.call(this, qn, "print") || this;
  23658. }
  23659. return Print;
  23660. }(Option01));
  23661. var PrintHighQuality = /** @class */ (function (_super) {
  23662. tslib_1.__extends(PrintHighQuality, _super);
  23663. function PrintHighQuality(e) {
  23664. return _super.call(this, qn, "printHighQuality") || this;
  23665. }
  23666. return PrintHighQuality;
  23667. }(Option01));
  23668. var PrintScaling = /** @class */ (function (_super) {
  23669. tslib_1.__extends(PrintScaling, _super);
  23670. function PrintScaling(e) {
  23671. return _super.call(this, qn, "printScaling", ["appdefault", "noScaling"]) || this;
  23672. }
  23673. return PrintScaling;
  23674. }(OptionObject));
  23675. var PrinterName = /** @class */ (function (_super) {
  23676. tslib_1.__extends(PrinterName, _super);
  23677. function PrinterName(e) {
  23678. return _super.call(this, qn, "printerName") || this;
  23679. }
  23680. return PrinterName;
  23681. }(StringObject));
  23682. var Producer = /** @class */ (function (_super) {
  23683. tslib_1.__extends(Producer, _super);
  23684. function Producer(e) {
  23685. return _super.call(this, qn, "producer") || this;
  23686. }
  23687. return Producer;
  23688. }(StringObject));
  23689. var Ps = /** @class */ (function (_super) {
  23690. tslib_1.__extends(Ps, _super);
  23691. function Ps(e) {
  23692. var _this = _super.call(this, qn, "ps", !0) || this;
  23693. _this.name = e.name || "";
  23694. _this.batchOutput = null;
  23695. _this.fontInfo = null;
  23696. _this.jog = null;
  23697. _this.mediumInfo = null;
  23698. _this.outputBin = null;
  23699. _this.staple = null;
  23700. _this.xdc = null;
  23701. return _this;
  23702. }
  23703. return Ps;
  23704. }(XFAObject));
  23705. var Range = /** @class */ (function (_super) {
  23706. tslib_1.__extends(Range, _super);
  23707. function Range(e) {
  23708. return _super.call(this, qn, "range") || this;
  23709. }
  23710. Range.prototype[sr] = function () { this[er] = this[er].trim().split(/\s*,\s*/, 2).map((function (e) { return e.split("-").map((function (e) { return parseInt(e.trim(), 10); })); })).filter((function (e) { return e.every((function (e) { return !isNaN(e); })); })).map((function (e) { 1 === e.length && e.push(e[0]); return e; })); };
  23711. return Range;
  23712. }(ContentObject));
  23713. var Record = /** @class */ (function (_super) {
  23714. tslib_1.__extends(Record, _super);
  23715. function Record(e) {
  23716. return _super.call(this, qn, "record") || this;
  23717. }
  23718. Record.prototype[sr] = function () { this[er] = this[er].trim(); var e = parseInt(this[er], 10); !isNaN(e) && e >= 0 && (this[er] = e); };
  23719. return Record;
  23720. }(ContentObject));
  23721. var Relevant = /** @class */ (function (_super) {
  23722. tslib_1.__extends(Relevant, _super);
  23723. function Relevant(e) {
  23724. return _super.call(this, qn, "relevant") || this;
  23725. }
  23726. Relevant.prototype[sr] = function () { this[er] = this[er].trim().split(/\s+/); };
  23727. return Relevant;
  23728. }(ContentObject));
  23729. var Rename = /** @class */ (function (_super) {
  23730. tslib_1.__extends(Rename, _super);
  23731. function Rename(e) {
  23732. return _super.call(this, qn, "rename") || this;
  23733. }
  23734. Rename.prototype[sr] = function () { this[er] = this[er].trim(); (this[er].toLowerCase().startsWith("xml") || new RegExp("[\\p{L}_][\\p{L}\\d._\\p{M}-]*", "u").test(this[er])) && warn("XFA - Rename: invalid XFA name"); };
  23735. return Rename;
  23736. }(ContentObject));
  23737. var RenderPolicy = /** @class */ (function (_super) {
  23738. tslib_1.__extends(RenderPolicy, _super);
  23739. function RenderPolicy(e) {
  23740. return _super.call(this, qn, "renderPolicy", ["server", "client"]) || this;
  23741. }
  23742. return RenderPolicy;
  23743. }(OptionObject));
  23744. var RunScripts = /** @class */ (function (_super) {
  23745. tslib_1.__extends(RunScripts, _super);
  23746. function RunScripts(e) {
  23747. return _super.call(this, qn, "runScripts", ["both", "client", "none", "server"]) || this;
  23748. }
  23749. return RunScripts;
  23750. }(OptionObject));
  23751. var config_Script = /** @class */ (function (_super) {
  23752. tslib_1.__extends(config_Script, _super);
  23753. function config_Script(e) {
  23754. var _this = _super.call(this, qn, "script", !0) || this;
  23755. _this.currentPage = null;
  23756. _this.exclude = null;
  23757. _this.runScripts = null;
  23758. return _this;
  23759. }
  23760. return config_Script;
  23761. }(XFAObject));
  23762. var ScriptModel = /** @class */ (function (_super) {
  23763. tslib_1.__extends(ScriptModel, _super);
  23764. function ScriptModel(e) {
  23765. return _super.call(this, qn, "scriptModel", ["XFA", "none"]) || this;
  23766. }
  23767. return ScriptModel;
  23768. }(OptionObject));
  23769. var Severity = /** @class */ (function (_super) {
  23770. tslib_1.__extends(Severity, _super);
  23771. function Severity(e) {
  23772. return _super.call(this, qn, "severity", ["ignore", "error", "information", "trace", "warning"]) || this;
  23773. }
  23774. return Severity;
  23775. }(OptionObject));
  23776. var SilentPrint = /** @class */ (function (_super) {
  23777. tslib_1.__extends(SilentPrint, _super);
  23778. function SilentPrint(e) {
  23779. var _this = _super.call(this, qn, "silentPrint", !0) || this;
  23780. _this.addSilentPrint = null;
  23781. _this.printerName = null;
  23782. return _this;
  23783. }
  23784. return SilentPrint;
  23785. }(XFAObject));
  23786. var Staple = /** @class */ (function (_super) {
  23787. tslib_1.__extends(Staple, _super);
  23788. function Staple(e) {
  23789. var _this = _super.call(this, qn, "staple") || this;
  23790. _this.mode = getStringOption(e.mode, ["usePrinterSetting", "on", "off"]);
  23791. return _this;
  23792. }
  23793. return Staple;
  23794. }(XFAObject));
  23795. var StartNode = /** @class */ (function (_super) {
  23796. tslib_1.__extends(StartNode, _super);
  23797. function StartNode(e) {
  23798. return _super.call(this, qn, "startNode") || this;
  23799. }
  23800. return StartNode;
  23801. }(StringObject));
  23802. var StartPage = /** @class */ (function (_super) {
  23803. tslib_1.__extends(StartPage, _super);
  23804. function StartPage(e) {
  23805. return _super.call(this, qn, "startPage", 0, (function (e) { return !0; })) || this;
  23806. }
  23807. return StartPage;
  23808. }(IntegerObject));
  23809. var SubmitFormat = /** @class */ (function (_super) {
  23810. tslib_1.__extends(SubmitFormat, _super);
  23811. function SubmitFormat(e) {
  23812. return _super.call(this, qn, "submitFormat", ["html", "delegate", "fdf", "xml", "pdf"]) || this;
  23813. }
  23814. return SubmitFormat;
  23815. }(OptionObject));
  23816. var SubmitUrl = /** @class */ (function (_super) {
  23817. tslib_1.__extends(SubmitUrl, _super);
  23818. function SubmitUrl(e) {
  23819. return _super.call(this, qn, "submitUrl") || this;
  23820. }
  23821. return SubmitUrl;
  23822. }(StringObject));
  23823. var SubsetBelow = /** @class */ (function (_super) {
  23824. tslib_1.__extends(SubsetBelow, _super);
  23825. function SubsetBelow(e) {
  23826. return _super.call(this, qn, "subsetBelow", 100, (function (e) { return e >= 0 && e <= 100; })) || this;
  23827. }
  23828. return SubsetBelow;
  23829. }(IntegerObject));
  23830. var SuppressBanner = /** @class */ (function (_super) {
  23831. tslib_1.__extends(SuppressBanner, _super);
  23832. function SuppressBanner(e) {
  23833. return _super.call(this, qn, "suppressBanner") || this;
  23834. }
  23835. return SuppressBanner;
  23836. }(Option01));
  23837. var Tagged = /** @class */ (function (_super) {
  23838. tslib_1.__extends(Tagged, _super);
  23839. function Tagged(e) {
  23840. return _super.call(this, qn, "tagged") || this;
  23841. }
  23842. return Tagged;
  23843. }(Option01));
  23844. var config_Template = /** @class */ (function (_super) {
  23845. tslib_1.__extends(config_Template, _super);
  23846. function config_Template(e) {
  23847. var _this = _super.call(this, qn, "template", !0) || this;
  23848. _this.base = null;
  23849. _this.relevant = null;
  23850. _this.startPage = null;
  23851. _this.uri = null;
  23852. _this.xsl = null;
  23853. return _this;
  23854. }
  23855. return config_Template;
  23856. }(XFAObject));
  23857. var Threshold = /** @class */ (function (_super) {
  23858. tslib_1.__extends(Threshold, _super);
  23859. function Threshold(e) {
  23860. return _super.call(this, qn, "threshold", ["trace", "error", "information", "warning"]) || this;
  23861. }
  23862. return Threshold;
  23863. }(OptionObject));
  23864. var To = /** @class */ (function (_super) {
  23865. tslib_1.__extends(To, _super);
  23866. function To(e) {
  23867. return _super.call(this, qn, "to", ["null", "memory", "stderr", "stdout", "system", "uri"]) || this;
  23868. }
  23869. return To;
  23870. }(OptionObject));
  23871. var TemplateCache = /** @class */ (function (_super) {
  23872. tslib_1.__extends(TemplateCache, _super);
  23873. function TemplateCache(e) {
  23874. var _this = _super.call(this, qn, "templateCache") || this;
  23875. _this.maxEntries = getInteger({ data: e.maxEntries, defaultValue: 5, validate: function (e) { return e >= 0; } });
  23876. return _this;
  23877. }
  23878. return TemplateCache;
  23879. }(XFAObject));
  23880. var Trace = /** @class */ (function (_super) {
  23881. tslib_1.__extends(Trace, _super);
  23882. function Trace(e) {
  23883. var _this = _super.call(this, qn, "trace", !0) || this;
  23884. _this.area = new XFAObjectArray;
  23885. return _this;
  23886. }
  23887. return Trace;
  23888. }(XFAObject));
  23889. var Transform = /** @class */ (function (_super) {
  23890. tslib_1.__extends(Transform, _super);
  23891. function Transform(e) {
  23892. var _this = _super.call(this, qn, "transform", !0) || this;
  23893. _this.groupParent = null;
  23894. _this.ifEmpty = null;
  23895. _this.nameAttr = null;
  23896. _this.picture = null;
  23897. _this.presence = null;
  23898. _this.rename = null;
  23899. _this.whitespace = null;
  23900. return _this;
  23901. }
  23902. return Transform;
  23903. }(XFAObject));
  23904. var Type = /** @class */ (function (_super) {
  23905. tslib_1.__extends(Type, _super);
  23906. function Type(e) {
  23907. return _super.call(this, qn, "type", ["none", "ascii85", "asciiHex", "ccittfax", "flate", "lzw", "runLength", "native", "xdp", "mergedXDP"]) || this;
  23908. }
  23909. return Type;
  23910. }(OptionObject));
  23911. var Uri = /** @class */ (function (_super) {
  23912. tslib_1.__extends(Uri, _super);
  23913. function Uri(e) {
  23914. return _super.call(this, qn, "uri") || this;
  23915. }
  23916. return Uri;
  23917. }(StringObject));
  23918. var config_Validate = /** @class */ (function (_super) {
  23919. tslib_1.__extends(config_Validate, _super);
  23920. function config_Validate(e) {
  23921. return _super.call(this, qn, "validate", ["preSubmit", "prePrint", "preExecute", "preSave"]) || this;
  23922. }
  23923. return config_Validate;
  23924. }(OptionObject));
  23925. var ValidateApprovalSignatures = /** @class */ (function (_super) {
  23926. tslib_1.__extends(ValidateApprovalSignatures, _super);
  23927. function ValidateApprovalSignatures(e) {
  23928. return _super.call(this, qn, "validateApprovalSignatures") || this;
  23929. }
  23930. ValidateApprovalSignatures.prototype[sr] = function () { this[er] = this[er].trim().split(/\s+/).filter((function (e) { return ["docReady", "postSign"].includes(e); })); };
  23931. return ValidateApprovalSignatures;
  23932. }(ContentObject));
  23933. var ValidationMessaging = /** @class */ (function (_super) {
  23934. tslib_1.__extends(ValidationMessaging, _super);
  23935. function ValidationMessaging(e) {
  23936. return _super.call(this, qn, "validationMessaging", ["allMessagesIndividually", "allMessagesTogether", "firstMessageOnly", "noMessages"]) || this;
  23937. }
  23938. return ValidationMessaging;
  23939. }(OptionObject));
  23940. var Version = /** @class */ (function (_super) {
  23941. tslib_1.__extends(Version, _super);
  23942. function Version(e) {
  23943. return _super.call(this, qn, "version", ["1.7", "1.6", "1.5", "1.4", "1.3", "1.2"]) || this;
  23944. }
  23945. return Version;
  23946. }(OptionObject));
  23947. var VersionControl = /** @class */ (function (_super) {
  23948. tslib_1.__extends(VersionControl, _super);
  23949. function VersionControl(e) {
  23950. var _this = _super.call(this, qn, "VersionControl") || this;
  23951. _this.outputBelow = getStringOption(e.outputBelow, ["warn", "error", "update"]);
  23952. _this.sourceAbove = getStringOption(e.sourceAbove, ["warn", "error"]);
  23953. _this.sourceBelow = getStringOption(e.sourceBelow, ["update", "maintain"]);
  23954. return _this;
  23955. }
  23956. return VersionControl;
  23957. }(XFAObject));
  23958. var ViewerPreferences = /** @class */ (function (_super) {
  23959. tslib_1.__extends(ViewerPreferences, _super);
  23960. function ViewerPreferences(e) {
  23961. var _this = _super.call(this, qn, "viewerPreferences", !0) || this;
  23962. _this.ADBE_JSConsole = null;
  23963. _this.ADBE_JSDebugger = null;
  23964. _this.addViewerPreferences = null;
  23965. _this.duplexOption = null;
  23966. _this.enforce = null;
  23967. _this.numberOfCopies = null;
  23968. _this.pageRange = null;
  23969. _this.pickTrayByPDFSize = null;
  23970. _this.printScaling = null;
  23971. return _this;
  23972. }
  23973. return ViewerPreferences;
  23974. }(XFAObject));
  23975. var WebClient = /** @class */ (function (_super) {
  23976. tslib_1.__extends(WebClient, _super);
  23977. function WebClient(e) {
  23978. var _this = _super.call(this, qn, "webClient", !0) || this;
  23979. _this.name = e.name ? e.name.trim() : "";
  23980. _this.fontInfo = null;
  23981. _this.xdc = null;
  23982. return _this;
  23983. }
  23984. return WebClient;
  23985. }(XFAObject));
  23986. var Whitespace = /** @class */ (function (_super) {
  23987. tslib_1.__extends(Whitespace, _super);
  23988. function Whitespace(e) {
  23989. return _super.call(this, qn, "whitespace", ["preserve", "ltrim", "normalize", "rtrim", "trim"]) || this;
  23990. }
  23991. return Whitespace;
  23992. }(OptionObject));
  23993. var Window = /** @class */ (function (_super) {
  23994. tslib_1.__extends(Window, _super);
  23995. function Window(e) {
  23996. return _super.call(this, qn, "window") || this;
  23997. }
  23998. Window.prototype[sr] = function () { var e = this[er].trim().split(/\s*,\s*/, 2).map((function (e) { return parseInt(e, 10); })); if (e.some((function (e) { return isNaN(e); })))
  23999. this[er] = [0, 0];
  24000. else {
  24001. 1 === e.length && e.push(e[0]);
  24002. this[er] = e;
  24003. } };
  24004. return Window;
  24005. }(ContentObject));
  24006. var Xdc = /** @class */ (function (_super) {
  24007. tslib_1.__extends(Xdc, _super);
  24008. function Xdc(e) {
  24009. var _this = _super.call(this, qn, "xdc", !0) || this;
  24010. _this.uri = new XFAObjectArray;
  24011. _this.xsl = new XFAObjectArray;
  24012. return _this;
  24013. }
  24014. return Xdc;
  24015. }(XFAObject));
  24016. var Xdp = /** @class */ (function (_super) {
  24017. tslib_1.__extends(Xdp, _super);
  24018. function Xdp(e) {
  24019. var _this = _super.call(this, qn, "xdp", !0) || this;
  24020. _this.packets = null;
  24021. return _this;
  24022. }
  24023. return Xdp;
  24024. }(XFAObject));
  24025. var Xsl = /** @class */ (function (_super) {
  24026. tslib_1.__extends(Xsl, _super);
  24027. function Xsl(e) {
  24028. var _this = _super.call(this, qn, "xsl", !0) || this;
  24029. _this.debug = null;
  24030. _this.uri = null;
  24031. return _this;
  24032. }
  24033. return Xsl;
  24034. }(XFAObject));
  24035. var Zpl = /** @class */ (function (_super) {
  24036. tslib_1.__extends(Zpl, _super);
  24037. function Zpl(e) {
  24038. var _this = _super.call(this, qn, "zpl", !0) || this;
  24039. _this.name = e.name ? e.name.trim() : "";
  24040. _this.batchOutput = null;
  24041. _this.flipLabel = null;
  24042. _this.fontInfo = null;
  24043. _this.xdc = null;
  24044. return _this;
  24045. }
  24046. return Zpl;
  24047. }(XFAObject));
  24048. var ConfigNamespace = /** @class */ (function () {
  24049. function ConfigNamespace() {
  24050. }
  24051. ConfigNamespace[on] = function (e, t) { if (ConfigNamespace.hasOwnProperty(e))
  24052. return ConfigNamespace[e](t); };
  24053. ConfigNamespace.acrobat = function (e) { return new Acrobat(e); };
  24054. ConfigNamespace.acrobat7 = function (e) { return new Acrobat7(e); };
  24055. ConfigNamespace.ADBE_JSConsole = function (e) { return new ADBE_JSConsole(e); };
  24056. ConfigNamespace.ADBE_JSDebugger = function (e) { return new ADBE_JSDebugger(e); };
  24057. ConfigNamespace.addSilentPrint = function (e) { return new AddSilentPrint(e); };
  24058. ConfigNamespace.addViewerPreferences = function (e) { return new AddViewerPreferences(e); };
  24059. ConfigNamespace.adjustData = function (e) { return new AdjustData(e); };
  24060. ConfigNamespace.adobeExtensionLevel = function (e) { return new AdobeExtensionLevel(e); };
  24061. ConfigNamespace.agent = function (e) { return new Agent(e); };
  24062. ConfigNamespace.alwaysEmbed = function (e) { return new AlwaysEmbed(e); };
  24063. ConfigNamespace.amd = function (e) { return new Amd(e); };
  24064. ConfigNamespace.area = function (e) { return new config_Area(e); };
  24065. ConfigNamespace.attributes = function (e) { return new Attributes(e); };
  24066. ConfigNamespace.autoSave = function (e) { return new AutoSave(e); };
  24067. ConfigNamespace.base = function (e) { return new Base(e); };
  24068. ConfigNamespace.batchOutput = function (e) { return new BatchOutput(e); };
  24069. ConfigNamespace.behaviorOverride = function (e) { return new BehaviorOverride(e); };
  24070. ConfigNamespace.cache = function (e) { return new Cache(e); };
  24071. ConfigNamespace.change = function (e) { return new Change(e); };
  24072. ConfigNamespace.common = function (e) { return new Common(e); };
  24073. ConfigNamespace.compress = function (e) { return new Compress(e); };
  24074. ConfigNamespace.compressLogicalStructure = function (e) { return new CompressLogicalStructure(e); };
  24075. ConfigNamespace.compressObjectStream = function (e) { return new CompressObjectStream(e); };
  24076. ConfigNamespace.compression = function (e) { return new Compression(e); };
  24077. ConfigNamespace.config = function (e) { return new Config(e); };
  24078. ConfigNamespace.conformance = function (e) { return new Conformance(e); };
  24079. ConfigNamespace.contentCopy = function (e) { return new ContentCopy(e); };
  24080. ConfigNamespace.copies = function (e) { return new Copies(e); };
  24081. ConfigNamespace.creator = function (e) { return new Creator(e); };
  24082. ConfigNamespace.currentPage = function (e) { return new CurrentPage(e); };
  24083. ConfigNamespace.data = function (e) { return new Data(e); };
  24084. ConfigNamespace.debug = function (e) { return new Debug(e); };
  24085. ConfigNamespace.defaultTypeface = function (e) { return new DefaultTypeface(e); };
  24086. ConfigNamespace.destination = function (e) { return new Destination(e); };
  24087. ConfigNamespace.documentAssembly = function (e) { return new DocumentAssembly(e); };
  24088. ConfigNamespace.driver = function (e) { return new Driver(e); };
  24089. ConfigNamespace.duplexOption = function (e) { return new DuplexOption(e); };
  24090. ConfigNamespace.dynamicRender = function (e) { return new DynamicRender(e); };
  24091. ConfigNamespace.embed = function (e) { return new Embed(e); };
  24092. ConfigNamespace.encrypt = function (e) { return new config_Encrypt(e); };
  24093. ConfigNamespace.encryption = function (e) { return new config_Encryption(e); };
  24094. ConfigNamespace.encryptionLevel = function (e) { return new EncryptionLevel(e); };
  24095. ConfigNamespace.enforce = function (e) { return new Enforce(e); };
  24096. ConfigNamespace.equate = function (e) { return new Equate(e); };
  24097. ConfigNamespace.equateRange = function (e) { return new EquateRange(e); };
  24098. ConfigNamespace.exclude = function (e) { return new Exclude(e); };
  24099. ConfigNamespace.excludeNS = function (e) { return new ExcludeNS(e); };
  24100. ConfigNamespace.flipLabel = function (e) { return new FlipLabel(e); };
  24101. ConfigNamespace.fontInfo = function (e) { return new config_FontInfo(e); };
  24102. ConfigNamespace.formFieldFilling = function (e) { return new FormFieldFilling(e); };
  24103. ConfigNamespace.groupParent = function (e) { return new GroupParent(e); };
  24104. ConfigNamespace.ifEmpty = function (e) { return new IfEmpty(e); };
  24105. ConfigNamespace.includeXDPContent = function (e) { return new IncludeXDPContent(e); };
  24106. ConfigNamespace.incrementalLoad = function (e) { return new IncrementalLoad(e); };
  24107. ConfigNamespace.incrementalMerge = function (e) { return new IncrementalMerge(e); };
  24108. ConfigNamespace.interactive = function (e) { return new Interactive(e); };
  24109. ConfigNamespace.jog = function (e) { return new Jog(e); };
  24110. ConfigNamespace.labelPrinter = function (e) { return new LabelPrinter(e); };
  24111. ConfigNamespace.layout = function (e) { return new Layout(e); };
  24112. ConfigNamespace.level = function (e) { return new Level(e); };
  24113. ConfigNamespace.linearized = function (e) { return new Linearized(e); };
  24114. ConfigNamespace.locale = function (e) { return new Locale(e); };
  24115. ConfigNamespace.localeSet = function (e) { return new LocaleSet(e); };
  24116. ConfigNamespace.log = function (e) { return new Log(e); };
  24117. ConfigNamespace.map = function (e) { return new MapElement(e); };
  24118. ConfigNamespace.mediumInfo = function (e) { return new MediumInfo(e); };
  24119. ConfigNamespace.message = function (e) { return new config_Message(e); };
  24120. ConfigNamespace.messaging = function (e) { return new Messaging(e); };
  24121. ConfigNamespace.mode = function (e) { return new Mode(e); };
  24122. ConfigNamespace.modifyAnnots = function (e) { return new ModifyAnnots(e); };
  24123. ConfigNamespace.msgId = function (e) { return new MsgId(e); };
  24124. ConfigNamespace.nameAttr = function (e) { return new NameAttr(e); };
  24125. ConfigNamespace.neverEmbed = function (e) { return new NeverEmbed(e); };
  24126. ConfigNamespace.numberOfCopies = function (e) { return new NumberOfCopies(e); };
  24127. ConfigNamespace.openAction = function (e) { return new OpenAction(e); };
  24128. ConfigNamespace.output = function (e) { return new Output(e); };
  24129. ConfigNamespace.outputBin = function (e) { return new OutputBin(e); };
  24130. ConfigNamespace.outputXSL = function (e) { return new OutputXSL(e); };
  24131. ConfigNamespace.overprint = function (e) { return new Overprint(e); };
  24132. ConfigNamespace.packets = function (e) { return new Packets(e); };
  24133. ConfigNamespace.pageOffset = function (e) { return new PageOffset(e); };
  24134. ConfigNamespace.pageRange = function (e) { return new PageRange(e); };
  24135. ConfigNamespace.pagination = function (e) { return new Pagination(e); };
  24136. ConfigNamespace.paginationOverride = function (e) { return new PaginationOverride(e); };
  24137. ConfigNamespace.part = function (e) { return new Part(e); };
  24138. ConfigNamespace.pcl = function (e) { return new Pcl(e); };
  24139. ConfigNamespace.pdf = function (e) { return new Pdf(e); };
  24140. ConfigNamespace.pdfa = function (e) { return new Pdfa(e); };
  24141. ConfigNamespace.permissions = function (e) { return new Permissions(e); };
  24142. ConfigNamespace.pickTrayByPDFSize = function (e) { return new PickTrayByPDFSize(e); };
  24143. ConfigNamespace.picture = function (e) { return new config_Picture(e); };
  24144. ConfigNamespace.plaintextMetadata = function (e) { return new PlaintextMetadata(e); };
  24145. ConfigNamespace.presence = function (e) { return new Presence(e); };
  24146. ConfigNamespace.present = function (e) { return new Present(e); };
  24147. ConfigNamespace.print = function (e) { return new Print(e); };
  24148. ConfigNamespace.printHighQuality = function (e) { return new PrintHighQuality(e); };
  24149. ConfigNamespace.printScaling = function (e) { return new PrintScaling(e); };
  24150. ConfigNamespace.printerName = function (e) { return new PrinterName(e); };
  24151. ConfigNamespace.producer = function (e) { return new Producer(e); };
  24152. ConfigNamespace.ps = function (e) { return new Ps(e); };
  24153. ConfigNamespace.range = function (e) { return new Range(e); };
  24154. ConfigNamespace.record = function (e) { return new Record(e); };
  24155. ConfigNamespace.relevant = function (e) { return new Relevant(e); };
  24156. ConfigNamespace.rename = function (e) { return new Rename(e); };
  24157. ConfigNamespace.renderPolicy = function (e) { return new RenderPolicy(e); };
  24158. ConfigNamespace.runScripts = function (e) { return new RunScripts(e); };
  24159. ConfigNamespace.script = function (e) { return new config_Script(e); };
  24160. ConfigNamespace.scriptModel = function (e) { return new ScriptModel(e); };
  24161. ConfigNamespace.severity = function (e) { return new Severity(e); };
  24162. ConfigNamespace.silentPrint = function (e) { return new SilentPrint(e); };
  24163. ConfigNamespace.staple = function (e) { return new Staple(e); };
  24164. ConfigNamespace.startNode = function (e) { return new StartNode(e); };
  24165. ConfigNamespace.startPage = function (e) { return new StartPage(e); };
  24166. ConfigNamespace.submitFormat = function (e) { return new SubmitFormat(e); };
  24167. ConfigNamespace.submitUrl = function (e) { return new SubmitUrl(e); };
  24168. ConfigNamespace.subsetBelow = function (e) { return new SubsetBelow(e); };
  24169. ConfigNamespace.suppressBanner = function (e) { return new SuppressBanner(e); };
  24170. ConfigNamespace.tagged = function (e) { return new Tagged(e); };
  24171. ConfigNamespace.template = function (e) { return new config_Template(e); };
  24172. ConfigNamespace.templateCache = function (e) { return new TemplateCache(e); };
  24173. ConfigNamespace.threshold = function (e) { return new Threshold(e); };
  24174. ConfigNamespace.to = function (e) { return new To(e); };
  24175. ConfigNamespace.trace = function (e) { return new Trace(e); };
  24176. ConfigNamespace.transform = function (e) { return new Transform(e); };
  24177. ConfigNamespace.type = function (e) { return new Type(e); };
  24178. ConfigNamespace.uri = function (e) { return new Uri(e); };
  24179. ConfigNamespace.validate = function (e) { return new config_Validate(e); };
  24180. ConfigNamespace.validateApprovalSignatures = function (e) { return new ValidateApprovalSignatures(e); };
  24181. ConfigNamespace.validationMessaging = function (e) { return new ValidationMessaging(e); };
  24182. ConfigNamespace.version = function (e) { return new Version(e); };
  24183. ConfigNamespace.versionControl = function (e) { return new VersionControl(e); };
  24184. ConfigNamespace.viewerPreferences = function (e) { return new ViewerPreferences(e); };
  24185. ConfigNamespace.webClient = function (e) { return new WebClient(e); };
  24186. ConfigNamespace.whitespace = function (e) { return new Whitespace(e); };
  24187. ConfigNamespace.window = function (e) { return new Window(e); };
  24188. ConfigNamespace.xdc = function (e) { return new Xdc(e); };
  24189. ConfigNamespace.xdp = function (e) { return new Xdp(e); };
  24190. ConfigNamespace.xsl = function (e) { return new Xsl(e); };
  24191. ConfigNamespace.zpl = function (e) { return new Zpl(e); };
  24192. return ConfigNamespace;
  24193. }());
  24194. var On = gn.connectionSet.id;
  24195. var ConnectionSet = /** @class */ (function (_super) {
  24196. tslib_1.__extends(ConnectionSet, _super);
  24197. function ConnectionSet(e) {
  24198. var _this = _super.call(this, On, "connectionSet", !0) || this;
  24199. _this.wsdlConnection = new XFAObjectArray;
  24200. _this.xmlConnection = new XFAObjectArray;
  24201. _this.xsdConnection = new XFAObjectArray;
  24202. return _this;
  24203. }
  24204. return ConnectionSet;
  24205. }(XFAObject));
  24206. var EffectiveInputPolicy = /** @class */ (function (_super) {
  24207. tslib_1.__extends(EffectiveInputPolicy, _super);
  24208. function EffectiveInputPolicy(e) {
  24209. var _this = _super.call(this, On, "effectiveInputPolicy") || this;
  24210. _this.id = e.id || "";
  24211. _this.name = e.name || "";
  24212. _this.use = e.use || "";
  24213. _this.usehref = e.usehref || "";
  24214. return _this;
  24215. }
  24216. return EffectiveInputPolicy;
  24217. }(XFAObject));
  24218. var EffectiveOutputPolicy = /** @class */ (function (_super) {
  24219. tslib_1.__extends(EffectiveOutputPolicy, _super);
  24220. function EffectiveOutputPolicy(e) {
  24221. var _this = _super.call(this, On, "effectiveOutputPolicy") || this;
  24222. _this.id = e.id || "";
  24223. _this.name = e.name || "";
  24224. _this.use = e.use || "";
  24225. _this.usehref = e.usehref || "";
  24226. return _this;
  24227. }
  24228. return EffectiveOutputPolicy;
  24229. }(XFAObject));
  24230. var Operation = /** @class */ (function (_super) {
  24231. tslib_1.__extends(Operation, _super);
  24232. function Operation(e) {
  24233. var _this = _super.call(this, On, "operation") || this;
  24234. _this.id = e.id || "";
  24235. _this.input = e.input || "";
  24236. _this.name = e.name || "";
  24237. _this.output = e.output || "";
  24238. _this.use = e.use || "";
  24239. _this.usehref = e.usehref || "";
  24240. return _this;
  24241. }
  24242. return Operation;
  24243. }(StringObject));
  24244. var RootElement = /** @class */ (function (_super) {
  24245. tslib_1.__extends(RootElement, _super);
  24246. function RootElement(e) {
  24247. var _this = _super.call(this, On, "rootElement") || this;
  24248. _this.id = e.id || "";
  24249. _this.name = e.name || "";
  24250. _this.use = e.use || "";
  24251. _this.usehref = e.usehref || "";
  24252. return _this;
  24253. }
  24254. return RootElement;
  24255. }(StringObject));
  24256. var SoapAction = /** @class */ (function (_super) {
  24257. tslib_1.__extends(SoapAction, _super);
  24258. function SoapAction(e) {
  24259. var _this = _super.call(this, On, "soapAction") || this;
  24260. _this.id = e.id || "";
  24261. _this.name = e.name || "";
  24262. _this.use = e.use || "";
  24263. _this.usehref = e.usehref || "";
  24264. return _this;
  24265. }
  24266. return SoapAction;
  24267. }(StringObject));
  24268. var SoapAddress = /** @class */ (function (_super) {
  24269. tslib_1.__extends(SoapAddress, _super);
  24270. function SoapAddress(e) {
  24271. var _this = _super.call(this, On, "soapAddress") || this;
  24272. _this.id = e.id || "";
  24273. _this.name = e.name || "";
  24274. _this.use = e.use || "";
  24275. _this.usehref = e.usehref || "";
  24276. return _this;
  24277. }
  24278. return SoapAddress;
  24279. }(StringObject));
  24280. var connection_set_Uri = /** @class */ (function (_super) {
  24281. tslib_1.__extends(connection_set_Uri, _super);
  24282. function connection_set_Uri(e) {
  24283. var _this = _super.call(this, On, "uri") || this;
  24284. _this.id = e.id || "";
  24285. _this.name = e.name || "";
  24286. _this.use = e.use || "";
  24287. _this.usehref = e.usehref || "";
  24288. return _this;
  24289. }
  24290. return connection_set_Uri;
  24291. }(StringObject));
  24292. var WsdlAddress = /** @class */ (function (_super) {
  24293. tslib_1.__extends(WsdlAddress, _super);
  24294. function WsdlAddress(e) {
  24295. var _this = _super.call(this, On, "wsdlAddress") || this;
  24296. _this.id = e.id || "";
  24297. _this.name = e.name || "";
  24298. _this.use = e.use || "";
  24299. _this.usehref = e.usehref || "";
  24300. return _this;
  24301. }
  24302. return WsdlAddress;
  24303. }(StringObject));
  24304. var WsdlConnection = /** @class */ (function (_super) {
  24305. tslib_1.__extends(WsdlConnection, _super);
  24306. function WsdlConnection(e) {
  24307. var _this = _super.call(this, On, "wsdlConnection", !0) || this;
  24308. _this.dataDescription = e.dataDescription || "";
  24309. _this.name = e.name || "";
  24310. _this.effectiveInputPolicy = null;
  24311. _this.effectiveOutputPolicy = null;
  24312. _this.operation = null;
  24313. _this.soapAction = null;
  24314. _this.soapAddress = null;
  24315. _this.wsdlAddress = null;
  24316. return _this;
  24317. }
  24318. return WsdlConnection;
  24319. }(XFAObject));
  24320. var XmlConnection = /** @class */ (function (_super) {
  24321. tslib_1.__extends(XmlConnection, _super);
  24322. function XmlConnection(e) {
  24323. var _this = _super.call(this, On, "xmlConnection", !0) || this;
  24324. _this.dataDescription = e.dataDescription || "";
  24325. _this.name = e.name || "";
  24326. _this.uri = null;
  24327. return _this;
  24328. }
  24329. return XmlConnection;
  24330. }(XFAObject));
  24331. var XsdConnection = /** @class */ (function (_super) {
  24332. tslib_1.__extends(XsdConnection, _super);
  24333. function XsdConnection(e) {
  24334. var _this = _super.call(this, On, "xsdConnection", !0) || this;
  24335. _this.dataDescription = e.dataDescription || "";
  24336. _this.name = e.name || "";
  24337. _this.rootElement = null;
  24338. _this.uri = null;
  24339. return _this;
  24340. }
  24341. return XsdConnection;
  24342. }(XFAObject));
  24343. var ConnectionSetNamespace = /** @class */ (function () {
  24344. function ConnectionSetNamespace() {
  24345. }
  24346. ConnectionSetNamespace[on] = function (e, t) { if (ConnectionSetNamespace.hasOwnProperty(e))
  24347. return ConnectionSetNamespace[e](t); };
  24348. ConnectionSetNamespace.connectionSet = function (e) { return new ConnectionSet(e); };
  24349. ConnectionSetNamespace.effectiveInputPolicy = function (e) { return new EffectiveInputPolicy(e); };
  24350. ConnectionSetNamespace.effectiveOutputPolicy = function (e) { return new EffectiveOutputPolicy(e); };
  24351. ConnectionSetNamespace.operation = function (e) { return new Operation(e); };
  24352. ConnectionSetNamespace.rootElement = function (e) { return new RootElement(e); };
  24353. ConnectionSetNamespace.soapAction = function (e) { return new SoapAction(e); };
  24354. ConnectionSetNamespace.soapAddress = function (e) { return new SoapAddress(e); };
  24355. ConnectionSetNamespace.uri = function (e) { return new connection_set_Uri(e); };
  24356. ConnectionSetNamespace.wsdlAddress = function (e) { return new WsdlAddress(e); };
  24357. ConnectionSetNamespace.wsdlConnection = function (e) { return new WsdlConnection(e); };
  24358. ConnectionSetNamespace.xmlConnection = function (e) { return new XmlConnection(e); };
  24359. ConnectionSetNamespace.xsdConnection = function (e) { return new XsdConnection(e); };
  24360. return ConnectionSetNamespace;
  24361. }());
  24362. var Pn = gn.datasets.id;
  24363. var datasets_Data = /** @class */ (function (_super) {
  24364. tslib_1.__extends(datasets_Data, _super);
  24365. function datasets_Data(e) {
  24366. return _super.call(this, Pn, "data", e) || this;
  24367. }
  24368. datasets_Data.prototype[Gr] = function () { return !0; };
  24369. return datasets_Data;
  24370. }(XmlObject));
  24371. var Datasets = /** @class */ (function (_super) {
  24372. tslib_1.__extends(Datasets, _super);
  24373. function Datasets(e) {
  24374. var _this = _super.call(this, Pn, "datasets", !0) || this;
  24375. _this.data = null;
  24376. _this.Signature = null;
  24377. return _this;
  24378. }
  24379. Datasets.prototype[Kr] = function (e) { var t = e[Yr]; ("data" === t && e[Hr] === Pn || "Signature" === t && e[Hr] === gn.signature.id) && (this[t] = e); this[js](e); };
  24380. return Datasets;
  24381. }(XFAObject));
  24382. var DatasetsNamespace = /** @class */ (function () {
  24383. function DatasetsNamespace() {
  24384. }
  24385. DatasetsNamespace[on] = function (e, t) { if (DatasetsNamespace.hasOwnProperty(e))
  24386. return DatasetsNamespace[e](t); };
  24387. DatasetsNamespace.datasets = function (e) { return new Datasets(e); };
  24388. DatasetsNamespace.data = function (e) { return new datasets_Data(e); };
  24389. return DatasetsNamespace;
  24390. }());
  24391. var Wn = gn.localeSet.id;
  24392. var CalendarSymbols = /** @class */ (function (_super) {
  24393. tslib_1.__extends(CalendarSymbols, _super);
  24394. function CalendarSymbols(e) {
  24395. var _this = _super.call(this, Wn, "calendarSymbols", !0) || this;
  24396. _this.name = "gregorian";
  24397. _this.dayNames = new XFAObjectArray(2);
  24398. _this.eraNames = null;
  24399. _this.meridiemNames = null;
  24400. _this.monthNames = new XFAObjectArray(2);
  24401. return _this;
  24402. }
  24403. return CalendarSymbols;
  24404. }(XFAObject));
  24405. var CurrencySymbol = /** @class */ (function (_super) {
  24406. tslib_1.__extends(CurrencySymbol, _super);
  24407. function CurrencySymbol(e) {
  24408. var _this = _super.call(this, Wn, "currencySymbol") || this;
  24409. _this.name = getStringOption(e.name, ["symbol", "isoname", "decimal"]);
  24410. return _this;
  24411. }
  24412. return CurrencySymbol;
  24413. }(StringObject));
  24414. var CurrencySymbols = /** @class */ (function (_super) {
  24415. tslib_1.__extends(CurrencySymbols, _super);
  24416. function CurrencySymbols(e) {
  24417. var _this = _super.call(this, Wn, "currencySymbols", !0) || this;
  24418. _this.currencySymbol = new XFAObjectArray(3);
  24419. return _this;
  24420. }
  24421. return CurrencySymbols;
  24422. }(XFAObject));
  24423. var DatePattern = /** @class */ (function (_super) {
  24424. tslib_1.__extends(DatePattern, _super);
  24425. function DatePattern(e) {
  24426. var _this = _super.call(this, Wn, "datePattern") || this;
  24427. _this.name = getStringOption(e.name, ["full", "long", "med", "short"]);
  24428. return _this;
  24429. }
  24430. return DatePattern;
  24431. }(StringObject));
  24432. var DatePatterns = /** @class */ (function (_super) {
  24433. tslib_1.__extends(DatePatterns, _super);
  24434. function DatePatterns(e) {
  24435. var _this = _super.call(this, Wn, "datePatterns", !0) || this;
  24436. _this.datePattern = new XFAObjectArray(4);
  24437. return _this;
  24438. }
  24439. return DatePatterns;
  24440. }(XFAObject));
  24441. var DateTimeSymbols = /** @class */ (function (_super) {
  24442. tslib_1.__extends(DateTimeSymbols, _super);
  24443. function DateTimeSymbols(e) {
  24444. return _super.call(this, Wn, "dateTimeSymbols") || this;
  24445. }
  24446. return DateTimeSymbols;
  24447. }(ContentObject));
  24448. var Day = /** @class */ (function (_super) {
  24449. tslib_1.__extends(Day, _super);
  24450. function Day(e) {
  24451. return _super.call(this, Wn, "day") || this;
  24452. }
  24453. return Day;
  24454. }(StringObject));
  24455. var DayNames = /** @class */ (function (_super) {
  24456. tslib_1.__extends(DayNames, _super);
  24457. function DayNames(e) {
  24458. var _this = _super.call(this, Wn, "dayNames", !0) || this;
  24459. _this.abbr = getInteger({ data: e.abbr, defaultValue: 0, validate: function (e) { return 1 === e; } });
  24460. _this.day = new XFAObjectArray(7);
  24461. return _this;
  24462. }
  24463. return DayNames;
  24464. }(XFAObject));
  24465. var Era = /** @class */ (function (_super) {
  24466. tslib_1.__extends(Era, _super);
  24467. function Era(e) {
  24468. return _super.call(this, Wn, "era") || this;
  24469. }
  24470. return Era;
  24471. }(StringObject));
  24472. var EraNames = /** @class */ (function (_super) {
  24473. tslib_1.__extends(EraNames, _super);
  24474. function EraNames(e) {
  24475. var _this = _super.call(this, Wn, "eraNames", !0) || this;
  24476. _this.era = new XFAObjectArray(2);
  24477. return _this;
  24478. }
  24479. return EraNames;
  24480. }(XFAObject));
  24481. var locale_set_Locale = /** @class */ (function (_super) {
  24482. tslib_1.__extends(locale_set_Locale, _super);
  24483. function locale_set_Locale(e) {
  24484. var _this = _super.call(this, Wn, "locale", !0) || this;
  24485. _this.desc = e.desc || "";
  24486. _this.name = "isoname";
  24487. _this.calendarSymbols = null;
  24488. _this.currencySymbols = null;
  24489. _this.datePatterns = null;
  24490. _this.dateTimeSymbols = null;
  24491. _this.numberPatterns = null;
  24492. _this.numberSymbols = null;
  24493. _this.timePatterns = null;
  24494. _this.typeFaces = null;
  24495. return _this;
  24496. }
  24497. return locale_set_Locale;
  24498. }(XFAObject));
  24499. var locale_set_LocaleSet = /** @class */ (function (_super) {
  24500. tslib_1.__extends(locale_set_LocaleSet, _super);
  24501. function locale_set_LocaleSet(e) {
  24502. var _this = _super.call(this, Wn, "localeSet", !0) || this;
  24503. _this.locale = new XFAObjectArray;
  24504. return _this;
  24505. }
  24506. return locale_set_LocaleSet;
  24507. }(XFAObject));
  24508. var Meridiem = /** @class */ (function (_super) {
  24509. tslib_1.__extends(Meridiem, _super);
  24510. function Meridiem(e) {
  24511. return _super.call(this, Wn, "meridiem") || this;
  24512. }
  24513. return Meridiem;
  24514. }(StringObject));
  24515. var MeridiemNames = /** @class */ (function (_super) {
  24516. tslib_1.__extends(MeridiemNames, _super);
  24517. function MeridiemNames(e) {
  24518. var _this = _super.call(this, Wn, "meridiemNames", !0) || this;
  24519. _this.meridiem = new XFAObjectArray(2);
  24520. return _this;
  24521. }
  24522. return MeridiemNames;
  24523. }(XFAObject));
  24524. var Month = /** @class */ (function (_super) {
  24525. tslib_1.__extends(Month, _super);
  24526. function Month(e) {
  24527. return _super.call(this, Wn, "month") || this;
  24528. }
  24529. return Month;
  24530. }(StringObject));
  24531. var MonthNames = /** @class */ (function (_super) {
  24532. tslib_1.__extends(MonthNames, _super);
  24533. function MonthNames(e) {
  24534. var _this = _super.call(this, Wn, "monthNames", !0) || this;
  24535. _this.abbr = getInteger({ data: e.abbr, defaultValue: 0, validate: function (e) { return 1 === e; } });
  24536. _this.month = new XFAObjectArray(12);
  24537. return _this;
  24538. }
  24539. return MonthNames;
  24540. }(XFAObject));
  24541. var NumberPattern = /** @class */ (function (_super) {
  24542. tslib_1.__extends(NumberPattern, _super);
  24543. function NumberPattern(e) {
  24544. var _this = _super.call(this, Wn, "numberPattern") || this;
  24545. _this.name = getStringOption(e.name, ["full", "long", "med", "short"]);
  24546. return _this;
  24547. }
  24548. return NumberPattern;
  24549. }(StringObject));
  24550. var NumberPatterns = /** @class */ (function (_super) {
  24551. tslib_1.__extends(NumberPatterns, _super);
  24552. function NumberPatterns(e) {
  24553. var _this = _super.call(this, Wn, "numberPatterns", !0) || this;
  24554. _this.numberPattern = new XFAObjectArray(4);
  24555. return _this;
  24556. }
  24557. return NumberPatterns;
  24558. }(XFAObject));
  24559. var NumberSymbol = /** @class */ (function (_super) {
  24560. tslib_1.__extends(NumberSymbol, _super);
  24561. function NumberSymbol(e) {
  24562. var _this = _super.call(this, Wn, "numberSymbol") || this;
  24563. _this.name = getStringOption(e.name, ["decimal", "grouping", "percent", "minus", "zero"]);
  24564. return _this;
  24565. }
  24566. return NumberSymbol;
  24567. }(StringObject));
  24568. var NumberSymbols = /** @class */ (function (_super) {
  24569. tslib_1.__extends(NumberSymbols, _super);
  24570. function NumberSymbols(e) {
  24571. var _this = _super.call(this, Wn, "numberSymbols", !0) || this;
  24572. _this.numberSymbol = new XFAObjectArray(5);
  24573. return _this;
  24574. }
  24575. return NumberSymbols;
  24576. }(XFAObject));
  24577. var TimePattern = /** @class */ (function (_super) {
  24578. tslib_1.__extends(TimePattern, _super);
  24579. function TimePattern(e) {
  24580. var _this = _super.call(this, Wn, "timePattern") || this;
  24581. _this.name = getStringOption(e.name, ["full", "long", "med", "short"]);
  24582. return _this;
  24583. }
  24584. return TimePattern;
  24585. }(StringObject));
  24586. var TimePatterns = /** @class */ (function (_super) {
  24587. tslib_1.__extends(TimePatterns, _super);
  24588. function TimePatterns(e) {
  24589. var _this = _super.call(this, Wn, "timePatterns", !0) || this;
  24590. _this.timePattern = new XFAObjectArray(4);
  24591. return _this;
  24592. }
  24593. return TimePatterns;
  24594. }(XFAObject));
  24595. var TypeFace = /** @class */ (function (_super) {
  24596. tslib_1.__extends(TypeFace, _super);
  24597. function TypeFace(e) {
  24598. var _this = _super.call(this, Wn, "typeFace", !0) || this;
  24599. _this.name = "" | e.name;
  24600. return _this;
  24601. }
  24602. return TypeFace;
  24603. }(XFAObject));
  24604. var TypeFaces = /** @class */ (function (_super) {
  24605. tslib_1.__extends(TypeFaces, _super);
  24606. function TypeFaces(e) {
  24607. var _this = _super.call(this, Wn, "typeFaces", !0) || this;
  24608. _this.typeFace = new XFAObjectArray;
  24609. return _this;
  24610. }
  24611. return TypeFaces;
  24612. }(XFAObject));
  24613. var LocaleSetNamespace = /** @class */ (function () {
  24614. function LocaleSetNamespace() {
  24615. }
  24616. LocaleSetNamespace[on] = function (e, t) { if (LocaleSetNamespace.hasOwnProperty(e))
  24617. return LocaleSetNamespace[e](t); };
  24618. LocaleSetNamespace.calendarSymbols = function (e) { return new CalendarSymbols(e); };
  24619. LocaleSetNamespace.currencySymbol = function (e) { return new CurrencySymbol(e); };
  24620. LocaleSetNamespace.currencySymbols = function (e) { return new CurrencySymbols(e); };
  24621. LocaleSetNamespace.datePattern = function (e) { return new DatePattern(e); };
  24622. LocaleSetNamespace.datePatterns = function (e) { return new DatePatterns(e); };
  24623. LocaleSetNamespace.dateTimeSymbols = function (e) { return new DateTimeSymbols(e); };
  24624. LocaleSetNamespace.day = function (e) { return new Day(e); };
  24625. LocaleSetNamespace.dayNames = function (e) { return new DayNames(e); };
  24626. LocaleSetNamespace.era = function (e) { return new Era(e); };
  24627. LocaleSetNamespace.eraNames = function (e) { return new EraNames(e); };
  24628. LocaleSetNamespace.locale = function (e) { return new locale_set_Locale(e); };
  24629. LocaleSetNamespace.localeSet = function (e) { return new locale_set_LocaleSet(e); };
  24630. LocaleSetNamespace.meridiem = function (e) { return new Meridiem(e); };
  24631. LocaleSetNamespace.meridiemNames = function (e) { return new MeridiemNames(e); };
  24632. LocaleSetNamespace.month = function (e) { return new Month(e); };
  24633. LocaleSetNamespace.monthNames = function (e) { return new MonthNames(e); };
  24634. LocaleSetNamespace.numberPattern = function (e) { return new NumberPattern(e); };
  24635. LocaleSetNamespace.numberPatterns = function (e) { return new NumberPatterns(e); };
  24636. LocaleSetNamespace.numberSymbol = function (e) { return new NumberSymbol(e); };
  24637. LocaleSetNamespace.numberSymbols = function (e) { return new NumberSymbols(e); };
  24638. LocaleSetNamespace.timePattern = function (e) { return new TimePattern(e); };
  24639. LocaleSetNamespace.timePatterns = function (e) { return new TimePatterns(e); };
  24640. LocaleSetNamespace.typeFace = function (e) { return new TypeFace(e); };
  24641. LocaleSetNamespace.typeFaces = function (e) { return new TypeFaces(e); };
  24642. return LocaleSetNamespace;
  24643. }());
  24644. var Xn = gn.signature.id;
  24645. var signature_Signature = /** @class */ (function (_super) {
  24646. tslib_1.__extends(signature_Signature, _super);
  24647. function signature_Signature(e) {
  24648. return _super.call(this, Xn, "signature", !0) || this;
  24649. }
  24650. return signature_Signature;
  24651. }(XFAObject));
  24652. var SignatureNamespace = /** @class */ (function () {
  24653. function SignatureNamespace() {
  24654. }
  24655. SignatureNamespace[on] = function (e, t) { if (SignatureNamespace.hasOwnProperty(e))
  24656. return SignatureNamespace[e](t); };
  24657. SignatureNamespace.signature = function (e) { return new signature_Signature(e); };
  24658. return SignatureNamespace;
  24659. }());
  24660. var jn = gn.stylesheet.id;
  24661. var Stylesheet = /** @class */ (function (_super) {
  24662. tslib_1.__extends(Stylesheet, _super);
  24663. function Stylesheet(e) {
  24664. return _super.call(this, jn, "stylesheet", !0) || this;
  24665. }
  24666. return Stylesheet;
  24667. }(XFAObject));
  24668. var StylesheetNamespace = /** @class */ (function () {
  24669. function StylesheetNamespace() {
  24670. }
  24671. StylesheetNamespace[on] = function (e, t) { if (StylesheetNamespace.hasOwnProperty(e))
  24672. return StylesheetNamespace[e](t); };
  24673. StylesheetNamespace.stylesheet = function (e) { return new Stylesheet(e); };
  24674. return StylesheetNamespace;
  24675. }());
  24676. var Zn = gn.xdp.id;
  24677. var xdp_Xdp = /** @class */ (function (_super) {
  24678. tslib_1.__extends(xdp_Xdp, _super);
  24679. function xdp_Xdp(e) {
  24680. var _this = _super.call(this, Zn, "xdp", !0) || this;
  24681. _this.uuid = e.uuid || "";
  24682. _this.timeStamp = e.timeStamp || "";
  24683. _this.config = null;
  24684. _this.connectionSet = null;
  24685. _this.datasets = null;
  24686. _this.localeSet = null;
  24687. _this.stylesheet = new XFAObjectArray;
  24688. _this.template = null;
  24689. return _this;
  24690. }
  24691. xdp_Xdp.prototype[Tr] = function (e) { var t = gn[e[Yr]]; return t && e[Hr] === t.id; };
  24692. return xdp_Xdp;
  24693. }(XFAObject));
  24694. var XdpNamespace = /** @class */ (function () {
  24695. function XdpNamespace() {
  24696. }
  24697. XdpNamespace[on] = function (e, t) { if (XdpNamespace.hasOwnProperty(e))
  24698. return XdpNamespace[e](t); };
  24699. XdpNamespace.xdp = function (e) { return new xdp_Xdp(e); };
  24700. return XdpNamespace;
  24701. }());
  24702. var Vn = gn.xhtml.id, zn = Symbol(), _n = new Set(["color", "font", "font-family", "font-size", "font-stretch", "font-style", "font-weight", "margin", "margin-bottom", "margin-left", "margin-right", "margin-top", "letter-spacing", "line-height", "orphans", "page-break-after", "page-break-before", "page-break-inside", "tab-interval", "tab-stop", "text-align", "text-decoration", "text-indent", "vertical-align", "widows", "kerning-mode", "xfa-font-horizontal-scale", "xfa-font-vertical-scale", "xfa-spacerun", "xfa-tab-stops"]), $n = new Map([["page-break-after", "breakAfter"], ["page-break-before", "breakBefore"], ["page-break-inside", "breakInside"], ["kerning-mode", function (e) { return "none" === e ? "none" : "normal"; }], ["xfa-font-horizontal-scale", function (e) { return "scaleX(".concat(Math.max(0, Math.min(parseInt(e) / 100)).toFixed(2), ")"); }], ["xfa-font-vertical-scale", function (e) { return "scaleY(".concat(Math.max(0, Math.min(parseInt(e) / 100)).toFixed(2), ")"); }], ["xfa-spacerun", ""], ["xfa-tab-stops", ""], ["font-size", function (e, t) { return measureToString(.99 * (e = t.fontSize = getMeasurement(e))); }], ["letter-spacing", function (e) { return measureToString(getMeasurement(e)); }], ["line-height", function (e) { return measureToString(getMeasurement(e)); }], ["margin", function (e) { return measureToString(getMeasurement(e)); }], ["margin-bottom", function (e) { return measureToString(getMeasurement(e)); }], ["margin-left", function (e) { return measureToString(getMeasurement(e)); }], ["margin-right", function (e) { return measureToString(getMeasurement(e)); }], ["margin-top", function (e) { return measureToString(getMeasurement(e)); }], ["text-indent", function (e) { return measureToString(getMeasurement(e)); }], ["font-family", function (e) { return e; }], ["vertical-align", function (e) { return measureToString(getMeasurement(e)); }]]), Ao = /\s+/g, eo = /[\r\n]+/g, to = /\r\n?/g;
  24703. function mapStyle(e, t, i) { var a = Object.create(null); if (!e)
  24704. return a; var s = Object.create(null); for (var _b = 0, _k = e.split(";").map((function (e) { return e.split(":", 2); })); _b < _k.length; _b++) {
  24705. var _l = _k[_b], t_421 = _l[0], i_345 = _l[1];
  24706. var e_571 = $n.get(t_421);
  24707. if ("" === e_571)
  24708. continue;
  24709. var r_148 = i_345;
  24710. e_571 && (r_148 = "string" == typeof e_571 ? e_571 : e_571(i_345, s));
  24711. t_421.endsWith("scale") ? a.transform = a.transform ? "".concat(a[t_421], " ").concat(r_148) : r_148 : a[t_421.replaceAll(/-([a-zA-Z])/g, (function (e, t) { return t.toUpperCase(); }))] = r_148;
  24712. } a.fontFamily && setFontFamily({ typeface: a.fontFamily, weight: a.fontWeight || "normal", posture: a.fontStyle || "normal", size: s.fontSize || 0 }, t, t[yr].fontFinder, a); if (i && a.verticalAlign && "0px" !== a.verticalAlign && a.fontSize) {
  24713. var e_572 = .583, t_422 = .333, i_346 = getMeasurement(a.fontSize);
  24714. a.fontSize = measureToString(i_346 * e_572);
  24715. a.verticalAlign = measureToString(Math.sign(getMeasurement(a.verticalAlign)) * i_346 * t_422);
  24716. } i && a.fontSize && (a.fontSize = "calc(".concat(a.fontSize, " * var(--scale-factor))")); fixTextIndent(a); return a; }
  24717. var io = new Set(["body", "html"]);
  24718. var XhtmlObject = /** @class */ (function (_super) {
  24719. tslib_1.__extends(XhtmlObject, _super);
  24720. function XhtmlObject(e, t) {
  24721. var _this = _super.call(this, Vn, t) || this;
  24722. _this[zn] = !1;
  24723. _this.style = e.style || "";
  24724. return _this;
  24725. }
  24726. XhtmlObject.prototype[Vs] = function (e) { _super.prototype[Vs].call(this, e); this.style = function checkStyle(e) { return e.style ? e.style.trim().split(/\s*;\s*/).filter((function (e) { return !!e; })).map((function (e) { return e.split(/\s*:\s*/, 2); })).filter((function (_b) {
  24727. var t = _b[0], i = _b[1];
  24728. "font-family" === t && e[yr].usedTypefaces.add(i);
  24729. return _n.has(t);
  24730. })).map((function (e) { return e.join(":"); })).join(";") : ""; }(this); };
  24731. XhtmlObject.prototype[Ws] = function () { return !io.has(this[Yr]); };
  24732. XhtmlObject.prototype[qr] = function (e, t) {
  24733. if (t === void 0) { t = !1; }
  24734. if (t)
  24735. this[zn] = !0;
  24736. else {
  24737. e = e.replaceAll(eo, "");
  24738. this.style.includes("xfa-spacerun:yes") || (e = e.replaceAll(Ao, " "));
  24739. }
  24740. e && (this[er] += e);
  24741. };
  24742. XhtmlObject.prototype[Or] = function (e, t) {
  24743. if (t === void 0) { t = !0; }
  24744. var i = Object.create(null), a = { top: NaN, bottom: NaN, left: NaN, right: NaN };
  24745. var s = null;
  24746. for (var _b = 0, _k = this.style.split(";").map((function (e) { return e.split(":", 2); })); _b < _k.length; _b++) {
  24747. var _l = _k[_b], e_573 = _l[0], t_423 = _l[1];
  24748. switch (e_573) {
  24749. case "font-family":
  24750. i.typeface = stripQuotes(t_423);
  24751. break;
  24752. case "font-size":
  24753. i.size = getMeasurement(t_423);
  24754. break;
  24755. case "font-weight":
  24756. i.weight = t_423;
  24757. break;
  24758. case "font-style":
  24759. i.posture = t_423;
  24760. break;
  24761. case "letter-spacing":
  24762. i.letterSpacing = getMeasurement(t_423);
  24763. break;
  24764. case "margin":
  24765. var e_574 = t_423.split(/ \t/).map((function (e) { return getMeasurement(e); }));
  24766. switch (e_574.length) {
  24767. case 1:
  24768. a.top = a.bottom = a.left = a.right = e_574[0];
  24769. break;
  24770. case 2:
  24771. a.top = a.bottom = e_574[0];
  24772. a.left = a.right = e_574[1];
  24773. break;
  24774. case 3:
  24775. a.top = e_574[0];
  24776. a.bottom = e_574[2];
  24777. a.left = a.right = e_574[1];
  24778. break;
  24779. case 4:
  24780. a.top = e_574[0];
  24781. a.left = e_574[1];
  24782. a.bottom = e_574[2];
  24783. a.right = e_574[3];
  24784. }
  24785. break;
  24786. case "margin-top":
  24787. a.top = getMeasurement(t_423);
  24788. break;
  24789. case "margin-bottom":
  24790. a.bottom = getMeasurement(t_423);
  24791. break;
  24792. case "margin-left":
  24793. a.left = getMeasurement(t_423);
  24794. break;
  24795. case "margin-right":
  24796. a.right = getMeasurement(t_423);
  24797. break;
  24798. case "line-height": s = getMeasurement(t_423);
  24799. }
  24800. }
  24801. e.pushData(i, a, s);
  24802. if (this[er])
  24803. e.addString(this[er]);
  24804. else
  24805. for (var _m = 0, _o = this[Er](); _m < _o.length; _m++) {
  24806. var t_424 = _o[_m];
  24807. "#text" !== t_424[Yr] ? t_424[Or](e) : e.addString(t_424[er]);
  24808. }
  24809. t && e.popFont();
  24810. };
  24811. XhtmlObject.prototype[an] = function (e) { var t = []; this[ar] = { children: t }; this[Zs]({}); if (0 === t.length && !this[er])
  24812. return HTMLResult.EMPTY; var i; i = this[zn] ? this[er] ? this[er].replaceAll(to, "\n") : void 0 : this[er] || void 0; return HTMLResult.success({ name: this[Yr], attributes: { href: this.href, style: mapStyle(this.style, this, this[zn]) }, children: t, value: i }); };
  24813. return XhtmlObject;
  24814. }(XmlObject));
  24815. var A = /** @class */ (function (_super) {
  24816. tslib_1.__extends(A, _super);
  24817. function A(e) {
  24818. var _this = _super.call(this, e, "a") || this;
  24819. _this.href = fixURL(e.href) || "";
  24820. return _this;
  24821. }
  24822. return A;
  24823. }(XhtmlObject));
  24824. var B = /** @class */ (function (_super) {
  24825. tslib_1.__extends(B, _super);
  24826. function B(e) {
  24827. return _super.call(this, e, "b") || this;
  24828. }
  24829. B.prototype[Or] = function (e) { e.pushFont({ weight: "bold" }); _super.prototype[Or].call(this, e); e.popFont(); };
  24830. return B;
  24831. }(XhtmlObject));
  24832. var Body = /** @class */ (function (_super) {
  24833. tslib_1.__extends(Body, _super);
  24834. function Body(e) {
  24835. return _super.call(this, e, "body") || this;
  24836. }
  24837. Body.prototype[an] = function (e) { var t = _super.prototype[an].call(this, e), i = t.html; if (!i)
  24838. return HTMLResult.EMPTY; i.name = "div"; i.attributes.class = ["xfaRich"]; return t; };
  24839. return Body;
  24840. }(XhtmlObject));
  24841. var Br = /** @class */ (function (_super) {
  24842. tslib_1.__extends(Br, _super);
  24843. function Br(e) {
  24844. return _super.call(this, e, "br") || this;
  24845. }
  24846. Br.prototype[en] = function () { return "\n"; };
  24847. Br.prototype[Or] = function (e) { e.addString("\n"); };
  24848. Br.prototype[an] = function (e) { return HTMLResult.success({ name: "br" }); };
  24849. return Br;
  24850. }(XhtmlObject));
  24851. var Html = /** @class */ (function (_super) {
  24852. tslib_1.__extends(Html, _super);
  24853. function Html(e) {
  24854. return _super.call(this, e, "html") || this;
  24855. }
  24856. Html.prototype[an] = function (e) { var _b; var t = []; this[ar] = { children: t }; this[Zs]({}); if (0 === t.length)
  24857. return HTMLResult.success({ name: "div", attributes: { class: ["xfaRich"], style: {} }, value: this[er] || "" }); if (1 === t.length) {
  24858. var e_575 = t[0];
  24859. if ((_b = e_575.attributes) === null || _b === void 0 ? void 0 : _b.class.includes("xfaRich"))
  24860. return HTMLResult.success(e_575);
  24861. } return HTMLResult.success({ name: "div", attributes: { class: ["xfaRich"], style: {} }, children: t }); };
  24862. return Html;
  24863. }(XhtmlObject));
  24864. var I = /** @class */ (function (_super) {
  24865. tslib_1.__extends(I, _super);
  24866. function I(e) {
  24867. return _super.call(this, e, "i") || this;
  24868. }
  24869. I.prototype[Or] = function (e) { e.pushFont({ posture: "italic" }); _super.prototype[Or].call(this, e); e.popFont(); };
  24870. return I;
  24871. }(XhtmlObject));
  24872. var Li = /** @class */ (function (_super) {
  24873. tslib_1.__extends(Li, _super);
  24874. function Li(e) {
  24875. return _super.call(this, e, "li") || this;
  24876. }
  24877. return Li;
  24878. }(XhtmlObject));
  24879. var Ol = /** @class */ (function (_super) {
  24880. tslib_1.__extends(Ol, _super);
  24881. function Ol(e) {
  24882. return _super.call(this, e, "ol") || this;
  24883. }
  24884. return Ol;
  24885. }(XhtmlObject));
  24886. var P = /** @class */ (function (_super) {
  24887. tslib_1.__extends(P, _super);
  24888. function P(e) {
  24889. return _super.call(this, e, "p") || this;
  24890. }
  24891. P.prototype[Or] = function (e) { _super.prototype[Or].call(this, e, !1); e.addString("\n"); e.addPara(); e.popFont(); };
  24892. P.prototype[en] = function () { return this[pr]()[Er]().at(-1) === this ? _super.prototype[en].call(this) : _super.prototype[en].call(this) + "\n"; };
  24893. return P;
  24894. }(XhtmlObject));
  24895. var Span = /** @class */ (function (_super) {
  24896. tslib_1.__extends(Span, _super);
  24897. function Span(e) {
  24898. return _super.call(this, e, "span") || this;
  24899. }
  24900. return Span;
  24901. }(XhtmlObject));
  24902. var Sub = /** @class */ (function (_super) {
  24903. tslib_1.__extends(Sub, _super);
  24904. function Sub(e) {
  24905. return _super.call(this, e, "sub") || this;
  24906. }
  24907. return Sub;
  24908. }(XhtmlObject));
  24909. var Sup = /** @class */ (function (_super) {
  24910. tslib_1.__extends(Sup, _super);
  24911. function Sup(e) {
  24912. return _super.call(this, e, "sup") || this;
  24913. }
  24914. return Sup;
  24915. }(XhtmlObject));
  24916. var Ul = /** @class */ (function (_super) {
  24917. tslib_1.__extends(Ul, _super);
  24918. function Ul(e) {
  24919. return _super.call(this, e, "ul") || this;
  24920. }
  24921. return Ul;
  24922. }(XhtmlObject));
  24923. var XhtmlNamespace = /** @class */ (function () {
  24924. function XhtmlNamespace() {
  24925. }
  24926. XhtmlNamespace[on] = function (e, t) { if (XhtmlNamespace.hasOwnProperty(e))
  24927. return XhtmlNamespace[e](t); };
  24928. XhtmlNamespace.a = function (e) { return new A(e); };
  24929. XhtmlNamespace.b = function (e) { return new B(e); };
  24930. XhtmlNamespace.body = function (e) { return new Body(e); };
  24931. XhtmlNamespace.br = function (e) { return new Br(e); };
  24932. XhtmlNamespace.html = function (e) { return new Html(e); };
  24933. XhtmlNamespace.i = function (e) { return new I(e); };
  24934. XhtmlNamespace.li = function (e) { return new Li(e); };
  24935. XhtmlNamespace.ol = function (e) { return new Ol(e); };
  24936. XhtmlNamespace.p = function (e) { return new P(e); };
  24937. XhtmlNamespace.span = function (e) { return new Span(e); };
  24938. XhtmlNamespace.sub = function (e) { return new Sub(e); };
  24939. XhtmlNamespace.sup = function (e) { return new Sup(e); };
  24940. XhtmlNamespace.ul = function (e) { return new Ul(e); };
  24941. return XhtmlNamespace;
  24942. }());
  24943. var ao = { config: ConfigNamespace, connection: ConnectionSetNamespace, datasets: DatasetsNamespace, localeSet: LocaleSetNamespace, signature: SignatureNamespace, stylesheet: StylesheetNamespace, template: TemplateNamespace, xdp: XdpNamespace, xhtml: XhtmlNamespace };
  24944. var UnknownNamespace = /** @class */ (function () {
  24945. function UnknownNamespace(e) {
  24946. this.namespaceId = e;
  24947. }
  24948. UnknownNamespace.prototype[on] = function (e, t) { return new XmlObject(this.namespaceId, e, t); };
  24949. return UnknownNamespace;
  24950. }());
  24951. var Root = /** @class */ (function (_super) {
  24952. tslib_1.__extends(Root, _super);
  24953. function Root(e) {
  24954. var _this = _super.call(this, -1, "root", Object.create(null)) || this;
  24955. _this.element = null;
  24956. _this[br] = e;
  24957. return _this;
  24958. }
  24959. Root.prototype[Kr] = function (e) { this.element = e; return !0; };
  24960. Root.prototype[sr] = function () { _super.prototype[sr].call(this); if (this.element.template instanceof Template) {
  24961. this[br].set(jr, this.element);
  24962. this.element.template[Zr](this[br]);
  24963. this.element.template[br] = this[br];
  24964. } };
  24965. return Root;
  24966. }(XFAObject));
  24967. var Empty = /** @class */ (function (_super) {
  24968. tslib_1.__extends(Empty, _super);
  24969. function Empty() {
  24970. return _super.call(this, -1, "", Object.create(null)) || this;
  24971. }
  24972. Empty.prototype[Kr] = function (e) { return !1; };
  24973. return Empty;
  24974. }(XFAObject));
  24975. var Builder = /** @class */ (function () {
  24976. function Builder(e) {
  24977. if (e === void 0) { e = null; }
  24978. this._namespaceStack = [];
  24979. this._nsAgnosticLevel = 0;
  24980. this._namespacePrefixes = new Map;
  24981. this._namespaces = new Map;
  24982. this._nextNsId = Math.max.apply(Math, Object.values(gn).map((function (_b) {
  24983. var e = _b.id;
  24984. return e;
  24985. })));
  24986. this._currentNamespace = e || new UnknownNamespace(++this._nextNsId);
  24987. }
  24988. Builder.prototype.buildRoot = function (e) { return new Root(e); };
  24989. Builder.prototype.build = function (_b) {
  24990. var e = _b.nsPrefix, t = _b.name, i = _b.attributes, a = _b.namespace, s = _b.prefixes;
  24991. var r = null !== a;
  24992. if (r) {
  24993. this._namespaceStack.push(this._currentNamespace);
  24994. this._currentNamespace = this._searchNamespace(a);
  24995. }
  24996. s && this._addNamespacePrefix(s);
  24997. if (i.hasOwnProperty(vr)) {
  24998. var e_576 = ao.datasets, t_425 = i[vr];
  24999. var a_273 = null;
  25000. for (var _k = 0, _l = Object.entries(t_425); _k < _l.length; _k++) {
  25001. var _m = _l[_k], i_347 = _m[0], s_186 = _m[1];
  25002. if (this._getNamespaceToUse(i_347) === e_576) {
  25003. a_273 = { xfa: s_186 };
  25004. break;
  25005. }
  25006. }
  25007. a_273 ? i[vr] = a_273 : delete i[vr];
  25008. }
  25009. var n = this._getNamespaceToUse(e), o = (n === null || n === void 0 ? void 0 : n[on](t, i)) || new Empty;
  25010. o[Gr]() && this._nsAgnosticLevel++;
  25011. (r || s || o[Gr]()) && (o[_s] = { hasNamespace: r, prefixes: s, nsAgnostic: o[Gr]() });
  25012. return o;
  25013. };
  25014. Builder.prototype.isNsAgnostic = function () { return this._nsAgnosticLevel > 0; };
  25015. Builder.prototype._searchNamespace = function (e) { var t = this._namespaces.get(e); if (t)
  25016. return t; for (var _b = 0, _k = Object.entries(gn); _b < _k.length; _b++) {
  25017. var _l = _k[_b], i_348 = _l[0], a_274 = _l[1].check;
  25018. if (a_274(e)) {
  25019. t = ao[i_348];
  25020. if (t) {
  25021. this._namespaces.set(e, t);
  25022. return t;
  25023. }
  25024. break;
  25025. }
  25026. } t = new UnknownNamespace(++this._nextNsId); this._namespaces.set(e, t); return t; };
  25027. Builder.prototype._addNamespacePrefix = function (e) { for (var _b = 0, e_577 = e; _b < e_577.length; _b++) {
  25028. var _k = e_577[_b], t_426 = _k.prefix, i_349 = _k.value;
  25029. var e_578 = this._searchNamespace(i_349);
  25030. var a_275 = this._namespacePrefixes.get(t_426);
  25031. if (!a_275) {
  25032. a_275 = [];
  25033. this._namespacePrefixes.set(t_426, a_275);
  25034. }
  25035. a_275.push(e_578);
  25036. } };
  25037. Builder.prototype._getNamespaceToUse = function (e) { if (!e)
  25038. return this._currentNamespace; var t = this._namespacePrefixes.get(e); if ((t === null || t === void 0 ? void 0 : t.length) > 0)
  25039. return t.at(-1); warn("Unknown namespace prefix: ".concat(e, ".")); return null; };
  25040. Builder.prototype.clean = function (e) {
  25041. var _this = this;
  25042. var t = e.hasNamespace, i = e.prefixes, a = e.nsAgnostic;
  25043. t && (this._currentNamespace = this._namespaceStack.pop());
  25044. i && i.forEach((function (_b) {
  25045. var e = _b.prefix;
  25046. _this._namespacePrefixes.get(e).pop();
  25047. }));
  25048. a && this._nsAgnosticLevel--;
  25049. };
  25050. return Builder;
  25051. }());
  25052. var XFAParser = /** @class */ (function (_super) {
  25053. tslib_1.__extends(XFAParser, _super);
  25054. function XFAParser(e, t) {
  25055. if (e === void 0) { e = null; }
  25056. if (t === void 0) { t = !1; }
  25057. var _this = _super.call(this) || this;
  25058. _this._builder = new Builder(e);
  25059. _this._stack = [];
  25060. _this._globalData = { usedTypefaces: new Set };
  25061. _this._ids = new Map;
  25062. _this._current = _this._builder.buildRoot(_this._ids);
  25063. _this._errorCode = Rs;
  25064. _this._whiteRegex = /^\s+$/;
  25065. _this._nbsps = /\xa0+/g;
  25066. _this._richText = t;
  25067. return _this;
  25068. }
  25069. XFAParser.prototype.parse = function (e) { this.parseXml(e); if (this._errorCode === Rs) {
  25070. this._current[sr]();
  25071. return this._current.element;
  25072. } };
  25073. XFAParser.prototype.onText = function (e) { e = e.replace(this._nbsps, (function (e) { return e.slice(1) + " "; })); this._richText || this._current[Ws]() ? this._current[qr](e, this._richText) : this._whiteRegex.test(e) || this._current[qr](e.trim()); };
  25074. XFAParser.prototype.onCdata = function (e) { this._current[qr](e); };
  25075. XFAParser.prototype._mkAttributes = function (e, t) { var i = null, a = null; var s = Object.create({}); for (var _b = 0, e_579 = e; _b < e_579.length; _b++) {
  25076. var _k = e_579[_b], r_149 = _k.name, n_101 = _k.value;
  25077. if ("xmlns" === r_149)
  25078. i ? warn("XFA - multiple namespace definition in <".concat(t, ">")) : i = n_101;
  25079. else if (r_149.startsWith("xmlns:")) {
  25080. var e_580 = r_149.substring(6);
  25081. a || (a = []);
  25082. a.push({ prefix: e_580, value: n_101 });
  25083. }
  25084. else {
  25085. var e_581 = r_149.indexOf(":");
  25086. if (-1 === e_581)
  25087. s[r_149] = n_101;
  25088. else {
  25089. var t_427 = s[vr];
  25090. t_427 || (t_427 = s[vr] = Object.create(null));
  25091. var _l = [r_149.slice(0, e_581), r_149.slice(e_581 + 1)], i_350 = _l[0], a_276 = _l[1];
  25092. (t_427[i_350] || (t_427[i_350] = Object.create(null)))[a_276] = n_101;
  25093. }
  25094. }
  25095. } return [i, a, s]; };
  25096. XFAParser.prototype._getNameAndPrefix = function (e, t) { var i = e.indexOf(":"); return -1 === i ? [e, null] : [e.substring(i + 1), t ? "" : e.substring(0, i)]; };
  25097. XFAParser.prototype.onBeginElement = function (e, t, i) { var _b = this._mkAttributes(t, e), a = _b[0], s = _b[1], r = _b[2], _k = this._getNameAndPrefix(e, this._builder.isNsAgnostic()), n = _k[0], o = _k[1], g = this._builder.build({ nsPrefix: o, name: n, attributes: r, namespace: a, prefixes: s }); g[yr] = this._globalData; if (i) {
  25098. g[sr]();
  25099. this._current[Kr](g) && g[zr](this._ids);
  25100. g[Vs](this._builder);
  25101. }
  25102. else {
  25103. this._stack.push(this._current);
  25104. this._current = g;
  25105. } };
  25106. XFAParser.prototype.onEndElement = function (e) { var t = this._current; if (t[Sr]() && "string" == typeof t[er]) {
  25107. var e_582 = new XFAParser;
  25108. e_582._globalData = this._globalData;
  25109. var i_351 = e_582.parse(t[er]);
  25110. t[er] = null;
  25111. t[Kr](i_351);
  25112. } t[sr](); this._current = this._stack.pop(); this._current[Kr](t) && t[zr](this._ids); t[Vs](this._builder); };
  25113. XFAParser.prototype.onError = function (e) { this._errorCode = e; };
  25114. return XFAParser;
  25115. }(XMLParserBase));
  25116. var XFAFactory = /** @class */ (function () {
  25117. function XFAFactory(e) {
  25118. try {
  25119. this.root = (new XFAParser).parse(XFAFactory._createDocument(e));
  25120. var t_428 = new Binder(this.root);
  25121. this.form = t_428.bind();
  25122. this.dataHandler = new DataHandler(this.root, t_428.getData());
  25123. this.form[yr].template = this.form;
  25124. }
  25125. catch (e) {
  25126. warn("XFA - an error occurred during parsing and binding: ".concat(e));
  25127. }
  25128. }
  25129. XFAFactory.prototype.isValid = function () { return this.root && this.form; };
  25130. XFAFactory.prototype._createPagesHelper = function () { var e = this.form[tn](); return new Promise((function (t, i) { var nextIteration = function () { try {
  25131. var i_352 = e.next();
  25132. i_352.done ? t(i_352.value) : setTimeout(nextIteration, 0);
  25133. }
  25134. catch (e) {
  25135. i(e);
  25136. } }; setTimeout(nextIteration, 0); })); };
  25137. XFAFactory.prototype._createPages = function () {
  25138. return tslib_1.__awaiter(this, void 0, void 0, function () { var _b, e_583; return tslib_1.__generator(this, function (_k) {
  25139. switch (_k.label) {
  25140. case 0:
  25141. _k.trys.push([0, 2, , 3]);
  25142. _b = this;
  25143. return [4 /*yield*/, this._createPagesHelper()];
  25144. case 1:
  25145. _b.pages = _k.sent();
  25146. this.dims = this.pages.children.map((function (e) { var _b = e.attributes.style, t = _b.width, i = _b.height; return [0, 0, parseInt(t), parseInt(i)]; }));
  25147. return [3 /*break*/, 3];
  25148. case 2:
  25149. e_583 = _k.sent();
  25150. warn("XFA - an error occurred during layout: ".concat(e_583));
  25151. return [3 /*break*/, 3];
  25152. case 3: return [2 /*return*/];
  25153. }
  25154. }); });
  25155. };
  25156. XFAFactory.prototype.getBoundingBox = function (e) { return this.dims[e]; };
  25157. XFAFactory.prototype.getNumPages = function () {
  25158. return tslib_1.__awaiter(this, void 0, void 0, function () { var _b; return tslib_1.__generator(this, function (_k) {
  25159. switch (_k.label) {
  25160. case 0:
  25161. _b = this.pages;
  25162. if (_b) return [3 /*break*/, 2];
  25163. return [4 /*yield*/, this._createPages()];
  25164. case 1:
  25165. _b = (_k.sent());
  25166. _k.label = 2;
  25167. case 2:
  25168. _b;
  25169. return [2 /*return*/, this.dims.length];
  25170. }
  25171. }); });
  25172. };
  25173. XFAFactory.prototype.setImages = function (e) { this.form[yr].images = e; };
  25174. XFAFactory.prototype.setFonts = function (e) { this.form[yr].fontFinder = new FontFinder(e); var t = []; for (var _b = 0, _k = this.form[yr].usedTypefaces; _b < _k.length; _b++) {
  25175. var e_584 = _k[_b];
  25176. e_584 = stripQuotes(e_584);
  25177. this.form[yr].fontFinder.find(e_584) || t.push(e_584);
  25178. } return t.length > 0 ? t : null; };
  25179. XFAFactory.prototype.appendFonts = function (e, t) { this.form[yr].fontFinder.add(e, t); };
  25180. XFAFactory.prototype.getPages = function () {
  25181. return tslib_1.__awaiter(this, void 0, void 0, function () { var _b, e; return tslib_1.__generator(this, function (_k) {
  25182. switch (_k.label) {
  25183. case 0:
  25184. _b = this.pages;
  25185. if (_b) return [3 /*break*/, 2];
  25186. return [4 /*yield*/, this._createPages()];
  25187. case 1:
  25188. _b = (_k.sent());
  25189. _k.label = 2;
  25190. case 2:
  25191. _b;
  25192. e = this.pages;
  25193. this.pages = null;
  25194. return [2 /*return*/, e];
  25195. }
  25196. }); });
  25197. };
  25198. XFAFactory.prototype.serializeData = function (e) { return this.dataHandler.serialize(e); };
  25199. XFAFactory._createDocument = function (e) { return e["/xdp:xdp"] ? Object.values(e).join("") : e["xdp:xdp"]; };
  25200. XFAFactory.getRichTextAsHtml = function (e) { if (!e || "string" != typeof e)
  25201. return null; try {
  25202. var t_429 = new XFAParser(XhtmlNamespace, !0).parse(e);
  25203. if (!["body", "xhtml"].includes(t_429[Yr])) {
  25204. var e_585 = XhtmlNamespace.body({});
  25205. e_585[js](t_429);
  25206. t_429 = e_585;
  25207. }
  25208. var i_353 = t_429[an]();
  25209. if (!i_353.success)
  25210. return null;
  25211. var a_277 = i_353.html, s_187 = a_277.attributes;
  25212. if (s_187) {
  25213. s_187.class && (s_187.class = s_187.class.filter((function (e) { return !e.startsWith("xfa"); })));
  25214. s_187.dir = "auto";
  25215. }
  25216. return { html: a_277, str: t_429[en]() };
  25217. }
  25218. catch (e) {
  25219. warn("XFA - an error occurred during parsing of rich text: ".concat(e));
  25220. } return null; };
  25221. return XFAFactory;
  25222. }());
  25223. var AnnotationFactory = /** @class */ (function () {
  25224. function AnnotationFactory() {
  25225. }
  25226. AnnotationFactory.createGlobals = function (e) { return Promise.all([e.ensureCatalog("acroForm"), e.ensureDoc("xfaDatasets"), e.ensureCatalog("structTreeRoot"), e.ensureCatalog("baseUrl"), e.ensureCatalog("attachments")]).then((function (_b) {
  25227. var t = _b[0], i = _b[1], a = _b[2], s = _b[3], r = _b[4];
  25228. return ({ pdfManager: e, acroForm: t instanceof Dict ? t : Dict.empty, xfaDatasets: i, structTreeRoot: a, baseUrl: s, attachments: r });
  25229. }), (function (e) { warn("createGlobals: \"".concat(e, "\".")); return null; })); };
  25230. AnnotationFactory.create = function (e, t, i, a, s, r) {
  25231. return tslib_1.__awaiter(this, void 0, void 0, function () { var n, _b; return tslib_1.__generator(this, function (_k) {
  25232. switch (_k.label) {
  25233. case 0:
  25234. if (!s) return [3 /*break*/, 2];
  25235. return [4 /*yield*/, this._getPageIndex(e, t, i.pdfManager)];
  25236. case 1:
  25237. _b = _k.sent();
  25238. return [3 /*break*/, 3];
  25239. case 2:
  25240. _b = null;
  25241. _k.label = 3;
  25242. case 3:
  25243. n = _b;
  25244. return [2 /*return*/, i.pdfManager.ensure(this, "_create", [e, t, i, a, s, n, r])];
  25245. }
  25246. }); });
  25247. };
  25248. AnnotationFactory._create = function (e, t, i, a, s, r, n) {
  25249. if (s === void 0) { s = !1; }
  25250. if (r === void 0) { r = null; }
  25251. if (n === void 0) { n = null; }
  25252. var o = e.fetchIfRef(t);
  25253. if (!(o instanceof Dict))
  25254. return;
  25255. var g = i.acroForm, c = i.pdfManager, h = t instanceof Ref ? t.toString() : "annot_".concat(a.createObjId());
  25256. var l = o.get("Subtype");
  25257. l = l instanceof Name ? l.name : null;
  25258. var C = { xref: e, ref: t, dict: o, subtype: l, id: h, annotationGlobals: i, collectFields: s, needAppearances: !s && !0 === g.get("NeedAppearances"), pageIndex: r, evaluatorOptions: c.evaluatorOptions, pageRef: n };
  25259. switch (l) {
  25260. case "Link": return new LinkAnnotation(C);
  25261. case "Text": return new TextAnnotation(C);
  25262. case "Widget":
  25263. var e_586 = getInheritableProperty({ dict: o, key: "FT" });
  25264. e_586 = e_586 instanceof Name ? e_586.name : null;
  25265. switch (e_586) {
  25266. case "Tx": return new TextWidgetAnnotation(C);
  25267. case "Btn": return new ButtonWidgetAnnotation(C);
  25268. case "Ch": return new ChoiceWidgetAnnotation(C);
  25269. case "Sig": return new SignatureWidgetAnnotation(C);
  25270. }
  25271. warn("Unimplemented widget field type \"".concat(e_586, "\", falling back to base field type."));
  25272. return new WidgetAnnotation(C);
  25273. case "Popup": return new PopupAnnotation(C);
  25274. case "FreeText": return new FreeTextAnnotation(C);
  25275. case "Line": return new LineAnnotation(C);
  25276. case "Square": return new SquareAnnotation(C);
  25277. case "Circle": return new CircleAnnotation(C);
  25278. case "PolyLine": return new PolylineAnnotation(C);
  25279. case "Polygon": return new PolygonAnnotation(C);
  25280. case "Caret": return new CaretAnnotation(C);
  25281. case "Ink": return new InkAnnotation(C);
  25282. case "Highlight": return new HighlightAnnotation(C);
  25283. case "Underline": return new UnderlineAnnotation(C);
  25284. case "Squiggly": return new SquigglyAnnotation(C);
  25285. case "StrikeOut": return new StrikeOutAnnotation(C);
  25286. case "Stamp": return new StampAnnotation(C);
  25287. case "FileAttachment": return new FileAttachmentAnnotation(C);
  25288. default:
  25289. s || warn(l ? "Unimplemented annotation type \"".concat(l, "\", falling back to base annotation.") : "Annotation is missing the required /Subtype.");
  25290. return new Annotation(C);
  25291. }
  25292. };
  25293. AnnotationFactory._getPageIndex = function (e, t, i) {
  25294. return tslib_1.__awaiter(this, void 0, void 0, function () { var a_278, s_189, e_587, r_150, e_589, a_279, s_190, _b, s_188, i_354, e_588; return tslib_1.__generator(this, function (_k) {
  25295. switch (_k.label) {
  25296. case 0:
  25297. _k.trys.push([0, 12, , 13]);
  25298. return [4 /*yield*/, e.fetchIfRefAsync(t)];
  25299. case 1:
  25300. a_278 = _k.sent();
  25301. if (!(a_278 instanceof Dict))
  25302. return [2 /*return*/, -1];
  25303. s_189 = a_278.getRaw("P");
  25304. if (!(s_189 instanceof Ref)) return [3 /*break*/, 5];
  25305. _k.label = 2;
  25306. case 2:
  25307. _k.trys.push([2, 4, , 5]);
  25308. return [4 /*yield*/, i.ensureCatalog("getPageIndex", [s_189])];
  25309. case 3: return [2 /*return*/, _k.sent()];
  25310. case 4:
  25311. e_587 = _k.sent();
  25312. info("_getPageIndex -- not a valid page reference: \"".concat(e_587, "\"."));
  25313. return [3 /*break*/, 5];
  25314. case 5:
  25315. if (a_278.has("Kids"))
  25316. return [2 /*return*/, -1];
  25317. return [4 /*yield*/, i.ensureDoc("numPages")];
  25318. case 6:
  25319. r_150 = _k.sent();
  25320. e_589 = 0;
  25321. _k.label = 7;
  25322. case 7:
  25323. if (!(e_589 < r_150)) return [3 /*break*/, 11];
  25324. return [4 /*yield*/, i.getPage(e_589)];
  25325. case 8:
  25326. a_279 = _k.sent();
  25327. return [4 /*yield*/, i.ensure(a_279, "annotations")];
  25328. case 9:
  25329. s_190 = _k.sent();
  25330. for (_b = 0, s_188 = s_190; _b < s_188.length; _b++) {
  25331. i_354 = s_188[_b];
  25332. if (i_354 instanceof Ref && isRefsEqual(i_354, t))
  25333. return [2 /*return*/, e_589];
  25334. }
  25335. _k.label = 10;
  25336. case 10:
  25337. e_589++;
  25338. return [3 /*break*/, 7];
  25339. case 11: return [3 /*break*/, 13];
  25340. case 12:
  25341. e_588 = _k.sent();
  25342. warn("_getPageIndex: \"".concat(e_588, "\"."));
  25343. return [3 /*break*/, 13];
  25344. case 13: return [2 /*return*/, -1];
  25345. }
  25346. }); });
  25347. };
  25348. AnnotationFactory.generateImages = function (e, t, i) { if (!i) {
  25349. warn("generateImages: OffscreenCanvas is not supported, cannot save or print some annotations with images.");
  25350. return null;
  25351. } var a; for (var _b = 0, e_590 = e; _b < e_590.length; _b++) {
  25352. var _k = e_590[_b], i_355 = _k.bitmapId, s_191 = _k.bitmap;
  25353. if (s_191) {
  25354. a || (a = new Map);
  25355. a.set(i_355, StampAnnotation.createImage(s_191, t));
  25356. }
  25357. } return a; };
  25358. AnnotationFactory.saveNewAnnotations = function (e, t, i, a) {
  25359. return tslib_1.__awaiter(this, void 0, void 0, function () {
  25360. var s, r, n, o, g, _b, i_356, c_44, _k, e_591, t_430, i_357, e_592, t_431, a_280, i_358, r_151;
  25361. var _l;
  25362. return tslib_1.__generator(this, function (_m) {
  25363. switch (_m.label) {
  25364. case 0:
  25365. s = e.xref;
  25366. n = [], o = [], g = e.options.isOffscreenCanvasSupported;
  25367. _b = 0, i_356 = i;
  25368. _m.label = 1;
  25369. case 1:
  25370. if (!(_b < i_356.length)) return [3 /*break*/, 14];
  25371. c_44 = i_356[_b];
  25372. if (!!c_44.deleted) return [3 /*break*/, 13];
  25373. _k = c_44.annotationType;
  25374. switch (_k) {
  25375. case u: return [3 /*break*/, 2];
  25376. case d: return [3 /*break*/, 5];
  25377. case p: return [3 /*break*/, 6];
  25378. case f: return [3 /*break*/, 7];
  25379. }
  25380. return [3 /*break*/, 13];
  25381. case 2:
  25382. if (!!r) return [3 /*break*/, 4];
  25383. e_591 = new Dict(s);
  25384. e_591.set("BaseFont", Name.get("Helvetica"));
  25385. e_591.set("Type", Name.get("Font"));
  25386. e_591.set("Subtype", Name.get("Type1"));
  25387. e_591.set("Encoding", Name.get("WinAnsiEncoding"));
  25388. t_430 = [];
  25389. r = s.getNewTemporaryRef();
  25390. return [4 /*yield*/, writeObject(r, e_591, t_430, s)];
  25391. case 3:
  25392. _m.sent();
  25393. n.push({ ref: r, data: t_430.join("") });
  25394. _m.label = 4;
  25395. case 4:
  25396. o.push(FreeTextAnnotation.createNewAnnotation(s, c_44, n, { evaluator: e, task: t, baseFontRef: r }));
  25397. return [3 /*break*/, 13];
  25398. case 5:
  25399. c_44.quadPoints ? o.push(HighlightAnnotation.createNewAnnotation(s, c_44, n)) : o.push(InkAnnotation.createNewAnnotation(s, c_44, n));
  25400. return [3 /*break*/, 13];
  25401. case 6:
  25402. o.push(InkAnnotation.createNewAnnotation(s, c_44, n));
  25403. return [3 /*break*/, 13];
  25404. case 7:
  25405. if (!g)
  25406. return [3 /*break*/, 13];
  25407. return [4 /*yield*/, a.get(c_44.bitmapId)];
  25408. case 8:
  25409. i_357 = _m.sent();
  25410. if (!i_357.imageStream) return [3 /*break*/, 12];
  25411. e_592 = i_357.imageStream, t_431 = i_357.smaskStream, a_280 = [];
  25412. if (!t_431) return [3 /*break*/, 10];
  25413. i_358 = s.getNewTemporaryRef();
  25414. return [4 /*yield*/, writeObject(i_358, t_431, a_280, s)];
  25415. case 9:
  25416. _m.sent();
  25417. n.push({ ref: i_358, data: a_280.join("") });
  25418. e_592.dict.set("SMask", i_358);
  25419. a_280.length = 0;
  25420. _m.label = 10;
  25421. case 10:
  25422. r_151 = i_357.imageRef = s.getNewTemporaryRef();
  25423. return [4 /*yield*/, writeObject(r_151, e_592, a_280, s)];
  25424. case 11:
  25425. _m.sent();
  25426. n.push({ ref: r_151, data: a_280.join("") });
  25427. i_357.imageStream = i_357.smaskStream = null;
  25428. _m.label = 12;
  25429. case 12:
  25430. o.push(StampAnnotation.createNewAnnotation(s, c_44, n, { image: i_357 }));
  25431. _m.label = 13;
  25432. case 13:
  25433. _b++;
  25434. return [3 /*break*/, 1];
  25435. case 14:
  25436. _l = {};
  25437. return [4 /*yield*/, Promise.all(o)];
  25438. case 15: return [2 /*return*/, (_l.annotations = _m.sent(), _l.dependencies = n, _l)];
  25439. }
  25440. });
  25441. });
  25442. };
  25443. AnnotationFactory.printNewAnnotations = function (e, t, i, a, s) {
  25444. return tslib_1.__awaiter(this, void 0, void 0, function () { var r, n, o, _b, a_281, g_55, _k, a_282, e_593, t_432; return tslib_1.__generator(this, function (_l) {
  25445. switch (_l.label) {
  25446. case 0:
  25447. if (!a)
  25448. return [2 /*return*/, null];
  25449. r = t.options, n = t.xref, o = [];
  25450. _b = 0, a_281 = a;
  25451. _l.label = 1;
  25452. case 1:
  25453. if (!(_b < a_281.length)) return [3 /*break*/, 8];
  25454. g_55 = a_281[_b];
  25455. if (!!g_55.deleted) return [3 /*break*/, 7];
  25456. _k = g_55.annotationType;
  25457. switch (_k) {
  25458. case u: return [3 /*break*/, 2];
  25459. case d: return [3 /*break*/, 3];
  25460. case p: return [3 /*break*/, 4];
  25461. case f: return [3 /*break*/, 5];
  25462. }
  25463. return [3 /*break*/, 7];
  25464. case 2:
  25465. o.push(FreeTextAnnotation.createNewPrintAnnotation(e, n, g_55, { evaluator: t, task: i, evaluatorOptions: r }));
  25466. return [3 /*break*/, 7];
  25467. case 3:
  25468. g_55.quadPoints ? o.push(HighlightAnnotation.createNewPrintAnnotation(e, n, g_55, { evaluatorOptions: r })) : o.push(InkAnnotation.createNewPrintAnnotation(e, n, g_55, { evaluatorOptions: r }));
  25469. return [3 /*break*/, 7];
  25470. case 4:
  25471. o.push(InkAnnotation.createNewPrintAnnotation(e, n, g_55, { evaluatorOptions: r }));
  25472. return [3 /*break*/, 7];
  25473. case 5:
  25474. if (!r.isOffscreenCanvasSupported)
  25475. return [3 /*break*/, 7];
  25476. return [4 /*yield*/, s.get(g_55.bitmapId)];
  25477. case 6:
  25478. a_282 = _l.sent();
  25479. if (a_282.imageStream) {
  25480. e_593 = a_282.imageStream, t_432 = a_282.smaskStream;
  25481. t_432 && e_593.dict.set("SMask", t_432);
  25482. a_282.imageRef = new JpegStream(e_593, e_593.length);
  25483. a_282.imageStream = a_282.smaskStream = null;
  25484. }
  25485. o.push(StampAnnotation.createNewPrintAnnotation(e, n, g_55, { image: a_282, evaluatorOptions: r }));
  25486. _l.label = 7;
  25487. case 7:
  25488. _b++;
  25489. return [3 /*break*/, 1];
  25490. case 8: return [2 /*return*/, Promise.all(o)];
  25491. }
  25492. }); });
  25493. };
  25494. return AnnotationFactory;
  25495. }());
  25496. function getRgbColor(e, t) {
  25497. if (t === void 0) { t = new Uint8ClampedArray(3); }
  25498. if (!Array.isArray(e))
  25499. return t;
  25500. var i = t || new Uint8ClampedArray(3);
  25501. switch (e.length) {
  25502. case 0: return null;
  25503. case 1:
  25504. ColorSpace.singletons.gray.getRgbItem(e, 0, i, 0);
  25505. return i;
  25506. case 3:
  25507. ColorSpace.singletons.rgb.getRgbItem(e, 0, i, 0);
  25508. return i;
  25509. case 4:
  25510. ColorSpace.singletons.cmyk.getRgbItem(e, 0, i, 0);
  25511. return i;
  25512. default: return t;
  25513. }
  25514. }
  25515. function getPdfColorArray(e) { return Array.from(e, (function (e) { return e / 255; })); }
  25516. function getQuadPoints(e, t) { var i = e.getArray("QuadPoints"); if (!isNumberArray(i, null) || 0 === i.length || i.length % 8 > 0)
  25517. return null; var a = []; for (var e_594 = 0, s_192 = i.length / 8; e_594 < s_192; e_594++) {
  25518. var s_193 = 1 / 0, r_152 = -1 / 0, n_102 = 1 / 0, o_76 = -1 / 0;
  25519. for (var t_433 = 8 * e_594, a_283 = 8 * e_594 + 8; t_433 < a_283; t_433 += 2) {
  25520. var e_595 = i[t_433], a_284 = i[t_433 + 1];
  25521. s_193 = Math.min(e_595, s_193);
  25522. r_152 = Math.max(e_595, r_152);
  25523. n_102 = Math.min(a_284, n_102);
  25524. o_76 = Math.max(a_284, o_76);
  25525. }
  25526. if (null !== t && (s_193 < t[0] || r_152 > t[2] || n_102 < t[1] || o_76 > t[3]))
  25527. return null;
  25528. a.push([{ x: s_193, y: o_76 }, { x: r_152, y: o_76 }, { x: s_193, y: n_102 }, { x: r_152, y: n_102 }]);
  25529. } return a; }
  25530. function getTransformMatrix(e, t, i) { var _b = Util.getAxialAlignedBoundingBox(t, i), a = _b[0], s = _b[1], r = _b[2], n = _b[3]; if (a === r || s === n)
  25531. return [1, 0, 0, 1, e[0], e[1]]; var o = (e[2] - e[0]) / (r - a), g = (e[3] - e[1]) / (n - s); return [o, 0, 0, g, e[0] - a * o, e[1] - s * g]; }
  25532. var Annotation = /** @class */ (function () {
  25533. function Annotation(e) {
  25534. var t = e.dict, i = e.xref, a = e.annotationGlobals;
  25535. this.setTitle(t.get("T"));
  25536. this.setContents(t.get("Contents"));
  25537. this.setModificationDate(t.get("M"));
  25538. this.setFlags(t.get("F"));
  25539. this.setRectangle(t.getArray("Rect"));
  25540. this.setColor(t.getArray("C"));
  25541. this.setBorderStyle(t);
  25542. this.setAppearance(t);
  25543. this.setOptionalContent(t);
  25544. var s = t.get("MK");
  25545. this.setBorderAndBackgroundColors(s);
  25546. this.setRotation(s, t);
  25547. this.ref = e.ref instanceof Ref ? e.ref : null;
  25548. this._streams = [];
  25549. this.appearance && this._streams.push(this.appearance);
  25550. var r = !!(this.flags & AA), n = !!(this.flags & eA);
  25551. if (a.structTreeRoot) {
  25552. var i_359 = t.get("StructParent");
  25553. i_359 = Number.isInteger(i_359) && i_359 >= 0 ? i_359 : -1;
  25554. a.structTreeRoot.addAnnotationIdToPage(e.pageRef, i_359);
  25555. }
  25556. this.data = { annotationFlags: this.flags, borderStyle: this.borderStyle, color: this.color, backgroundColor: this.backgroundColor, borderColor: this.borderColor, rotation: this.rotation, contentsObj: this._contents, hasAppearance: !!this.appearance, id: e.id, modificationDate: this.modificationDate, rect: this.rectangle, subtype: e.subtype, hasOwnCanvas: !1, noRotate: !!(this.flags & _), noHTML: r && n };
  25557. if (e.collectFields) {
  25558. var a_286 = t.get("Kids");
  25559. if (Array.isArray(a_286)) {
  25560. var e_596 = [];
  25561. for (var _b = 0, a_285 = a_286; _b < a_285.length; _b++) {
  25562. var t_434 = a_285[_b];
  25563. t_434 instanceof Ref && e_596.push(t_434.toString());
  25564. }
  25565. 0 !== e_596.length && (this.data.kidIds = e_596);
  25566. }
  25567. this.data.actions = collectActions(i, t, uA);
  25568. this.data.fieldName = this._constructFieldName(t);
  25569. this.data.pageIndex = e.pageIndex;
  25570. }
  25571. this._isOffscreenCanvasSupported = e.evaluatorOptions.isOffscreenCanvasSupported;
  25572. this._fallbackFontDict = null;
  25573. this._needAppearances = !1;
  25574. }
  25575. Annotation.prototype._hasFlag = function (e, t) { return !!(e & t); };
  25576. Annotation.prototype._isViewable = function (e) { return !this._hasFlag(e, Z) && !this._hasFlag(e, $); };
  25577. Annotation.prototype._isPrintable = function (e) { return this._hasFlag(e, z) && !this._hasFlag(e, V) && !this._hasFlag(e, Z); };
  25578. Annotation.prototype.mustBeViewed = function (e, t) { var _b; var i = (_b = e === null || e === void 0 ? void 0 : e.get(this.data.id)) === null || _b === void 0 ? void 0 : _b.noView; return void 0 !== i ? !i : this.viewable && !this._hasFlag(this.flags, V); };
  25579. Annotation.prototype.mustBePrinted = function (e) { var _b; var t = (_b = e === null || e === void 0 ? void 0 : e.get(this.data.id)) === null || _b === void 0 ? void 0 : _b.noPrint; return void 0 !== t ? !t : this.printable; };
  25580. Object.defineProperty(Annotation.prototype, "viewable", {
  25581. get: function () { return null !== this.data.quadPoints && (0 === this.flags || this._isViewable(this.flags)); },
  25582. enumerable: false,
  25583. configurable: true
  25584. });
  25585. Object.defineProperty(Annotation.prototype, "printable", {
  25586. get: function () { return null !== this.data.quadPoints && (0 !== this.flags && this._isPrintable(this.flags)); },
  25587. enumerable: false,
  25588. configurable: true
  25589. });
  25590. Annotation.prototype._parseStringHelper = function (e) { var t = "string" == typeof e ? stringToPDFString(e) : ""; return { str: t, dir: t && "rtl" === bidi(t).dir ? "rtl" : "ltr" }; };
  25591. Annotation.prototype.setDefaultAppearance = function (e) { var t = e.dict, i = e.annotationGlobals, a = getInheritableProperty({ dict: t, key: "DA" }) || i.acroForm.get("DA"); this._defaultAppearance = "string" == typeof a ? a : ""; this.data.defaultAppearanceData = parseDefaultAppearance(this._defaultAppearance); };
  25592. Annotation.prototype.setTitle = function (e) { this._title = this._parseStringHelper(e); };
  25593. Annotation.prototype.setContents = function (e) { this._contents = this._parseStringHelper(e); };
  25594. Annotation.prototype.setModificationDate = function (e) { this.modificationDate = "string" == typeof e ? e : null; };
  25595. Annotation.prototype.setFlags = function (e) { this.flags = Number.isInteger(e) && e > 0 ? e : 0; this.flags & Z && "Annotation" !== this.constructor.name && (this.flags ^= Z); };
  25596. Annotation.prototype.hasFlag = function (e) { return this._hasFlag(this.flags, e); };
  25597. Annotation.prototype.setRectangle = function (e) { this.rectangle = lookupNormalRect(e, [0, 0, 0, 0]); };
  25598. Annotation.prototype.setColor = function (e) { this.color = getRgbColor(e); };
  25599. Annotation.prototype.setLineEndings = function (e) { this.lineEndings = ["None", "None"]; if (Array.isArray(e) && 2 === e.length)
  25600. for (var t_435 = 0; t_435 < 2; t_435++) {
  25601. var i_360 = e[t_435];
  25602. if (i_360 instanceof Name)
  25603. switch (i_360.name) {
  25604. case "None": continue;
  25605. case "Square":
  25606. case "Circle":
  25607. case "Diamond":
  25608. case "OpenArrow":
  25609. case "ClosedArrow":
  25610. case "Butt":
  25611. case "ROpenArrow":
  25612. case "RClosedArrow":
  25613. case "Slash":
  25614. this.lineEndings[t_435] = i_360.name;
  25615. continue;
  25616. }
  25617. warn("Ignoring invalid lineEnding: ".concat(i_360));
  25618. } };
  25619. Annotation.prototype.setRotation = function (e, t) { this.rotation = 0; var i = e instanceof Dict ? e.get("R") || 0 : t.get("Rotate") || 0; if (Number.isInteger(i) && 0 !== i) {
  25620. i %= 360;
  25621. i < 0 && (i += 360);
  25622. i % 90 == 0 && (this.rotation = i);
  25623. } };
  25624. Annotation.prototype.setBorderAndBackgroundColors = function (e) { if (e instanceof Dict) {
  25625. this.borderColor = getRgbColor(e.getArray("BC"), null);
  25626. this.backgroundColor = getRgbColor(e.getArray("BG"), null);
  25627. }
  25628. else
  25629. this.borderColor = this.backgroundColor = null; };
  25630. Annotation.prototype.setBorderStyle = function (e) { this.borderStyle = new AnnotationBorderStyle; if (e instanceof Dict)
  25631. if (e.has("BS")) {
  25632. var t_436 = e.get("BS");
  25633. if (t_436 instanceof Dict) {
  25634. var e_597 = t_436.get("Type");
  25635. if (!e_597 || isName(e_597, "Border")) {
  25636. this.borderStyle.setWidth(t_436.get("W"), this.rectangle);
  25637. this.borderStyle.setStyle(t_436.get("S"));
  25638. this.borderStyle.setDashArray(t_436.getArray("D"));
  25639. }
  25640. }
  25641. }
  25642. else if (e.has("Border")) {
  25643. var t_437 = e.getArray("Border");
  25644. if (Array.isArray(t_437) && t_437.length >= 3) {
  25645. this.borderStyle.setHorizontalCornerRadius(t_437[0]);
  25646. this.borderStyle.setVerticalCornerRadius(t_437[1]);
  25647. this.borderStyle.setWidth(t_437[2], this.rectangle);
  25648. 4 === t_437.length && this.borderStyle.setDashArray(t_437[3], !0);
  25649. }
  25650. }
  25651. else
  25652. this.borderStyle.setWidth(0); };
  25653. Annotation.prototype.setAppearance = function (e) { this.appearance = null; var t = e.get("AP"); if (!(t instanceof Dict))
  25654. return; var i = t.get("N"); if (i instanceof BaseStream) {
  25655. this.appearance = i;
  25656. return;
  25657. } if (!(i instanceof Dict))
  25658. return; var a = e.get("AS"); if (!(a instanceof Name && i.has(a.name)))
  25659. return; var s = i.get(a.name); s instanceof BaseStream && (this.appearance = s); };
  25660. Annotation.prototype.setOptionalContent = function (e) { this.oc = null; var t = e.get("OC"); t instanceof Name ? warn("setOptionalContent: Support for /Name-entry is not implemented.") : t instanceof Dict && (this.oc = t); };
  25661. Annotation.prototype.loadResources = function (e, t) { return t.dict.getAsync("Resources").then((function (t) { if (!t)
  25662. return; return new ObjectLoader(t, e, t.xref).load().then((function () { return t; })); })); };
  25663. Annotation.prototype.getOperatorList = function (e, t, a, s, r) {
  25664. return tslib_1.__awaiter(this, void 0, void 0, function () { var _b, n, o, c, h, l, C, Q, E, u, d, f, p, _k; return tslib_1.__generator(this, function (_l) {
  25665. switch (_l.label) {
  25666. case 0:
  25667. _b = this.data, n = _b.hasOwnCanvas, o = _b.id, c = _b.rect;
  25668. h = this.appearance;
  25669. l = !!(n && a & g);
  25670. if (l && (c[0] === c[2] || c[1] === c[3])) {
  25671. this.data.hasOwnCanvas = !1;
  25672. return [2 /*return*/, { opList: new OperatorList, separateForm: !1, separateCanvas: !1 }];
  25673. }
  25674. if (!h) {
  25675. if (!l)
  25676. return [2 /*return*/, { opList: new OperatorList, separateForm: !1, separateCanvas: !1 }];
  25677. h = new StringStream("");
  25678. h.dict = new Dict;
  25679. }
  25680. C = h.dict;
  25681. return [4 /*yield*/, this.loadResources(["ExtGState", "ColorSpace", "Pattern", "Shading", "XObject", "Font"], h)];
  25682. case 1:
  25683. Q = _l.sent(), E = lookupRect(C.getArray("BBox"), [0, 0, 1, 1]), u = lookupMatrix(C.getArray("Matrix"), i), d = getTransformMatrix(c, E, u), f = new OperatorList;
  25684. _k = this.oc;
  25685. if (!_k) return [3 /*break*/, 3];
  25686. return [4 /*yield*/, e.parseMarkedContentProps(this.oc, null)];
  25687. case 2:
  25688. _k = (p = _l.sent());
  25689. _l.label = 3;
  25690. case 3:
  25691. _k;
  25692. void 0 !== p && f.addOp(He, ["OC", p]);
  25693. f.addOp(We, [o, c, d, u, l]);
  25694. return [4 /*yield*/, e.getOperatorList({ stream: h, task: t, resources: Q, operatorList: f, fallbackFontDict: this._fallbackFontDict })];
  25695. case 4:
  25696. _l.sent();
  25697. f.addOp(Xe, []);
  25698. void 0 !== p && f.addOp(Ye, []);
  25699. this.reset();
  25700. return [2 /*return*/, { opList: f, separateForm: !1, separateCanvas: l }];
  25701. }
  25702. }); });
  25703. };
  25704. Annotation.prototype.save = function (e, t, i) {
  25705. return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_b) {
  25706. return [2 /*return*/, null];
  25707. }); });
  25708. };
  25709. Object.defineProperty(Annotation.prototype, "hasTextContent", {
  25710. get: function () { return !1; },
  25711. enumerable: false,
  25712. configurable: true
  25713. });
  25714. Annotation.prototype.extractTextContent = function (e, t, i) {
  25715. return tslib_1.__awaiter(this, void 0, void 0, function () { var a, s, r, n, o, e_598, t_438, i_361; return tslib_1.__generator(this, function (_b) {
  25716. switch (_b.label) {
  25717. case 0:
  25718. if (!this.appearance)
  25719. return [2 /*return*/];
  25720. return [4 /*yield*/, this.loadResources(["ExtGState", "Font", "Properties", "XObject"], this.appearance)];
  25721. case 1:
  25722. a = _b.sent(), s = [], r = [];
  25723. n = null;
  25724. o = { desiredSize: Math.Infinity, ready: !0, enqueue: function (e, t) { for (var _b = 0, _k = e.items; _b < _k.length; _b++) {
  25725. var t_439 = _k[_b];
  25726. if (void 0 !== t_439.str) {
  25727. n || (n = t_439.transform.slice(-2));
  25728. r.push(t_439.str);
  25729. if (t_439.hasEOL) {
  25730. s.push(r.join("").trimEnd());
  25731. r.length = 0;
  25732. }
  25733. }
  25734. } } };
  25735. return [4 /*yield*/, e.getTextContent({ stream: this.appearance, task: t, resources: a, includeMarkedContent: !0, keepWhiteSpace: !0, sink: o, viewBox: i })];
  25736. case 2:
  25737. _b.sent();
  25738. this.reset();
  25739. r.length && s.push(r.join("").trimEnd());
  25740. if (s.length > 1 || s[0]) {
  25741. e_598 = this.appearance.dict, t_438 = lookupRect(e_598.getArray("BBox"), null), i_361 = lookupMatrix(e_598.getArray("Matrix"), null);
  25742. this.data.textPosition = this._transformPoint(n, t_438, i_361);
  25743. this.data.textContent = s;
  25744. }
  25745. return [2 /*return*/];
  25746. }
  25747. }); });
  25748. };
  25749. Annotation.prototype._transformPoint = function (e, t, i) { var a = this.data.rect; t || (t = [0, 0, 1, 1]); i || (i = [1, 0, 0, 1, 0, 0]); var s = getTransformMatrix(a, t, i); s[4] -= a[0]; s[5] -= a[1]; e = Util.applyTransform(e, s); return Util.applyTransform(e, i); };
  25750. Annotation.prototype.getFieldObject = function () { return this.data.kidIds ? { id: this.data.id, actions: this.data.actions, name: this.data.fieldName, strokeColor: this.data.borderColor, fillColor: this.data.backgroundColor, type: "", kidIds: this.data.kidIds, page: this.data.pageIndex, rotation: this.rotation } : null; };
  25751. Annotation.prototype.reset = function () { for (var _b = 0, _k = this._streams; _b < _k.length; _b++) {
  25752. var e_599 = _k[_b];
  25753. e_599.reset();
  25754. } };
  25755. Annotation.prototype._constructFieldName = function (e) { if (!e.has("T") && !e.has("Parent")) {
  25756. warn("Unknown field name, falling back to empty field name.");
  25757. return "";
  25758. } if (!e.has("Parent"))
  25759. return stringToPDFString(e.get("T")); var t = []; e.has("T") && t.unshift(stringToPDFString(e.get("T"))); var i = e; var a = new RefSet; e.objId && a.put(e.objId); for (; i.has("Parent");) {
  25760. i = i.get("Parent");
  25761. if (!(i instanceof Dict) || i.objId && a.has(i.objId))
  25762. break;
  25763. i.objId && a.put(i.objId);
  25764. i.has("T") && t.unshift(stringToPDFString(i.get("T")));
  25765. } return t.join("."); };
  25766. return Annotation;
  25767. }());
  25768. var AnnotationBorderStyle = /** @class */ (function () {
  25769. function AnnotationBorderStyle() {
  25770. this.width = 1;
  25771. this.style = lA;
  25772. this.dashArray = [3];
  25773. this.horizontalCornerRadius = 0;
  25774. this.verticalCornerRadius = 0;
  25775. }
  25776. AnnotationBorderStyle.prototype.setWidth = function (e, t) {
  25777. if (t === void 0) { t = [0, 0, 0, 0]; }
  25778. if (e instanceof Name)
  25779. this.width = 0;
  25780. else if ("number" == typeof e) {
  25781. if (e > 0) {
  25782. var i_362 = (t[2] - t[0]) / 2, a_287 = (t[3] - t[1]) / 2;
  25783. if (i_362 > 0 && a_287 > 0 && (e > i_362 || e > a_287)) {
  25784. warn("AnnotationBorderStyle.setWidth - ignoring width: ".concat(e));
  25785. e = 1;
  25786. }
  25787. }
  25788. this.width = e;
  25789. }
  25790. };
  25791. AnnotationBorderStyle.prototype.setStyle = function (e) { if (e instanceof Name)
  25792. switch (e.name) {
  25793. case "S":
  25794. this.style = lA;
  25795. break;
  25796. case "D":
  25797. this.style = CA;
  25798. break;
  25799. case "B":
  25800. this.style = BA;
  25801. break;
  25802. case "I":
  25803. this.style = QA;
  25804. break;
  25805. case "U": this.style = EA;
  25806. } };
  25807. AnnotationBorderStyle.prototype.setDashArray = function (e, t) {
  25808. if (t === void 0) { t = !1; }
  25809. if (Array.isArray(e)) {
  25810. var i_363 = !0, a_288 = !0;
  25811. for (var _b = 0, e_600 = e; _b < e_600.length; _b++) {
  25812. var t_440 = e_600[_b];
  25813. if (!(+t_440 >= 0)) {
  25814. i_363 = !1;
  25815. break;
  25816. }
  25817. t_440 > 0 && (a_288 = !1);
  25818. }
  25819. if (0 === e.length || i_363 && !a_288) {
  25820. this.dashArray = e;
  25821. t && this.setStyle(Name.get("D"));
  25822. }
  25823. else
  25824. this.width = 0;
  25825. }
  25826. else
  25827. e && (this.width = 0);
  25828. };
  25829. AnnotationBorderStyle.prototype.setHorizontalCornerRadius = function (e) { Number.isInteger(e) && (this.horizontalCornerRadius = e); };
  25830. AnnotationBorderStyle.prototype.setVerticalCornerRadius = function (e) { Number.isInteger(e) && (this.verticalCornerRadius = e); };
  25831. return AnnotationBorderStyle;
  25832. }());
  25833. var MarkupAnnotation = /** @class */ (function (_super) {
  25834. tslib_1.__extends(MarkupAnnotation, _super);
  25835. function MarkupAnnotation(e) {
  25836. var _this = _super.call(this, e) || this;
  25837. var t = e.dict;
  25838. if (t.has("IRT")) {
  25839. var e_601 = t.getRaw("IRT");
  25840. _this.data.inReplyTo = e_601 instanceof Ref ? e_601.toString() : null;
  25841. var i_364 = t.get("RT");
  25842. _this.data.replyType = i_364 instanceof Name ? i_364.name : j;
  25843. }
  25844. var i = null;
  25845. if (_this.data.replyType === X) {
  25846. var e_602 = t.get("IRT");
  25847. _this.setTitle(e_602.get("T"));
  25848. _this.data.titleObj = _this._title;
  25849. _this.setContents(e_602.get("Contents"));
  25850. _this.data.contentsObj = _this._contents;
  25851. if (e_602.has("CreationDate")) {
  25852. _this.setCreationDate(e_602.get("CreationDate"));
  25853. _this.data.creationDate = _this.creationDate;
  25854. }
  25855. else
  25856. _this.data.creationDate = null;
  25857. if (e_602.has("M")) {
  25858. _this.setModificationDate(e_602.get("M"));
  25859. _this.data.modificationDate = _this.modificationDate;
  25860. }
  25861. else
  25862. _this.data.modificationDate = null;
  25863. i = e_602.getRaw("Popup");
  25864. if (e_602.has("C")) {
  25865. _this.setColor(e_602.getArray("C"));
  25866. _this.data.color = _this.color;
  25867. }
  25868. else
  25869. _this.data.color = null;
  25870. }
  25871. else {
  25872. _this.data.titleObj = _this._title;
  25873. _this.setCreationDate(t.get("CreationDate"));
  25874. _this.data.creationDate = _this.creationDate;
  25875. i = t.getRaw("Popup");
  25876. t.has("C") || (_this.data.color = null);
  25877. }
  25878. _this.data.popupRef = i instanceof Ref ? i.toString() : null;
  25879. t.has("RC") && (_this.data.richText = XFAFactory.getRichTextAsHtml(t.get("RC")));
  25880. return _this;
  25881. }
  25882. MarkupAnnotation.prototype.setCreationDate = function (e) { this.creationDate = "string" == typeof e ? e : null; };
  25883. MarkupAnnotation.prototype._setDefaultAppearance = function (_b) {
  25884. var e = _b.xref, t = _b.extra, i = _b.strokeColor, a = _b.fillColor, s = _b.blendMode, r = _b.strokeAlpha, n = _b.fillAlpha, o = _b.pointsCallback;
  25885. var g = Number.MAX_VALUE, c = Number.MAX_VALUE, h = Number.MIN_VALUE, l = Number.MIN_VALUE;
  25886. var C = ["q"];
  25887. t && C.push(t);
  25888. i && C.push("".concat(i[0], " ").concat(i[1], " ").concat(i[2], " RG"));
  25889. a && C.push("".concat(a[0], " ").concat(a[1], " ").concat(a[2], " rg"));
  25890. var Q = this.data.quadPoints;
  25891. Q || (Q = [[{ x: this.rectangle[0], y: this.rectangle[3] }, { x: this.rectangle[2], y: this.rectangle[3] }, { x: this.rectangle[0], y: this.rectangle[1] }, { x: this.rectangle[2], y: this.rectangle[1] }]]);
  25892. for (var _k = 0, Q_24 = Q; _k < Q_24.length; _k++) {
  25893. var e_603 = Q_24[_k];
  25894. var _l = o(C, e_603), t_441 = _l[0], i_365 = _l[1], a_289 = _l[2], s_194 = _l[3];
  25895. g = Math.min(g, t_441);
  25896. h = Math.max(h, i_365);
  25897. c = Math.min(c, a_289);
  25898. l = Math.max(l, s_194);
  25899. }
  25900. C.push("Q");
  25901. var E = new Dict(e), u = new Dict(e);
  25902. u.set("Subtype", Name.get("Form"));
  25903. var d = new StringStream(C.join(" "));
  25904. d.dict = u;
  25905. E.set("Fm0", d);
  25906. var f = new Dict(e);
  25907. s && f.set("BM", Name.get(s));
  25908. "number" == typeof r && f.set("CA", r);
  25909. "number" == typeof n && f.set("ca", n);
  25910. var p = new Dict(e);
  25911. p.set("GS0", f);
  25912. var m = new Dict(e);
  25913. m.set("ExtGState", p);
  25914. m.set("XObject", E);
  25915. var y = new Dict(e);
  25916. y.set("Resources", m);
  25917. var w = this.data.rect = [g, c, h, l];
  25918. y.set("BBox", w);
  25919. this.appearance = new StringStream("/GS0 gs /Fm0 Do");
  25920. this.appearance.dict = y;
  25921. this._streams.push(this.appearance, d);
  25922. };
  25923. MarkupAnnotation.createNewAnnotation = function (e, t, i, a) {
  25924. return tslib_1.__awaiter(this, void 0, void 0, function () { var s, r, n, o, a_290; return tslib_1.__generator(this, function (_b) {
  25925. switch (_b.label) {
  25926. case 0:
  25927. s = t.ref || (t.ref = e.getNewTemporaryRef());
  25928. return [4 /*yield*/, this.createNewAppearanceStream(t, e, a)];
  25929. case 1:
  25930. r = _b.sent(), n = [];
  25931. if (!r) return [3 /*break*/, 3];
  25932. a_290 = e.getNewTemporaryRef();
  25933. o = this.createNewDict(t, e, { apRef: a_290 });
  25934. return [4 /*yield*/, writeObject(a_290, r, n, e)];
  25935. case 2:
  25936. _b.sent();
  25937. i.push({ ref: a_290, data: n.join("") });
  25938. return [3 /*break*/, 4];
  25939. case 3:
  25940. o = this.createNewDict(t, e, {});
  25941. _b.label = 4;
  25942. case 4:
  25943. Number.isInteger(t.parentTreeId) && o.set("StructParent", t.parentTreeId);
  25944. n.length = 0;
  25945. return [4 /*yield*/, writeObject(s, o, n, e)];
  25946. case 5:
  25947. _b.sent();
  25948. return [2 /*return*/, { ref: s, data: n.join("") }];
  25949. }
  25950. }); });
  25951. };
  25952. MarkupAnnotation.createNewPrintAnnotation = function (e, t, i, a) {
  25953. return tslib_1.__awaiter(this, void 0, void 0, function () { var s, r, n; return tslib_1.__generator(this, function (_b) {
  25954. switch (_b.label) {
  25955. case 0: return [4 /*yield*/, this.createNewAppearanceStream(i, t, a)];
  25956. case 1:
  25957. s = _b.sent(), r = this.createNewDict(i, t, { ap: s }), n = new this.prototype.constructor({ dict: r, xref: t, annotationGlobals: e, evaluatorOptions: a.evaluatorOptions });
  25958. i.ref && (n.ref = n.refToReplace = i.ref);
  25959. return [2 /*return*/, n];
  25960. }
  25961. }); });
  25962. };
  25963. return MarkupAnnotation;
  25964. }(Annotation));
  25965. var WidgetAnnotation = /** @class */ (function (_super) {
  25966. tslib_1.__extends(WidgetAnnotation, _super);
  25967. function WidgetAnnotation(e) {
  25968. var _this = this;
  25969. var _b;
  25970. _this = _super.call(this, e) || this;
  25971. var t = e.dict, i = e.xref, a = e.annotationGlobals, s = _this.data;
  25972. _this._needAppearances = e.needAppearances;
  25973. s.annotationType = W;
  25974. void 0 === s.fieldName && (s.fieldName = _this._constructFieldName(t));
  25975. void 0 === s.actions && (s.actions = collectActions(i, t, uA));
  25976. var r = getInheritableProperty({ dict: t, key: "V", getArray: !0 });
  25977. s.fieldValue = _this._decodeFormValue(r);
  25978. var n = getInheritableProperty({ dict: t, key: "DV", getArray: !0 });
  25979. s.defaultFieldValue = _this._decodeFormValue(n);
  25980. if (void 0 === r && a.xfaDatasets) {
  25981. var e_604 = _this._title.str;
  25982. if (e_604) {
  25983. _this._hasValueFromXFA = !0;
  25984. s.fieldValue = r = a.xfaDatasets.getValue(e_604);
  25985. }
  25986. }
  25987. void 0 === r && null !== s.defaultFieldValue && (s.fieldValue = s.defaultFieldValue);
  25988. s.alternativeText = stringToPDFString(t.get("TU") || "");
  25989. _this.setDefaultAppearance(e);
  25990. s.hasAppearance || (s.hasAppearance = _this._needAppearances && void 0 !== s.fieldValue && null !== s.fieldValue);
  25991. var o = getInheritableProperty({ dict: t, key: "FT" });
  25992. s.fieldType = o instanceof Name ? o.name : null;
  25993. var g = getInheritableProperty({ dict: t, key: "DR" }), c = a.acroForm.get("DR"), h = (_b = _this.appearance) === null || _b === void 0 ? void 0 : _b.dict.get("Resources");
  25994. _this._fieldResources = { localResources: g, acroFormResources: c, appearanceResources: h, mergedResources: Dict.merge({ xref: i, dictArray: [g, h, c], mergeSubDicts: !0 }) };
  25995. s.fieldFlags = getInheritableProperty({ dict: t, key: "Ff" });
  25996. (!Number.isInteger(s.fieldFlags) || s.fieldFlags < 0) && (s.fieldFlags = 0);
  25997. s.readOnly = _this.hasFieldFlag(tA);
  25998. s.required = _this.hasFieldFlag(iA);
  25999. s.hidden = _this._hasFlag(s.annotationFlags, V) || _this._hasFlag(s.annotationFlags, $);
  26000. return _this;
  26001. }
  26002. WidgetAnnotation.prototype._decodeFormValue = function (e) { return Array.isArray(e) ? e.filter((function (e) { return "string" == typeof e; })).map((function (e) { return stringToPDFString(e); })) : e instanceof Name ? stringToPDFString(e.name) : "string" == typeof e ? stringToPDFString(e) : null; };
  26003. WidgetAnnotation.prototype.hasFieldFlag = function (e) { return !!(this.data.fieldFlags & e); };
  26004. WidgetAnnotation.prototype._isViewable = function (e) { return !0; };
  26005. WidgetAnnotation.prototype.mustBeViewed = function (e, t) { return t ? this.viewable : _super.prototype.mustBeViewed.call(this, e, t) && !this._hasFlag(this.flags, $); };
  26006. WidgetAnnotation.prototype.getRotationMatrix = function (e) { var _b; var t = (_b = e === null || e === void 0 ? void 0 : e.get(this.data.id)) === null || _b === void 0 ? void 0 : _b.rotation; void 0 === t && (t = this.rotation); if (0 === t)
  26007. return i; return getRotationMatrix(t, this.data.rect[2] - this.data.rect[0], this.data.rect[3] - this.data.rect[1]); };
  26008. WidgetAnnotation.prototype.getBorderAndBackgroundAppearances = function (e) { var _b; var t = (_b = e === null || e === void 0 ? void 0 : e.get(this.data.id)) === null || _b === void 0 ? void 0 : _b.rotation; void 0 === t && (t = this.rotation); if (!this.backgroundColor && !this.borderColor)
  26009. return ""; var i = this.data.rect[2] - this.data.rect[0], a = this.data.rect[3] - this.data.rect[1], s = 0 === t || 180 === t ? "0 0 ".concat(i, " ").concat(a, " re") : "0 0 ".concat(a, " ").concat(i, " re"); var r = ""; this.backgroundColor && (r = "".concat(getPdfColor(this.backgroundColor, !0), " ").concat(s, " f ")); if (this.borderColor) {
  26010. r += "".concat(this.borderStyle.width || 1, " w ").concat(getPdfColor(this.borderColor, !1), " ").concat(s, " S ");
  26011. } return r; };
  26012. WidgetAnnotation.prototype.getOperatorList = function (e, t, i, a, s) {
  26013. return tslib_1.__awaiter(this, void 0, void 0, function () { var r, n, o, c, h, l, _b, C; return tslib_1.__generator(this, function (_k) {
  26014. switch (_k.label) {
  26015. case 0:
  26016. if (a && !(this instanceof SignatureWidgetAnnotation) && !this.data.noHTML && !this.data.hasOwnCanvas)
  26017. return [2 /*return*/, { opList: new OperatorList, separateForm: !0, separateCanvas: !1 }];
  26018. if (!this._hasText)
  26019. return [2 /*return*/, _super.prototype.getOperatorList.call(this, e, t, i, a, s)];
  26020. return [4 /*yield*/, this._getAppearance(e, t, i, s)];
  26021. case 1:
  26022. r = _k.sent();
  26023. if (this.appearance && null === r)
  26024. return [2 /*return*/, _super.prototype.getOperatorList.call(this, e, t, i, a, s)];
  26025. n = new OperatorList;
  26026. if (!this._defaultAppearance || null === r)
  26027. return [2 /*return*/, { opList: n, separateForm: !1, separateCanvas: !1 }];
  26028. o = !!(this.data.hasOwnCanvas && i & g), c = [0, 0, this.data.rect[2] - this.data.rect[0], this.data.rect[3] - this.data.rect[1]], h = getTransformMatrix(this.data.rect, c, [1, 0, 0, 1, 0, 0]);
  26029. _b = this.oc;
  26030. if (!_b) return [3 /*break*/, 3];
  26031. return [4 /*yield*/, e.parseMarkedContentProps(this.oc, null)];
  26032. case 2:
  26033. _b = (l = _k.sent());
  26034. _k.label = 3;
  26035. case 3:
  26036. _b;
  26037. void 0 !== l && n.addOp(He, ["OC", l]);
  26038. n.addOp(We, [this.data.id, this.data.rect, h, this.getRotationMatrix(s), o]);
  26039. C = new StringStream(r);
  26040. return [4 /*yield*/, e.getOperatorList({ stream: C, task: t, resources: this._fieldResources.mergedResources, operatorList: n })];
  26041. case 4:
  26042. _k.sent();
  26043. n.addOp(Xe, []);
  26044. void 0 !== l && n.addOp(Ye, []);
  26045. return [2 /*return*/, { opList: n, separateForm: !1, separateCanvas: o }];
  26046. }
  26047. }); });
  26048. };
  26049. WidgetAnnotation.prototype._getMKDict = function (e) { var t = new Dict(null); e && t.set("R", e); this.borderColor && t.set("BC", getPdfColorArray(this.borderColor)); this.backgroundColor && t.set("BG", getPdfColorArray(this.backgroundColor)); return t.size > 0 ? t : null; };
  26050. WidgetAnnotation.prototype.amendSavedDict = function (e, t) { };
  26051. WidgetAnnotation.prototype.save = function (e, t, a) {
  26052. return tslib_1.__awaiter(this, void 0, void 0, function () {
  26053. var s, r, n, o, g, c, l, C, _b, _k, e_605, Q, encoder, E, u, d, e_606, t_442, s_195, r_153, n_103, g_56;
  26054. var _this = this;
  26055. return tslib_1.__generator(this, function (_l) {
  26056. switch (_l.label) {
  26057. case 0:
  26058. s = a === null || a === void 0 ? void 0 : a.get(this.data.id);
  26059. r = s === null || s === void 0 ? void 0 : s.value, n = s === null || s === void 0 ? void 0 : s.rotation;
  26060. if (r === this.data.fieldValue || void 0 === r) {
  26061. if (!this._hasValueFromXFA && void 0 === n)
  26062. return [2 /*return*/, null];
  26063. r || (r = this.data.fieldValue);
  26064. }
  26065. if (void 0 === n && !this._hasValueFromXFA && Array.isArray(r) && Array.isArray(this.data.fieldValue) && r.length === this.data.fieldValue.length && r.every((function (e, t) { return e === _this.data.fieldValue[t]; })))
  26066. return [2 /*return*/, null];
  26067. void 0 === n && (n = this.rotation);
  26068. o = null;
  26069. if (!!this._needAppearances) return [3 /*break*/, 2];
  26070. return [4 /*yield*/, this._getAppearance(e, t, h, a)];
  26071. case 1:
  26072. o = _l.sent();
  26073. if (null === o)
  26074. return [2 /*return*/, null];
  26075. _l.label = 2;
  26076. case 2:
  26077. g = !1;
  26078. if (o === null || o === void 0 ? void 0 : o.needAppearances) {
  26079. g = !0;
  26080. o = null;
  26081. }
  26082. c = e.xref, l = c.fetchIfRef(this.ref);
  26083. if (!(l instanceof Dict))
  26084. return [2 /*return*/, null];
  26085. C = new Dict(c);
  26086. for (_b = 0, _k = l.getKeys(); _b < _k.length; _b++) {
  26087. e_605 = _k[_b];
  26088. "AP" !== e_605 && C.set(e_605, l.getRaw(e_605));
  26089. }
  26090. Q = { path: this.data.fieldName, value: r }, encoder = function (e) { return isAscii(e) ? e : stringToUTF16String(e, !0); };
  26091. C.set("V", Array.isArray(r) ? r.map(encoder) : encoder(r));
  26092. this.amendSavedDict(a, C);
  26093. E = this._getMKDict(n);
  26094. E && C.set("MK", E);
  26095. u = [], d = [{ ref: this.ref, data: "", xfa: Q, needAppearances: g }];
  26096. if (!(null !== o)) return [3 /*break*/, 4];
  26097. e_606 = c.getNewTemporaryRef(), t_442 = new Dict(c);
  26098. C.set("AP", t_442);
  26099. t_442.set("N", e_606);
  26100. s_195 = this._getSaveFieldResources(c), r_153 = new StringStream(o), n_103 = r_153.dict = new Dict(c);
  26101. n_103.set("Subtype", Name.get("Form"));
  26102. n_103.set("Resources", s_195);
  26103. n_103.set("BBox", [0, 0, this.data.rect[2] - this.data.rect[0], this.data.rect[3] - this.data.rect[1]]);
  26104. g_56 = this.getRotationMatrix(a);
  26105. g_56 !== i && n_103.set("Matrix", g_56);
  26106. return [4 /*yield*/, writeObject(e_606, r_153, u, c)];
  26107. case 3:
  26108. _l.sent();
  26109. d.push({ ref: e_606, data: u.join(""), xfa: null, needAppearances: !1 });
  26110. u.length = 0;
  26111. _l.label = 4;
  26112. case 4:
  26113. C.set("M", "D:".concat(getModificationDate()));
  26114. return [4 /*yield*/, writeObject(this.ref, C, u, c)];
  26115. case 5:
  26116. _l.sent();
  26117. d[0].data = u.join("");
  26118. return [2 /*return*/, d];
  26119. }
  26120. });
  26121. });
  26122. };
  26123. WidgetAnnotation.prototype._getAppearance = function (e, t, i, a) {
  26124. return tslib_1.__awaiter(this, void 0, void 0, function () {
  26125. var s, r, o, g, e_607, c, l, C, Q, E, u, d, f, p, m, _b, c_45, e_608, t_443, i_366, a_291, s_196, n_104, e_609, _k, _l, t_444, o_77, e_610, t_445, g_57, y, w, b, D;
  26126. var _m, _o, _p;
  26127. return tslib_1.__generator(this, function (_q) {
  26128. switch (_q.label) {
  26129. case 0:
  26130. if (this.hasFieldFlag(sA))
  26131. return [2 /*return*/, null];
  26132. s = a === null || a === void 0 ? void 0 : a.get(this.data.id);
  26133. if (s) {
  26134. r = s.formattedValue || s.value;
  26135. o = s.rotation;
  26136. }
  26137. if (void 0 === o && void 0 === r && !this._needAppearances && (!this._hasValueFromXFA || this.appearance))
  26138. return [2 /*return*/, null];
  26139. g = this.getBorderAndBackgroundAppearances(a);
  26140. if (void 0 === r) {
  26141. r = this.data.fieldValue;
  26142. if (!r)
  26143. return [2 /*return*/, "/Tx BMC q ".concat(g, "Q EMC")];
  26144. }
  26145. Array.isArray(r) && 1 === r.length && (r = r[0]);
  26146. assert("string" == typeof r, "Expected `value` to be a string.");
  26147. r = r.trim();
  26148. if (this.data.combo) {
  26149. e_607 = this.data.options.find((function (_b) {
  26150. var e = _b.exportValue;
  26151. return r === e;
  26152. }));
  26153. r = (e_607 === null || e_607 === void 0 ? void 0 : e_607.displayValue) || r;
  26154. }
  26155. if ("" === r)
  26156. return [2 /*return*/, "/Tx BMC q ".concat(g, "Q EMC")];
  26157. void 0 === o && (o = this.rotation);
  26158. l = -1;
  26159. if (this.data.multiLine) {
  26160. c = r.split(/\r\n?|\n/).map((function (e) { return e.normalize("NFC"); }));
  26161. l = c.length;
  26162. }
  26163. else
  26164. c = [r.replace(/\r\n?|\n/, "").normalize("NFC")];
  26165. C = this.data.rect[3] - this.data.rect[1], Q = this.data.rect[2] - this.data.rect[0];
  26166. 90 !== o && 270 !== o || (_m = [C, Q], Q = _m[0], C = _m[1], _m);
  26167. this._defaultAppearance || (this.data.defaultAppearanceData = parseDefaultAppearance(this._defaultAppearance = "/Helvetica 0 Tf 0 g"));
  26168. return [4 /*yield*/, WidgetAnnotation._getFontData(e, t, this.data.defaultAppearanceData, this._fieldResources.mergedResources)];
  26169. case 1:
  26170. f = _q.sent();
  26171. p = [];
  26172. m = !1;
  26173. for (_b = 0, c_45 = c; _b < c_45.length; _b++) {
  26174. e_608 = c_45[_b];
  26175. t_443 = f.encodeString(e_608);
  26176. t_443.length > 1 && (m = !0);
  26177. p.push(t_443.join(""));
  26178. }
  26179. if (m && i & h)
  26180. return [2 /*return*/, { needAppearances: !0 }];
  26181. if (!(m && this._isOffscreenCanvasSupported)) return [3 /*break*/, 3];
  26182. i_366 = this.data.comb ? "monospace" : "sans-serif", a_291 = new FakeUnicodeFont(e.xref, i_366), s_196 = a_291.createFontResources(c.join("")), n_104 = s_196.getRaw("Font");
  26183. if (this._fieldResources.mergedResources.has("Font")) {
  26184. e_609 = this._fieldResources.mergedResources.get("Font");
  26185. for (_k = 0, _l = n_104.getKeys(); _k < _l.length; _k++) {
  26186. t_444 = _l[_k];
  26187. e_609.set(t_444, n_104.getRaw(t_444));
  26188. }
  26189. }
  26190. else
  26191. this._fieldResources.mergedResources.set("Font", n_104);
  26192. o_77 = a_291.fontName.name;
  26193. return [4 /*yield*/, WidgetAnnotation._getFontData(e, t, { fontName: o_77, fontSize: 0 }, s_196)];
  26194. case 2:
  26195. f = _q.sent();
  26196. for (e_610 = 0, t_445 = p.length; e_610 < t_445; e_610++)
  26197. p[e_610] = stringToUTF16String(c[e_610]);
  26198. g_57 = Object.assign(Object.create(null), this.data.defaultAppearanceData);
  26199. this.data.defaultAppearanceData.fontSize = 0;
  26200. this.data.defaultAppearanceData.fontName = o_77;
  26201. _o = this._computeFontSize(C - 2, Q - 4, r, f, l), E = _o[0], u = _o[1], d = _o[2];
  26202. this.data.defaultAppearanceData = g_57;
  26203. return [3 /*break*/, 4];
  26204. case 3:
  26205. this._isOffscreenCanvasSupported || warn("_getAppearance: OffscreenCanvas is not supported, annotation may not render correctly.");
  26206. _p = this._computeFontSize(C - 2, Q - 4, r, f, l), E = _p[0], u = _p[1], d = _p[2];
  26207. _q.label = 4;
  26208. case 4:
  26209. y = f.descent;
  26210. y = isNaN(y) ? n * d : Math.max(n * d, Math.abs(y) * u);
  26211. w = Math.min(Math.floor((C - u) / 2), 1), b = this.data.textAlignment;
  26212. if (this.data.multiLine)
  26213. return [2 /*return*/, this._getMultilineAppearance(E, p, f, u, Q, C, b, 2, w, y, d, a)];
  26214. if (this.data.comb)
  26215. return [2 /*return*/, this._getCombAppearance(E, f, p[0], u, Q, C, 2, w, y, d, a)];
  26216. D = w + y;
  26217. if (0 === b || b > 2)
  26218. return [2 /*return*/, "/Tx BMC q ".concat(g, "BT ") + E + " 1 0 0 1 ".concat(numberToString(2), " ").concat(numberToString(D), " Tm (").concat(escapeString(p[0]), ") Tj ET Q EMC")];
  26219. return [2 /*return*/, "/Tx BMC q ".concat(g, "BT ") + E + " 1 0 0 1 0 0 Tm ".concat(this._renderText(p[0], f, u, Q, b, { shift: 0 }, 2, D), " ET Q EMC")];
  26220. }
  26221. });
  26222. });
  26223. };
  26224. WidgetAnnotation._getFontData = function (e, t, i, a) {
  26225. return tslib_1.__awaiter(this, void 0, void 0, function () { var s, r, n, o; return tslib_1.__generator(this, function (_b) {
  26226. switch (_b.label) {
  26227. case 0:
  26228. s = new OperatorList, r = { font: null, clone: function () { return this; } }, n = i.fontName, o = i.fontSize;
  26229. return [4 /*yield*/, e.handleSetFont(a, [n && Name.get(n), o], null, s, t, r, null)];
  26230. case 1:
  26231. _b.sent();
  26232. return [2 /*return*/, r.font];
  26233. }
  26234. }); });
  26235. };
  26236. WidgetAnnotation.prototype._getTextWidth = function (e, t) { return t.charsToGlyphs(e).reduce((function (e, t) { return e + t.width; }), 0) / 1e3; };
  26237. WidgetAnnotation.prototype._computeFontSize = function (e, t, i, a, r) {
  26238. var _this = this;
  26239. var n = this.data.defaultAppearanceData.fontSize, o = (n || 12) * s, g = Math.round(e / o);
  26240. if (!n) {
  26241. var roundWithTwoDigits = function (e) { return Math.floor(100 * e) / 100; };
  26242. if (-1 === r) {
  26243. var r_154 = this._getTextWidth(i, a);
  26244. n = roundWithTwoDigits(Math.min(e / s, r_154 > t ? t / r_154 : 1 / 0));
  26245. g = 1;
  26246. }
  26247. else {
  26248. var c_47 = i.split(/\r\n?|\n/), h_33 = [];
  26249. for (var _b = 0, c_46 = c_47; _b < c_46.length; _b++) {
  26250. var e_611 = c_46[_b];
  26251. var t_446 = a.encodeString(e_611).join(""), i_367 = a.charsToGlyphs(t_446), s_197 = a.getCharPositions(t_446);
  26252. h_33.push({ line: t_446, glyphs: i_367, positions: s_197 });
  26253. }
  26254. var isTooBig = function (i) { var s = 0; for (var _b = 0, h_34 = h_33; _b < h_34.length; _b++) {
  26255. var r_155 = h_34[_b];
  26256. s += _this._splitLine(null, a, i, t, r_155).length * i;
  26257. if (s > e)
  26258. return !0;
  26259. } return !1; };
  26260. g = Math.max(g, r);
  26261. for (;;) {
  26262. o = e / g;
  26263. n = roundWithTwoDigits(o / s);
  26264. if (!isTooBig(n))
  26265. break;
  26266. g++;
  26267. }
  26268. }
  26269. var _k = this.data.defaultAppearanceData, c_48 = _k.fontName, h_35 = _k.fontColor;
  26270. this._defaultAppearance = function createDefaultAppearance(_b) {
  26271. var e = _b.fontSize, t = _b.fontName, i = _b.fontColor;
  26272. return "/".concat(escapePDFName(t), " ").concat(e, " Tf ").concat(getPdfColor(i, !0));
  26273. }({ fontSize: n, fontName: c_48, fontColor: h_35 });
  26274. }
  26275. return [this._defaultAppearance, n, e / g];
  26276. };
  26277. WidgetAnnotation.prototype._renderText = function (e, t, i, a, s, r, n, o) { var g; if (1 === s) {
  26278. g = (a - this._getTextWidth(e, t) * i) / 2;
  26279. }
  26280. else if (2 === s) {
  26281. g = a - this._getTextWidth(e, t) * i - n;
  26282. }
  26283. else
  26284. g = n; var c = numberToString(g - r.shift); r.shift = g; return "".concat(c, " ").concat(o = numberToString(o), " Td (").concat(escapeString(e), ") Tj"); };
  26285. WidgetAnnotation.prototype._getSaveFieldResources = function (e) { var _b; var _k = this._fieldResources, t = _k.localResources, i = _k.appearanceResources, a = _k.acroFormResources, s = (_b = this.data.defaultAppearanceData) === null || _b === void 0 ? void 0 : _b.fontName; if (!s)
  26286. return t || Dict.empty; for (var _l = 0, _m = [t, i]; _l < _m.length; _l++) {
  26287. var e_612 = _m[_l];
  26288. if (e_612 instanceof Dict) {
  26289. var t_447 = e_612.get("Font");
  26290. if (t_447 instanceof Dict && t_447.has(s))
  26291. return e_612;
  26292. }
  26293. } if (a instanceof Dict) {
  26294. var i_368 = a.get("Font");
  26295. if (i_368 instanceof Dict && i_368.has(s)) {
  26296. var a_292 = new Dict(e);
  26297. a_292.set(s, i_368.getRaw(s));
  26298. var r_156 = new Dict(e);
  26299. r_156.set("Font", a_292);
  26300. return Dict.merge({ xref: e, dictArray: [r_156, t], mergeSubDicts: !0 });
  26301. }
  26302. } return t || Dict.empty; };
  26303. WidgetAnnotation.prototype.getFieldObject = function () { return null; };
  26304. return WidgetAnnotation;
  26305. }(Annotation));
  26306. var TextWidgetAnnotation = /** @class */ (function (_super) {
  26307. tslib_1.__extends(TextWidgetAnnotation, _super);
  26308. function TextWidgetAnnotation(e) {
  26309. var _this = _super.call(this, e) || this;
  26310. _this.data.hasOwnCanvas = _this.data.readOnly && !_this.data.noHTML;
  26311. _this._hasText = !0;
  26312. var t = e.dict;
  26313. "string" != typeof _this.data.fieldValue && (_this.data.fieldValue = "");
  26314. var i = getInheritableProperty({ dict: t, key: "Q" });
  26315. (!Number.isInteger(i) || i < 0 || i > 2) && (i = null);
  26316. _this.data.textAlignment = i;
  26317. var a = getInheritableProperty({ dict: t, key: "MaxLen" });
  26318. (!Number.isInteger(a) || a < 0) && (a = 0);
  26319. _this.data.maxLen = a;
  26320. _this.data.multiLine = _this.hasFieldFlag(aA);
  26321. _this.data.comb = _this.hasFieldFlag(hA) && !_this.hasFieldFlag(aA) && !_this.hasFieldFlag(sA) && !_this.hasFieldFlag(gA) && 0 !== _this.data.maxLen;
  26322. _this.data.doNotScroll = _this.hasFieldFlag(cA);
  26323. return _this;
  26324. }
  26325. Object.defineProperty(TextWidgetAnnotation.prototype, "hasTextContent", {
  26326. get: function () { return !!this.appearance && !this._needAppearances; },
  26327. enumerable: false,
  26328. configurable: true
  26329. });
  26330. TextWidgetAnnotation.prototype._getCombAppearance = function (e, t, i, a, s, r, n, o, g, c, h) { var l = s / this.data.maxLen, C = this.getBorderAndBackgroundAppearances(h), Q = [], E = t.getCharPositions(i); for (var _b = 0, E_14 = E; _b < E_14.length; _b++) {
  26331. var _k = E_14[_b], e_613 = _k[0], t_448 = _k[1];
  26332. Q.push("(".concat(escapeString(i.substring(e_613, t_448)), ") Tj"));
  26333. } var u = Q.join(" ".concat(numberToString(l), " 0 Td ")); return "/Tx BMC q ".concat(C, "BT ") + e + " 1 0 0 1 ".concat(numberToString(n), " ").concat(numberToString(o + g), " Tm ").concat(u, " ET Q EMC"); };
  26334. TextWidgetAnnotation.prototype._getMultilineAppearance = function (e, t, i, a, s, r, n, o, g, c, h, l) { var C = [], Q = s - 2 * o, E = { shift: 0 }; for (var e_614 = 0, r_157 = t.length; e_614 < r_157; e_614++) {
  26335. var r_158 = t[e_614], l_29 = this._splitLine(r_158, i, a, Q);
  26336. for (var t_449 = 0, r_159 = l_29.length; t_449 < r_159; t_449++) {
  26337. var r_160 = l_29[t_449], Q_25 = 0 === e_614 && 0 === t_449 ? -g - (h - c) : -h;
  26338. C.push(this._renderText(r_160, i, a, s, n, E, o, Q_25));
  26339. }
  26340. } var u = this.getBorderAndBackgroundAppearances(l), d = C.join("\n"); return "/Tx BMC q ".concat(u, "BT ") + e + " 1 0 0 1 0 ".concat(numberToString(r), " Tm ").concat(d, " ET Q EMC"); };
  26341. TextWidgetAnnotation.prototype._splitLine = function (e, t, i, a, s) {
  26342. if (s === void 0) { s = {}; }
  26343. e = s.line || e;
  26344. var r = s.glyphs || t.charsToGlyphs(e);
  26345. if (r.length <= 1)
  26346. return [e];
  26347. var n = s.positions || t.getCharPositions(e), o = i / 1e3, g = [];
  26348. var c = -1, h = -1, l = -1, C = 0, Q = 0;
  26349. for (var t_450 = 0, i_369 = r.length; t_450 < i_369; t_450++) {
  26350. var _b = n[t_450], i_370 = _b[0], s_198 = _b[1], E_15 = r[t_450], u_13 = E_15.width * o;
  26351. if (" " === E_15.unicode)
  26352. if (Q + u_13 > a) {
  26353. g.push(e.substring(C, i_370));
  26354. C = i_370;
  26355. Q = u_13;
  26356. c = -1;
  26357. l = -1;
  26358. }
  26359. else {
  26360. Q += u_13;
  26361. c = i_370;
  26362. h = s_198;
  26363. l = t_450;
  26364. }
  26365. else if (Q + u_13 > a)
  26366. if (-1 !== c) {
  26367. g.push(e.substring(C, h));
  26368. C = h;
  26369. t_450 = l + 1;
  26370. c = -1;
  26371. Q = 0;
  26372. }
  26373. else {
  26374. g.push(e.substring(C, i_370));
  26375. C = i_370;
  26376. Q = u_13;
  26377. }
  26378. else
  26379. Q += u_13;
  26380. }
  26381. C < e.length && g.push(e.substring(C, e.length));
  26382. return g;
  26383. };
  26384. TextWidgetAnnotation.prototype.getFieldObject = function () { return { id: this.data.id, value: this.data.fieldValue, defaultValue: this.data.defaultFieldValue || "", multiline: this.data.multiLine, password: this.hasFieldFlag(sA), charLimit: this.data.maxLen, comb: this.data.comb, editable: !this.data.readOnly, hidden: this.data.hidden, name: this.data.fieldName, rect: this.data.rect, actions: this.data.actions, page: this.data.pageIndex, strokeColor: this.data.borderColor, fillColor: this.data.backgroundColor, rotation: this.rotation, type: "text" }; };
  26385. return TextWidgetAnnotation;
  26386. }(WidgetAnnotation));
  26387. var ButtonWidgetAnnotation = /** @class */ (function (_super) {
  26388. tslib_1.__extends(ButtonWidgetAnnotation, _super);
  26389. function ButtonWidgetAnnotation(e) {
  26390. var _this = _super.call(this, e) || this;
  26391. _this.checkedAppearance = null;
  26392. _this.uncheckedAppearance = null;
  26393. _this.data.checkBox = !_this.hasFieldFlag(rA) && !_this.hasFieldFlag(nA);
  26394. _this.data.radioButton = _this.hasFieldFlag(rA) && !_this.hasFieldFlag(nA);
  26395. _this.data.pushButton = _this.hasFieldFlag(nA);
  26396. _this.data.isTooltipOnly = !1;
  26397. if (_this.data.checkBox)
  26398. _this._processCheckBox(e);
  26399. else if (_this.data.radioButton)
  26400. _this._processRadioButton(e);
  26401. else if (_this.data.pushButton) {
  26402. _this.data.hasOwnCanvas = !0;
  26403. _this.data.noHTML = !1;
  26404. _this._processPushButton(e);
  26405. }
  26406. else
  26407. warn("Invalid field flags for button widget annotation");
  26408. return _this;
  26409. }
  26410. ButtonWidgetAnnotation.prototype.getOperatorList = function (e, t, a, s, r) {
  26411. return tslib_1.__awaiter(this, void 0, void 0, function () { var n, o, e_615, g, n_105, c_49, h_36; return tslib_1.__generator(this, function (_b) {
  26412. if (this.data.pushButton)
  26413. return [2 /*return*/, _super.prototype.getOperatorList.call(this, e, t, a, !1, r)];
  26414. n = null, o = null;
  26415. if (r) {
  26416. e_615 = r.get(this.data.id);
  26417. n = e_615 ? e_615.value : null;
  26418. o = e_615 ? e_615.rotation : null;
  26419. }
  26420. if (null === n && this.appearance)
  26421. return [2 /*return*/, _super.prototype.getOperatorList.call(this, e, t, a, s, r)];
  26422. null == n && (n = this.data.checkBox ? this.data.fieldValue === this.data.exportValue : this.data.fieldValue === this.data.buttonValue);
  26423. g = n ? this.checkedAppearance : this.uncheckedAppearance;
  26424. if (g) {
  26425. n_105 = this.appearance, c_49 = lookupMatrix(g.dict.getArray("Matrix"), i);
  26426. o && g.dict.set("Matrix", this.getRotationMatrix(r));
  26427. this.appearance = g;
  26428. h_36 = _super.prototype.getOperatorList.call(this, e, t, a, s, r);
  26429. this.appearance = n_105;
  26430. g.dict.set("Matrix", c_49);
  26431. return [2 /*return*/, h_36];
  26432. }
  26433. return [2 /*return*/, { opList: new OperatorList, separateForm: !1, separateCanvas: !1 }];
  26434. }); });
  26435. };
  26436. ButtonWidgetAnnotation.prototype.save = function (e, t, i) {
  26437. return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_b) {
  26438. return [2 /*return*/, this.data.checkBox ? this._saveCheckbox(e, t, i) : this.data.radioButton ? this._saveRadioButton(e, t, i) : null];
  26439. }); });
  26440. };
  26441. ButtonWidgetAnnotation.prototype._saveCheckbox = function (e, t, i) {
  26442. return tslib_1.__awaiter(this, void 0, void 0, function () { var a, s, r, n, o, g, c, h; return tslib_1.__generator(this, function (_b) {
  26443. switch (_b.label) {
  26444. case 0:
  26445. if (!i)
  26446. return [2 /*return*/, null];
  26447. a = i.get(this.data.id);
  26448. s = a === null || a === void 0 ? void 0 : a.rotation, r = a === null || a === void 0 ? void 0 : a.value;
  26449. if (void 0 === s) {
  26450. if (void 0 === r)
  26451. return [2 /*return*/, null];
  26452. if (this.data.fieldValue === this.data.exportValue === r)
  26453. return [2 /*return*/, null];
  26454. }
  26455. n = e.xref.fetchIfRef(this.ref);
  26456. if (!(n instanceof Dict))
  26457. return [2 /*return*/, null];
  26458. void 0 === s && (s = this.rotation);
  26459. void 0 === r && (r = this.data.fieldValue === this.data.exportValue);
  26460. o = { path: this.data.fieldName, value: r ? this.data.exportValue : "" }, g = Name.get(r ? this.data.exportValue : "Off");
  26461. n.set("V", g);
  26462. n.set("AS", g);
  26463. n.set("M", "D:".concat(getModificationDate()));
  26464. c = this._getMKDict(s);
  26465. c && n.set("MK", c);
  26466. h = [];
  26467. return [4 /*yield*/, writeObject(this.ref, n, h, e.xref)];
  26468. case 1:
  26469. _b.sent();
  26470. return [2 /*return*/, [{ ref: this.ref, data: h.join(""), xfa: o }]];
  26471. }
  26472. }); });
  26473. };
  26474. ButtonWidgetAnnotation.prototype._saveRadioButton = function (e, t, i) {
  26475. return tslib_1.__awaiter(this, void 0, void 0, function () { var a, s, r, n, o, g, c, h, t_451, l, C; return tslib_1.__generator(this, function (_b) {
  26476. switch (_b.label) {
  26477. case 0:
  26478. if (!i)
  26479. return [2 /*return*/, null];
  26480. a = i.get(this.data.id);
  26481. s = a === null || a === void 0 ? void 0 : a.rotation, r = a === null || a === void 0 ? void 0 : a.value;
  26482. if (void 0 === s) {
  26483. if (void 0 === r)
  26484. return [2 /*return*/, null];
  26485. if (this.data.fieldValue === this.data.buttonValue === r)
  26486. return [2 /*return*/, null];
  26487. }
  26488. n = e.xref.fetchIfRef(this.ref);
  26489. if (!(n instanceof Dict))
  26490. return [2 /*return*/, null];
  26491. void 0 === r && (r = this.data.fieldValue === this.data.buttonValue);
  26492. void 0 === s && (s = this.rotation);
  26493. o = { path: this.data.fieldName, value: r ? this.data.buttonValue : "" }, g = Name.get(r ? this.data.buttonValue : "Off"), c = [];
  26494. h = null;
  26495. if (!r) return [3 /*break*/, 3];
  26496. if (!(this.parent instanceof Ref)) return [3 /*break*/, 2];
  26497. t_451 = e.xref.fetch(this.parent);
  26498. t_451.set("V", g);
  26499. return [4 /*yield*/, writeObject(this.parent, t_451, c, e.xref)];
  26500. case 1:
  26501. _b.sent();
  26502. h = c.join("");
  26503. c.length = 0;
  26504. return [3 /*break*/, 3];
  26505. case 2:
  26506. this.parent instanceof Dict && this.parent.set("V", g);
  26507. _b.label = 3;
  26508. case 3:
  26509. n.set("AS", g);
  26510. n.set("M", "D:".concat(getModificationDate()));
  26511. l = this._getMKDict(s);
  26512. l && n.set("MK", l);
  26513. return [4 /*yield*/, writeObject(this.ref, n, c, e.xref)];
  26514. case 4:
  26515. _b.sent();
  26516. C = [{ ref: this.ref, data: c.join(""), xfa: o }];
  26517. h && C.push({ ref: this.parent, data: h, xfa: null });
  26518. return [2 /*return*/, C];
  26519. }
  26520. }); });
  26521. };
  26522. ButtonWidgetAnnotation.prototype._getDefaultCheckedAppearance = function (e, t) { var i = this.data.rect[2] - this.data.rect[0], a = this.data.rect[3] - this.data.rect[1], s = [0, 0, i, a], r = .8 * Math.min(i, a); var n, o; if ("check" === t) {
  26523. n = { width: .755 * r, height: .705 * r };
  26524. o = "3";
  26525. }
  26526. else if ("disc" === t) {
  26527. n = { width: .791 * r, height: .705 * r };
  26528. o = "l";
  26529. }
  26530. else
  26531. unreachable("_getDefaultCheckedAppearance - unsupported type: ".concat(t)); var g = "q BT /PdfJsZaDb ".concat(r, " Tf 0 g ").concat(numberToString((i - n.width) / 2), " ").concat(numberToString((a - n.height) / 2), " Td (").concat(o, ") Tj ET Q"), c = new Dict(e.xref); c.set("FormType", 1); c.set("Subtype", Name.get("Form")); c.set("Type", Name.get("XObject")); c.set("BBox", s); c.set("Matrix", [1, 0, 0, 1, 0, 0]); c.set("Length", g.length); var h = new Dict(e.xref), l = new Dict(e.xref); l.set("PdfJsZaDb", this.fallbackFontDict); h.set("Font", l); c.set("Resources", h); this.checkedAppearance = new StringStream(g); this.checkedAppearance.dict = c; this._streams.push(this.checkedAppearance); };
  26532. ButtonWidgetAnnotation.prototype._processCheckBox = function (e) { var t = e.dict.get("AP"); if (!(t instanceof Dict))
  26533. return; var i = t.get("N"); if (!(i instanceof Dict))
  26534. return; var a = this._decodeFormValue(e.dict.get("AS")); "string" == typeof a && (this.data.fieldValue = a); var s = null !== this.data.fieldValue && "Off" !== this.data.fieldValue ? this.data.fieldValue : "Yes", r = i.getKeys(); if (0 === r.length)
  26535. r.push("Off", s);
  26536. else if (1 === r.length)
  26537. "Off" === r[0] ? r.push(s) : r.unshift("Off");
  26538. else if (r.includes(s)) {
  26539. r.length = 0;
  26540. r.push("Off", s);
  26541. }
  26542. else {
  26543. var e_616 = r.find((function (e) { return "Off" !== e; }));
  26544. r.length = 0;
  26545. r.push("Off", e_616);
  26546. } r.includes(this.data.fieldValue) || (this.data.fieldValue = "Off"); this.data.exportValue = r[1]; var n = i.get(this.data.exportValue); this.checkedAppearance = n instanceof BaseStream ? n : null; var o = i.get("Off"); this.uncheckedAppearance = o instanceof BaseStream ? o : null; this.checkedAppearance ? this._streams.push(this.checkedAppearance) : this._getDefaultCheckedAppearance(e, "check"); this.uncheckedAppearance && this._streams.push(this.uncheckedAppearance); this._fallbackFontDict = this.fallbackFontDict; null === this.data.defaultFieldValue && (this.data.defaultFieldValue = "Off"); };
  26547. ButtonWidgetAnnotation.prototype._processRadioButton = function (e) { this.data.buttonValue = null; var t = e.dict.get("Parent"); if (t instanceof Dict) {
  26548. this.parent = e.dict.getRaw("Parent");
  26549. var i_371 = t.get("V");
  26550. i_371 instanceof Name && (this.data.fieldValue = this._decodeFormValue(i_371));
  26551. } var i = e.dict.get("AP"); if (!(i instanceof Dict))
  26552. return; var a = i.get("N"); if (!(a instanceof Dict))
  26553. return; for (var _b = 0, _k = a.getKeys(); _b < _k.length; _b++) {
  26554. var e_617 = _k[_b];
  26555. if ("Off" !== e_617) {
  26556. this.data.buttonValue = this._decodeFormValue(e_617);
  26557. break;
  26558. }
  26559. } var s = a.get(this.data.buttonValue); this.checkedAppearance = s instanceof BaseStream ? s : null; var r = a.get("Off"); this.uncheckedAppearance = r instanceof BaseStream ? r : null; this.checkedAppearance ? this._streams.push(this.checkedAppearance) : this._getDefaultCheckedAppearance(e, "disc"); this.uncheckedAppearance && this._streams.push(this.uncheckedAppearance); this._fallbackFontDict = this.fallbackFontDict; null === this.data.defaultFieldValue && (this.data.defaultFieldValue = "Off"); };
  26560. ButtonWidgetAnnotation.prototype._processPushButton = function (e) { var t = e.dict, i = e.annotationGlobals; if (t.has("A") || t.has("AA") || this.data.alternativeText) {
  26561. this.data.isTooltipOnly = !t.has("A") && !t.has("AA");
  26562. Catalog.parseDestDictionary({ destDict: t, resultObj: this.data, docBaseUrl: i.baseUrl, docAttachments: i.attachments });
  26563. }
  26564. else
  26565. warn("Push buttons without action dictionaries are not supported"); };
  26566. ButtonWidgetAnnotation.prototype.getFieldObject = function () { var e, t = "button"; if (this.data.checkBox) {
  26567. t = "checkbox";
  26568. e = this.data.exportValue;
  26569. }
  26570. else if (this.data.radioButton) {
  26571. t = "radiobutton";
  26572. e = this.data.buttonValue;
  26573. } return { id: this.data.id, value: this.data.fieldValue || "Off", defaultValue: this.data.defaultFieldValue, exportValues: e, editable: !this.data.readOnly, name: this.data.fieldName, rect: this.data.rect, hidden: this.data.hidden, actions: this.data.actions, page: this.data.pageIndex, strokeColor: this.data.borderColor, fillColor: this.data.backgroundColor, rotation: this.rotation, type: t }; };
  26574. Object.defineProperty(ButtonWidgetAnnotation.prototype, "fallbackFontDict", {
  26575. get: function () { var e = new Dict; e.set("BaseFont", Name.get("ZapfDingbats")); e.set("Type", Name.get("FallbackType")); e.set("Subtype", Name.get("FallbackType")); e.set("Encoding", Name.get("ZapfDingbatsEncoding")); return shadow(this, "fallbackFontDict", e); },
  26576. enumerable: false,
  26577. configurable: true
  26578. });
  26579. return ButtonWidgetAnnotation;
  26580. }(WidgetAnnotation));
  26581. var ChoiceWidgetAnnotation = /** @class */ (function (_super) {
  26582. tslib_1.__extends(ChoiceWidgetAnnotation, _super);
  26583. function ChoiceWidgetAnnotation(e) {
  26584. var _this = _super.call(this, e) || this;
  26585. var t = e.dict, i = e.xref;
  26586. _this.indices = t.getArray("I");
  26587. _this.hasIndices = Array.isArray(_this.indices) && _this.indices.length > 0;
  26588. _this.data.options = [];
  26589. var a = getInheritableProperty({ dict: t, key: "Opt" });
  26590. if (Array.isArray(a))
  26591. for (var e_618 = 0, t_452 = a.length; e_618 < t_452; e_618++) {
  26592. var t_453 = i.fetchIfRef(a[e_618]), s_199 = Array.isArray(t_453);
  26593. _this.data.options[e_618] = { exportValue: _this._decodeFormValue(s_199 ? i.fetchIfRef(t_453[0]) : t_453), displayValue: _this._decodeFormValue(s_199 ? i.fetchIfRef(t_453[1]) : t_453) };
  26594. }
  26595. if (_this.hasIndices) {
  26596. _this.data.fieldValue = [];
  26597. var e_619 = _this.data.options.length;
  26598. for (var _b = 0, _k = _this.indices; _b < _k.length; _b++) {
  26599. var t_454 = _k[_b];
  26600. Number.isInteger(t_454) && t_454 >= 0 && t_454 < e_619 && _this.data.fieldValue.push(_this.data.options[t_454].exportValue);
  26601. }
  26602. }
  26603. else
  26604. "string" == typeof _this.data.fieldValue ? _this.data.fieldValue = [_this.data.fieldValue] : _this.data.fieldValue || (_this.data.fieldValue = []);
  26605. _this.data.combo = _this.hasFieldFlag(oA);
  26606. _this.data.multiSelect = _this.hasFieldFlag(IA);
  26607. _this._hasText = !0;
  26608. return _this;
  26609. }
  26610. ChoiceWidgetAnnotation.prototype.getFieldObject = function () { var e = this.data.combo ? "combobox" : "listbox", t = this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : null; return { id: this.data.id, value: t, defaultValue: this.data.defaultFieldValue, editable: !this.data.readOnly, name: this.data.fieldName, rect: this.data.rect, numItems: this.data.fieldValue.length, multipleSelection: this.data.multiSelect, hidden: this.data.hidden, actions: this.data.actions, items: this.data.options, page: this.data.pageIndex, strokeColor: this.data.borderColor, fillColor: this.data.backgroundColor, rotation: this.rotation, type: e }; };
  26611. ChoiceWidgetAnnotation.prototype.amendSavedDict = function (e, t) { var _b; if (!this.hasIndices)
  26612. return; var i = (_b = e === null || e === void 0 ? void 0 : e.get(this.data.id)) === null || _b === void 0 ? void 0 : _b.value; Array.isArray(i) || (i = [i]); var a = [], s = this.data.options; for (var e_620 = 0, t_455 = 0, r_161 = s.length; e_620 < r_161; e_620++)
  26613. if (s[e_620].exportValue === i[t_455]) {
  26614. a.push(e_620);
  26615. t_455 += 1;
  26616. } t.set("I", a); };
  26617. ChoiceWidgetAnnotation.prototype._getAppearance = function (e, t, i, a) {
  26618. return tslib_1.__awaiter(this, void 0, void 0, function () {
  26619. var r, n, o, g, c, h, l, e_621, t_456, C, Q, E, e_622, t_457, i_372, _b, _k, e_623, a_293, u, d, f, p, e_624, t_458, m, y, _l, l_30, e_625, w, e_626, t_459, i_373;
  26620. var _m, _o;
  26621. return tslib_1.__generator(this, function (_p) {
  26622. switch (_p.label) {
  26623. case 0:
  26624. if (this.data.combo)
  26625. return [2 /*return*/, _super.prototype._getAppearance.call(this, e, t, i, a)];
  26626. o = a === null || a === void 0 ? void 0 : a.get(this.data.id);
  26627. if (o) {
  26628. n = o.rotation;
  26629. r = o.value;
  26630. }
  26631. if (void 0 === n && void 0 === r && !this._needAppearances)
  26632. return [2 /*return*/, null];
  26633. void 0 === r ? r = this.data.fieldValue : Array.isArray(r) || (r = [r]);
  26634. g = this.data.rect[3] - this.data.rect[1], c = this.data.rect[2] - this.data.rect[0];
  26635. 90 !== n && 270 !== n || (_m = [g, c], c = _m[0], g = _m[1], _m);
  26636. h = this.data.options.length, l = [];
  26637. for (e_621 = 0; e_621 < h; e_621++) {
  26638. t_456 = this.data.options[e_621].exportValue;
  26639. r.includes(t_456) && l.push(e_621);
  26640. }
  26641. this._defaultAppearance || (this.data.defaultAppearanceData = parseDefaultAppearance(this._defaultAppearance = "/Helvetica 0 Tf 0 g"));
  26642. return [4 /*yield*/, WidgetAnnotation._getFontData(e, t, this.data.defaultAppearanceData, this._fieldResources.mergedResources)];
  26643. case 1:
  26644. C = _p.sent();
  26645. E = this.data.defaultAppearanceData.fontSize;
  26646. if (E)
  26647. Q = this._defaultAppearance;
  26648. else {
  26649. e_622 = (g - 1) / h;
  26650. i_372 = -1;
  26651. for (_b = 0, _k = this.data.options; _b < _k.length; _b++) {
  26652. e_623 = _k[_b].displayValue;
  26653. a_293 = this._getTextWidth(e_623, C);
  26654. if (a_293 > i_372) {
  26655. i_372 = a_293;
  26656. t_457 = e_623;
  26657. }
  26658. }
  26659. _o = this._computeFontSize(e_622, c - 4, t_457, C, -1), Q = _o[0], E = _o[1];
  26660. }
  26661. u = E * s, d = (u - E) / 2, f = Math.floor(g / u);
  26662. p = 0;
  26663. if (l.length > 0) {
  26664. e_624 = Math.min.apply(Math, l), t_458 = Math.max.apply(Math, l);
  26665. p = Math.max(0, t_458 - f + 1);
  26666. p > e_624 && (p = e_624);
  26667. }
  26668. m = Math.min(p + f + 1, h), y = ["/Tx BMC q", "1 1 ".concat(c, " ").concat(g, " re W n")];
  26669. if (l.length) {
  26670. y.push("0.600006 0.756866 0.854904 rg");
  26671. for (_l = 0, l_30 = l; _l < l_30.length; _l++) {
  26672. e_625 = l_30[_l];
  26673. p <= e_625 && e_625 < m && y.push("1 ".concat(g - (e_625 - p + 1) * u, " ").concat(c, " ").concat(u, " re f"));
  26674. }
  26675. }
  26676. y.push("BT", Q, "1 0 0 1 0 ".concat(g, " Tm"));
  26677. w = { shift: 0 };
  26678. for (e_626 = p; e_626 < m; e_626++) {
  26679. t_459 = this.data.options[e_626].displayValue, i_373 = e_626 === p ? d : 0;
  26680. y.push(this._renderText(t_459, C, E, c, 0, w, 2, -u + i_373));
  26681. }
  26682. y.push("ET Q EMC");
  26683. return [2 /*return*/, y.join("\n")];
  26684. }
  26685. });
  26686. });
  26687. };
  26688. return ChoiceWidgetAnnotation;
  26689. }(WidgetAnnotation));
  26690. var SignatureWidgetAnnotation = /** @class */ (function (_super) {
  26691. tslib_1.__extends(SignatureWidgetAnnotation, _super);
  26692. function SignatureWidgetAnnotation(e) {
  26693. var _this = _super.call(this, e) || this;
  26694. _this.data.fieldValue = null;
  26695. _this.data.hasOwnCanvas = _this.data.noRotate;
  26696. _this.data.noHTML = !_this.data.hasOwnCanvas;
  26697. return _this;
  26698. }
  26699. SignatureWidgetAnnotation.prototype.getFieldObject = function () { return { id: this.data.id, value: null, page: this.data.pageIndex, type: "signature" }; };
  26700. return SignatureWidgetAnnotation;
  26701. }(WidgetAnnotation));
  26702. var TextAnnotation = /** @class */ (function (_super) {
  26703. tslib_1.__extends(TextAnnotation, _super);
  26704. function TextAnnotation(e) {
  26705. var _this = _super.call(this, e) || this;
  26706. _this.data.noRotate = !0;
  26707. _this.data.hasOwnCanvas = _this.data.noRotate;
  26708. _this.data.noHTML = !1;
  26709. var t = e.dict;
  26710. _this.data.annotationType = S;
  26711. if (_this.data.hasAppearance)
  26712. _this.data.name = "NoIcon";
  26713. else {
  26714. _this.data.rect[1] = _this.data.rect[3] - 22;
  26715. _this.data.rect[2] = _this.data.rect[0] + 22;
  26716. _this.data.name = t.has("Name") ? t.get("Name").name : "Note";
  26717. }
  26718. if (t.has("State")) {
  26719. _this.data.state = t.get("State") || null;
  26720. _this.data.stateModel = t.get("StateModel") || null;
  26721. }
  26722. else {
  26723. _this.data.state = null;
  26724. _this.data.stateModel = null;
  26725. }
  26726. return _this;
  26727. }
  26728. return TextAnnotation;
  26729. }(MarkupAnnotation));
  26730. var LinkAnnotation = /** @class */ (function (_super) {
  26731. tslib_1.__extends(LinkAnnotation, _super);
  26732. function LinkAnnotation(e) {
  26733. var _this = this;
  26734. var _b;
  26735. _this = _super.call(this, e) || this;
  26736. var t = e.dict, i = e.annotationGlobals;
  26737. _this.data.annotationType = k;
  26738. _this.data.noHTML = !1;
  26739. var a = getQuadPoints(t, _this.rectangle);
  26740. a && (_this.data.quadPoints = a);
  26741. (_b = _this.data).borderColor || (_b.borderColor = _this.data.color);
  26742. Catalog.parseDestDictionary({ destDict: t, resultObj: _this.data, docBaseUrl: i.baseUrl, docAttachments: i.attachments });
  26743. return _this;
  26744. }
  26745. return LinkAnnotation;
  26746. }(Annotation));
  26747. var PopupAnnotation = /** @class */ (function (_super) {
  26748. tslib_1.__extends(PopupAnnotation, _super);
  26749. function PopupAnnotation(e) {
  26750. var _this = _super.call(this, e) || this;
  26751. var t = e.dict;
  26752. _this.data.annotationType = q;
  26753. _this.data.noHTML = !1;
  26754. _this.data.rect[0] !== _this.data.rect[2] && _this.data.rect[1] !== _this.data.rect[3] || (_this.data.rect = null);
  26755. var i = t.get("Parent");
  26756. if (!i) {
  26757. warn("Popup annotation has a missing or invalid parent annotation.");
  26758. return _this;
  26759. }
  26760. _this.data.parentRect = lookupNormalRect(i.getArray("Rect"), null);
  26761. isName(i.get("RT"), X) && (i = i.get("IRT"));
  26762. if (i.has("M")) {
  26763. _this.setModificationDate(i.get("M"));
  26764. _this.data.modificationDate = _this.modificationDate;
  26765. }
  26766. else
  26767. _this.data.modificationDate = null;
  26768. if (i.has("C")) {
  26769. _this.setColor(i.getArray("C"));
  26770. _this.data.color = _this.color;
  26771. }
  26772. else
  26773. _this.data.color = null;
  26774. if (!_this.viewable) {
  26775. var e_627 = i.get("F");
  26776. _this._isViewable(e_627) && _this.setFlags(e_627);
  26777. }
  26778. _this.setTitle(i.get("T"));
  26779. _this.data.titleObj = _this._title;
  26780. _this.setContents(i.get("Contents"));
  26781. _this.data.contentsObj = _this._contents;
  26782. i.has("RC") && (_this.data.richText = XFAFactory.getRichTextAsHtml(i.get("RC")));
  26783. _this.data.open = !!t.get("Open");
  26784. return _this;
  26785. }
  26786. return PopupAnnotation;
  26787. }(Annotation));
  26788. var FreeTextAnnotation = /** @class */ (function (_super) {
  26789. tslib_1.__extends(FreeTextAnnotation, _super);
  26790. function FreeTextAnnotation(e) {
  26791. var _this = this;
  26792. var _b;
  26793. _this = _super.call(this, e) || this;
  26794. _this.data.hasOwnCanvas = !_this.data.noHTML;
  26795. _this.data.noHTML = !1;
  26796. var t = e.evaluatorOptions, i = e.xref;
  26797. _this.data.annotationType = R;
  26798. _this.setDefaultAppearance(e);
  26799. _this._hasAppearance = !!_this.appearance;
  26800. if (_this._hasAppearance) {
  26801. var _k = function parseAppearanceStream(e, t, i) { return new AppearanceStreamEvaluator(e, t, i).parse(); }(_this.appearance, t, i), e_628 = _k.fontColor, a_294 = _k.fontSize;
  26802. _this.data.defaultAppearanceData.fontColor = e_628;
  26803. _this.data.defaultAppearanceData.fontSize = a_294 || 10;
  26804. }
  26805. else {
  26806. (_b = _this.data.defaultAppearanceData).fontSize || (_b.fontSize = 10);
  26807. var _l = _this.data.defaultAppearanceData, t_460 = _l.fontColor, a_295 = _l.fontSize;
  26808. if (_this._contents.str) {
  26809. _this.data.textContent = _this._contents.str.split(/\r\n?|\n/).map((function (e) { return e.trimEnd(); }));
  26810. var _m = FakeUnicodeFont.getFirstPositionInfo(_this.rectangle, _this.rotation, a_295), e_629 = _m.coords, t_461 = _m.bbox, i_374 = _m.matrix;
  26811. _this.data.textPosition = _this._transformPoint(e_629, t_461, i_374);
  26812. }
  26813. if (_this._isOffscreenCanvasSupported) {
  26814. var s_200 = e.dict.get("CA"), r_162 = new FakeUnicodeFont(i, "sans-serif");
  26815. _this.appearance = r_162.createAppearance(_this._contents.str, _this.rectangle, _this.rotation, a_295, t_460, s_200);
  26816. _this._streams.push(_this.appearance);
  26817. }
  26818. else
  26819. warn("FreeTextAnnotation: OffscreenCanvas is not supported, annotation may not render correctly.");
  26820. }
  26821. return _this;
  26822. }
  26823. Object.defineProperty(FreeTextAnnotation.prototype, "hasTextContent", {
  26824. get: function () { return this._hasAppearance; },
  26825. enumerable: false,
  26826. configurable: true
  26827. });
  26828. FreeTextAnnotation.createNewDict = function (e, t, _b) {
  26829. var i = _b.apRef, a = _b.ap;
  26830. var s = e.color, r = e.fontSize, n = e.rect, o = e.rotation, g = e.user, c = e.value, h = new Dict(t);
  26831. h.set("Type", Name.get("Annot"));
  26832. h.set("Subtype", Name.get("FreeText"));
  26833. h.set("CreationDate", "D:".concat(getModificationDate()));
  26834. h.set("Rect", n);
  26835. var l = "/Helv ".concat(r, " Tf ").concat(getPdfColor(s, !0));
  26836. h.set("DA", l);
  26837. h.set("Contents", isAscii(c) ? c : stringToUTF16String(c, !0));
  26838. h.set("F", 4);
  26839. h.set("Border", [0, 0, 0]);
  26840. h.set("Rotate", o);
  26841. g && h.set("T", isAscii(g) ? g : stringToUTF16String(g, !0));
  26842. if (i || a) {
  26843. var e_630 = new Dict(t);
  26844. h.set("AP", e_630);
  26845. i ? e_630.set("N", i) : e_630.set("N", a);
  26846. }
  26847. return h;
  26848. };
  26849. FreeTextAnnotation.createNewAppearanceStream = function (e, t, i) {
  26850. return tslib_1.__awaiter(this, void 0, void 0, function () {
  26851. var a, r, n, o, g, c, h, l, C, Q, e_631, E, u, d, f, p, m, y, w, b, D, F, _b, w_5, e_632, t_462, i_375, a_297, _k, a_296, e_633, S, k, R, N, G, x, M, U, L, J, H, e_634, t_463, t_464, Y, v, K;
  26852. var _l;
  26853. return tslib_1.__generator(this, function (_m) {
  26854. switch (_m.label) {
  26855. case 0:
  26856. a = i.baseFontRef, r = i.evaluator, n = i.task, o = e.color, g = e.fontSize, c = e.rect, h = e.rotation, l = e.value, C = new Dict(t), Q = new Dict(t);
  26857. if (a)
  26858. Q.set("Helv", a);
  26859. else {
  26860. e_631 = new Dict(t);
  26861. e_631.set("BaseFont", Name.get("Helvetica"));
  26862. e_631.set("Type", Name.get("Font"));
  26863. e_631.set("Subtype", Name.get("Type1"));
  26864. e_631.set("Encoding", Name.get("WinAnsiEncoding"));
  26865. Q.set("Helv", e_631);
  26866. }
  26867. C.set("Font", Q);
  26868. return [4 /*yield*/, WidgetAnnotation._getFontData(r, n, { fontName: "Helv", fontSize: g }, C)];
  26869. case 1:
  26870. E = _m.sent(), u = c[0], d = c[1], f = c[2], p = c[3];
  26871. m = f - u, y = p - d;
  26872. h % 180 != 0 && (_l = [y, m], m = _l[0], y = _l[1], _l);
  26873. w = l.split("\n"), b = g / 1e3;
  26874. D = -1 / 0;
  26875. F = [];
  26876. for (_b = 0, w_5 = w; _b < w_5.length; _b++) {
  26877. e_632 = w_5[_b];
  26878. t_462 = E.encodeString(e_632);
  26879. if (t_462.length > 1)
  26880. return [2 /*return*/, null];
  26881. e_632 = t_462.join("");
  26882. F.push(e_632);
  26883. i_375 = 0;
  26884. a_297 = E.charsToGlyphs(e_632);
  26885. for (_k = 0, a_296 = a_297; _k < a_296.length; _k++) {
  26886. e_633 = a_296[_k];
  26887. i_375 += e_633.width * b;
  26888. }
  26889. D = Math.max(D, i_375);
  26890. }
  26891. S = 1;
  26892. D > m && (S = m / D);
  26893. k = 1;
  26894. R = s * g, N = 1 * g, G = R * w.length;
  26895. G > y && (k = y / G);
  26896. x = g * Math.min(S, k);
  26897. switch (h) {
  26898. case 0:
  26899. L = [1, 0, 0, 1];
  26900. U = [c[0], c[1], m, y];
  26901. M = [c[0], c[3] - N];
  26902. break;
  26903. case 90:
  26904. L = [0, 1, -1, 0];
  26905. U = [c[1], -c[2], m, y];
  26906. M = [c[1], -c[0] - N];
  26907. break;
  26908. case 180:
  26909. L = [-1, 0, 0, -1];
  26910. U = [-c[2], -c[3], m, y];
  26911. M = [-c[2], -c[1] - N];
  26912. break;
  26913. case 270:
  26914. L = [0, -1, 1, 0];
  26915. U = [-c[3], c[0], m, y];
  26916. M = [-c[3], c[2] - N];
  26917. }
  26918. J = ["q", "".concat(L.join(" "), " 0 0 cm"), "".concat(U.join(" "), " re W n"), "BT", "".concat(getPdfColor(o, !0)), "0 Tc /Helv ".concat(numberToString(x), " Tf")];
  26919. J.push("".concat(M.join(" "), " Td (").concat(escapeString(F[0]), ") Tj"));
  26920. H = numberToString(R);
  26921. for (e_634 = 1, t_463 = F.length; e_634 < t_463; e_634++) {
  26922. t_464 = F[e_634];
  26923. J.push("0 -".concat(H, " Td (").concat(escapeString(t_464), ") Tj"));
  26924. }
  26925. J.push("ET", "Q");
  26926. Y = J.join("\n"), v = new Dict(t);
  26927. v.set("FormType", 1);
  26928. v.set("Subtype", Name.get("Form"));
  26929. v.set("Type", Name.get("XObject"));
  26930. v.set("BBox", c);
  26931. v.set("Resources", C);
  26932. v.set("Matrix", [1, 0, 0, 1, -c[0], -c[1]]);
  26933. K = new StringStream(Y);
  26934. K.dict = v;
  26935. return [2 /*return*/, K];
  26936. }
  26937. });
  26938. });
  26939. };
  26940. return FreeTextAnnotation;
  26941. }(MarkupAnnotation));
  26942. var LineAnnotation = /** @class */ (function (_super) {
  26943. tslib_1.__extends(LineAnnotation, _super);
  26944. function LineAnnotation(e) {
  26945. var _this = _super.call(this, e) || this;
  26946. var t = e.dict, i = e.xref;
  26947. _this.data.annotationType = N;
  26948. _this.data.hasOwnCanvas = _this.data.noRotate;
  26949. _this.data.noHTML = !1;
  26950. var a = lookupRect(t.getArray("L"), [0, 0, 0, 0]);
  26951. _this.data.lineCoordinates = Util.normalizeRect(a);
  26952. _this.setLineEndings(t.getArray("LE"));
  26953. _this.data.lineEndings = _this.lineEndings;
  26954. if (!_this.appearance) {
  26955. var e_635 = _this.color ? getPdfColorArray(_this.color) : [0, 0, 0], s_201 = t.get("CA"), r_163 = getRgbColor(t.getArray("IC"), null), n_106 = r_163 ? getPdfColorArray(r_163) : null, o_78 = n_106 ? s_201 : null, g_58 = _this.borderStyle.width || 1, c_50 = 2 * g_58, h_37 = [_this.data.lineCoordinates[0] - c_50, _this.data.lineCoordinates[1] - c_50, _this.data.lineCoordinates[2] + c_50, _this.data.lineCoordinates[3] + c_50];
  26956. Util.intersect(_this.rectangle, h_37) || (_this.rectangle = h_37);
  26957. _this._setDefaultAppearance({ xref: i, extra: "".concat(g_58, " w"), strokeColor: e_635, fillColor: n_106, strokeAlpha: s_201, fillAlpha: o_78, pointsCallback: function (e, t) { e.push("".concat(a[0], " ").concat(a[1], " m"), "".concat(a[2], " ").concat(a[3], " l"), "S"); return [t[0].x - g_58, t[1].x + g_58, t[3].y - g_58, t[1].y + g_58]; } });
  26958. }
  26959. return _this;
  26960. }
  26961. return LineAnnotation;
  26962. }(MarkupAnnotation));
  26963. var SquareAnnotation = /** @class */ (function (_super) {
  26964. tslib_1.__extends(SquareAnnotation, _super);
  26965. function SquareAnnotation(e) {
  26966. var _this = _super.call(this, e) || this;
  26967. var t = e.dict, i = e.xref;
  26968. _this.data.annotationType = G;
  26969. _this.data.hasOwnCanvas = _this.data.noRotate;
  26970. _this.data.noHTML = !1;
  26971. if (!_this.appearance) {
  26972. var e_636 = _this.color ? getPdfColorArray(_this.color) : [0, 0, 0], a_298 = t.get("CA"), s_202 = getRgbColor(t.getArray("IC"), null), r_164 = s_202 ? getPdfColorArray(s_202) : null, n_107 = r_164 ? a_298 : null;
  26973. if (0 === _this.borderStyle.width && !r_164)
  26974. return _this;
  26975. _this._setDefaultAppearance({ xref: i, extra: "".concat(_this.borderStyle.width, " w"), strokeColor: e_636, fillColor: r_164, strokeAlpha: a_298, fillAlpha: n_107, pointsCallback: function (e, t) { var i = t[2].x + _this.borderStyle.width / 2, a = t[2].y + _this.borderStyle.width / 2, s = t[3].x - t[2].x - _this.borderStyle.width, n = t[1].y - t[3].y - _this.borderStyle.width; e.push("".concat(i, " ").concat(a, " ").concat(s, " ").concat(n, " re")); r_164 ? e.push("B") : e.push("S"); return [t[0].x, t[1].x, t[3].y, t[1].y]; } });
  26976. }
  26977. return _this;
  26978. }
  26979. return SquareAnnotation;
  26980. }(MarkupAnnotation));
  26981. var CircleAnnotation = /** @class */ (function (_super) {
  26982. tslib_1.__extends(CircleAnnotation, _super);
  26983. function CircleAnnotation(e) {
  26984. var _this = _super.call(this, e) || this;
  26985. var t = e.dict, i = e.xref;
  26986. _this.data.annotationType = x;
  26987. if (!_this.appearance) {
  26988. var e_637 = _this.color ? getPdfColorArray(_this.color) : [0, 0, 0], a_299 = t.get("CA"), s_203 = getRgbColor(t.getArray("IC"), null), r_165 = s_203 ? getPdfColorArray(s_203) : null, n_108 = r_165 ? a_299 : null;
  26989. if (0 === _this.borderStyle.width && !r_165)
  26990. return _this;
  26991. var o_79 = 4 / 3 * Math.tan(Math.PI / 8);
  26992. _this._setDefaultAppearance({ xref: i, extra: "".concat(_this.borderStyle.width, " w"), strokeColor: e_637, fillColor: r_165, strokeAlpha: a_299, fillAlpha: n_108, pointsCallback: function (e, t) { var i = t[0].x + _this.borderStyle.width / 2, a = t[0].y - _this.borderStyle.width / 2, s = t[3].x - _this.borderStyle.width / 2, n = t[3].y + _this.borderStyle.width / 2, g = i + (s - i) / 2, c = a + (n - a) / 2, h = (s - i) / 2 * o_79, l = (n - a) / 2 * o_79; e.push("".concat(g, " ").concat(n, " m"), "".concat(g + h, " ").concat(n, " ").concat(s, " ").concat(c + l, " ").concat(s, " ").concat(c, " c"), "".concat(s, " ").concat(c - l, " ").concat(g + h, " ").concat(a, " ").concat(g, " ").concat(a, " c"), "".concat(g - h, " ").concat(a, " ").concat(i, " ").concat(c - l, " ").concat(i, " ").concat(c, " c"), "".concat(i, " ").concat(c + l, " ").concat(g - h, " ").concat(n, " ").concat(g, " ").concat(n, " c"), "h"); r_165 ? e.push("B") : e.push("S"); return [t[0].x, t[1].x, t[3].y, t[1].y]; } });
  26993. }
  26994. return _this;
  26995. }
  26996. return CircleAnnotation;
  26997. }(MarkupAnnotation));
  26998. var PolylineAnnotation = /** @class */ (function (_super) {
  26999. tslib_1.__extends(PolylineAnnotation, _super);
  27000. function PolylineAnnotation(e) {
  27001. var _this = _super.call(this, e) || this;
  27002. var t = e.dict, i = e.xref;
  27003. _this.data.annotationType = U;
  27004. _this.data.hasOwnCanvas = _this.data.noRotate;
  27005. _this.data.noHTML = !1;
  27006. _this.data.vertices = [];
  27007. if (!(_this instanceof PolygonAnnotation)) {
  27008. _this.setLineEndings(t.getArray("LE"));
  27009. _this.data.lineEndings = _this.lineEndings;
  27010. }
  27011. var a = t.getArray("Vertices");
  27012. if (isNumberArray(a, null)) {
  27013. for (var e_638 = 0, t_465 = a.length; e_638 < t_465; e_638 += 2)
  27014. _this.data.vertices.push({ x: a[e_638], y: a[e_638 + 1] });
  27015. if (!_this.appearance) {
  27016. var e_639 = _this.color ? getPdfColorArray(_this.color) : [0, 0, 0], a_300 = t.get("CA"), s_204 = _this.borderStyle.width || 1, r_166 = 2 * s_204, n_109 = [1 / 0, 1 / 0, -1 / 0, -1 / 0];
  27017. for (var _b = 0, _k = _this.data.vertices; _b < _k.length; _b++) {
  27018. var e_640 = _k[_b];
  27019. n_109[0] = Math.min(n_109[0], e_640.x - r_166);
  27020. n_109[1] = Math.min(n_109[1], e_640.y - r_166);
  27021. n_109[2] = Math.max(n_109[2], e_640.x + r_166);
  27022. n_109[3] = Math.max(n_109[3], e_640.y + r_166);
  27023. }
  27024. Util.intersect(_this.rectangle, n_109) || (_this.rectangle = n_109);
  27025. _this._setDefaultAppearance({ xref: i, extra: "".concat(s_204, " w"), strokeColor: e_639, strokeAlpha: a_300, pointsCallback: function (e, t) { var i = _this.data.vertices; for (var t_466 = 0, a_301 = i.length; t_466 < a_301; t_466++)
  27026. e.push("".concat(i[t_466].x, " ").concat(i[t_466].y, " ").concat(0 === t_466 ? "m" : "l")); e.push("S"); return [t[0].x, t[1].x, t[3].y, t[1].y]; } });
  27027. }
  27028. }
  27029. return _this;
  27030. }
  27031. return PolylineAnnotation;
  27032. }(MarkupAnnotation));
  27033. var PolygonAnnotation = /** @class */ (function (_super) {
  27034. tslib_1.__extends(PolygonAnnotation, _super);
  27035. function PolygonAnnotation(e) {
  27036. var _this = _super.call(this, e) || this;
  27037. _this.data.annotationType = M;
  27038. return _this;
  27039. }
  27040. return PolygonAnnotation;
  27041. }(PolylineAnnotation));
  27042. var CaretAnnotation = /** @class */ (function (_super) {
  27043. tslib_1.__extends(CaretAnnotation, _super);
  27044. function CaretAnnotation(e) {
  27045. var _this = _super.call(this, e) || this;
  27046. _this.data.annotationType = K;
  27047. return _this;
  27048. }
  27049. return CaretAnnotation;
  27050. }(MarkupAnnotation));
  27051. var InkAnnotation = /** @class */ (function (_super) {
  27052. tslib_1.__extends(InkAnnotation, _super);
  27053. function InkAnnotation(e) {
  27054. var _this = _super.call(this, e) || this;
  27055. _this.data.hasOwnCanvas = _this.data.noRotate;
  27056. _this.data.noHTML = !1;
  27057. var t = e.dict, i = e.xref;
  27058. _this.data.annotationType = T;
  27059. _this.data.inkLists = [];
  27060. var a = t.getArray("InkList");
  27061. if (Array.isArray(a)) {
  27062. for (var e_642 = 0, t_467 = a.length; e_642 < t_467; ++e_642) {
  27063. _this.data.inkLists.push([]);
  27064. if (Array.isArray(a[e_642]))
  27065. for (var t_468 = 0, s_205 = a[e_642].length; t_468 < s_205; t_468 += 2) {
  27066. var s_206 = i.fetchIfRef(a[e_642][t_468]), r_167 = i.fetchIfRef(a[e_642][t_468 + 1]);
  27067. "number" == typeof s_206 && "number" == typeof r_167 && _this.data.inkLists[e_642].push({ x: s_206, y: r_167 });
  27068. }
  27069. }
  27070. if (!_this.appearance) {
  27071. var e_643 = _this.color ? getPdfColorArray(_this.color) : [0, 0, 0], a_302 = t.get("CA"), s_207 = _this.borderStyle.width || 1, r_168 = 2 * s_207, n_110 = [1 / 0, 1 / 0, -1 / 0, -1 / 0];
  27072. for (var _b = 0, _k = _this.data.inkLists; _b < _k.length; _b++) {
  27073. var e_644 = _k[_b];
  27074. for (var _l = 0, e_641 = e_644; _l < e_641.length; _l++) {
  27075. var t_469 = e_641[_l];
  27076. n_110[0] = Math.min(n_110[0], t_469.x - r_168);
  27077. n_110[1] = Math.min(n_110[1], t_469.y - r_168);
  27078. n_110[2] = Math.max(n_110[2], t_469.x + r_168);
  27079. n_110[3] = Math.max(n_110[3], t_469.y + r_168);
  27080. }
  27081. }
  27082. Util.intersect(_this.rectangle, n_110) || (_this.rectangle = n_110);
  27083. _this._setDefaultAppearance({ xref: i, extra: "".concat(s_207, " w"), strokeColor: e_643, strokeAlpha: a_302, pointsCallback: function (e, t) { for (var _b = 0, _k = _this.data.inkLists; _b < _k.length; _b++) {
  27084. var t_470 = _k[_b];
  27085. for (var i_376 = 0, a_303 = t_470.length; i_376 < a_303; i_376++)
  27086. e.push("".concat(t_470[i_376].x, " ").concat(t_470[i_376].y, " ").concat(0 === i_376 ? "m" : "l"));
  27087. e.push("S");
  27088. } return [t[0].x, t[1].x, t[3].y, t[1].y]; } });
  27089. }
  27090. }
  27091. return _this;
  27092. }
  27093. InkAnnotation.createNewDict = function (e, t, _b) {
  27094. var i = _b.apRef, a = _b.ap;
  27095. var s = e.color, r = e.opacity, n = e.paths, o = e.outlines, g = e.rect, c = e.rotation, h = e.thickness, l = new Dict(t);
  27096. l.set("Type", Name.get("Annot"));
  27097. l.set("Subtype", Name.get("Ink"));
  27098. l.set("CreationDate", "D:".concat(getModificationDate()));
  27099. l.set("Rect", g);
  27100. l.set("InkList", (o === null || o === void 0 ? void 0 : o.points) || n.map((function (e) { return e.points; })));
  27101. l.set("F", 4);
  27102. l.set("Rotate", c);
  27103. o && l.set("IT", Name.get("InkHighlight"));
  27104. var C = new Dict(t);
  27105. l.set("BS", C);
  27106. C.set("W", h);
  27107. l.set("C", Array.from(s, (function (e) { return e / 255; })));
  27108. l.set("CA", r);
  27109. var Q = new Dict(t);
  27110. l.set("AP", Q);
  27111. i ? Q.set("N", i) : Q.set("N", a);
  27112. return l;
  27113. };
  27114. InkAnnotation.createNewAppearanceStream = function (e, t, i) {
  27115. return tslib_1.__awaiter(this, void 0, void 0, function () { var a, s, r, n, o, g, c, _b, r_169, e_645, t_471, i_377, i_378, h, l, e_646, i_379, a_304, C; return tslib_1.__generator(this, function (_k) {
  27116. if (e.outlines)
  27117. return [2 /*return*/, this.createNewAppearanceStreamForHighlight(e, t, i)];
  27118. a = e.color, s = e.rect, r = e.paths, n = e.thickness, o = e.opacity, g = ["".concat(n, " w 1 J 1 j"), "".concat(getPdfColor(a, !1))];
  27119. 1 !== o && g.push("/R0 gs");
  27120. c = [];
  27121. for (_b = 0, r_169 = r; _b < r_169.length; _b++) {
  27122. e_645 = r_169[_b].bezier;
  27123. c.length = 0;
  27124. c.push("".concat(numberToString(e_645[0]), " ").concat(numberToString(e_645[1]), " m"));
  27125. if (2 === e_645.length)
  27126. c.push("".concat(numberToString(e_645[0]), " ").concat(numberToString(e_645[1]), " l S"));
  27127. else {
  27128. for (t_471 = 2, i_377 = e_645.length; t_471 < i_377; t_471 += 6) {
  27129. i_378 = e_645.slice(t_471, t_471 + 6).map(numberToString).join(" ");
  27130. c.push("".concat(i_378, " c"));
  27131. }
  27132. c.push("S");
  27133. }
  27134. g.push(c.join("\n"));
  27135. }
  27136. h = g.join("\n"), l = new Dict(t);
  27137. l.set("FormType", 1);
  27138. l.set("Subtype", Name.get("Form"));
  27139. l.set("Type", Name.get("XObject"));
  27140. l.set("BBox", s);
  27141. l.set("Length", h.length);
  27142. if (1 !== o) {
  27143. e_646 = new Dict(t), i_379 = new Dict(t), a_304 = new Dict(t);
  27144. a_304.set("CA", o);
  27145. a_304.set("Type", Name.get("ExtGState"));
  27146. i_379.set("R0", a_304);
  27147. e_646.set("ExtGState", i_379);
  27148. l.set("Resources", e_646);
  27149. }
  27150. C = new StringStream(h);
  27151. C.dict = l;
  27152. return [2 /*return*/, C];
  27153. }); });
  27154. };
  27155. InkAnnotation.createNewAppearanceStreamForHighlight = function (e, t, i) {
  27156. return tslib_1.__awaiter(this, void 0, void 0, function () { var a, s, r, n, o, e_647, t_472, t_473, g, c, h, l, C, Q; return tslib_1.__generator(this, function (_b) {
  27157. a = e.color, s = e.rect, r = e.outlines.outline, n = e.opacity, o = ["".concat(getPdfColor(a, !0)), "/R0 gs"];
  27158. o.push("".concat(numberToString(r[4]), " ").concat(numberToString(r[5]), " m"));
  27159. for (e_647 = 6, t_472 = r.length; e_647 < t_472; e_647 += 6)
  27160. if (isNaN(r[e_647]) || null === r[e_647])
  27161. o.push("".concat(numberToString(r[e_647 + 4]), " ").concat(numberToString(r[e_647 + 5]), " l"));
  27162. else {
  27163. t_473 = r.slice(e_647, e_647 + 6).map(numberToString).join(" ");
  27164. o.push("".concat(t_473, " c"));
  27165. }
  27166. o.push("h f");
  27167. g = o.join("\n"), c = new Dict(t);
  27168. c.set("FormType", 1);
  27169. c.set("Subtype", Name.get("Form"));
  27170. c.set("Type", Name.get("XObject"));
  27171. c.set("BBox", s);
  27172. c.set("Length", g.length);
  27173. h = new Dict(t), l = new Dict(t);
  27174. h.set("ExtGState", l);
  27175. c.set("Resources", h);
  27176. C = new Dict(t);
  27177. l.set("R0", C);
  27178. C.set("BM", Name.get("Multiply"));
  27179. if (1 !== n) {
  27180. C.set("ca", n);
  27181. C.set("Type", Name.get("ExtGState"));
  27182. }
  27183. Q = new StringStream(g);
  27184. Q.dict = c;
  27185. return [2 /*return*/, Q];
  27186. }); });
  27187. };
  27188. return InkAnnotation;
  27189. }(MarkupAnnotation));
  27190. var HighlightAnnotation = /** @class */ (function (_super) {
  27191. tslib_1.__extends(HighlightAnnotation, _super);
  27192. function HighlightAnnotation(e) {
  27193. var _this = this;
  27194. var _b;
  27195. _this = _super.call(this, e) || this;
  27196. var t = e.dict, i = e.xref;
  27197. _this.data.annotationType = L;
  27198. if (_this.data.quadPoints = getQuadPoints(t, null)) {
  27199. var e_648 = (_b = _this.appearance) === null || _b === void 0 ? void 0 : _b.dict.get("Resources");
  27200. if (!_this.appearance || !(e_648 === null || e_648 === void 0 ? void 0 : e_648.has("ExtGState"))) {
  27201. _this.appearance && warn("HighlightAnnotation - ignoring built-in appearance stream.");
  27202. var e_649 = _this.color ? getPdfColorArray(_this.color) : [1, 1, 0], a_305 = t.get("CA");
  27203. _this._setDefaultAppearance({ xref: i, fillColor: e_649, blendMode: "Multiply", fillAlpha: a_305, pointsCallback: function (e, t) { e.push("".concat(t[0].x, " ").concat(t[0].y, " m"), "".concat(t[1].x, " ").concat(t[1].y, " l"), "".concat(t[3].x, " ").concat(t[3].y, " l"), "".concat(t[2].x, " ").concat(t[2].y, " l"), "f"); return [t[0].x, t[1].x, t[3].y, t[1].y]; } });
  27204. }
  27205. }
  27206. else
  27207. _this.data.popupRef = null;
  27208. return _this;
  27209. }
  27210. HighlightAnnotation.createNewDict = function (e, t, _b) {
  27211. var i = _b.apRef, a = _b.ap;
  27212. var s = e.color, r = e.opacity, n = e.rect, o = e.rotation, g = e.user, c = e.quadPoints, h = new Dict(t);
  27213. h.set("Type", Name.get("Annot"));
  27214. h.set("Subtype", Name.get("Highlight"));
  27215. h.set("CreationDate", "D:".concat(getModificationDate()));
  27216. h.set("Rect", n);
  27217. h.set("F", 4);
  27218. h.set("Border", [0, 0, 0]);
  27219. h.set("Rotate", o);
  27220. h.set("QuadPoints", c);
  27221. h.set("C", Array.from(s, (function (e) { return e / 255; })));
  27222. h.set("CA", r);
  27223. g && h.set("T", isAscii(g) ? g : stringToUTF16String(g, !0));
  27224. if (i || a) {
  27225. var e_650 = new Dict(t);
  27226. h.set("AP", e_650);
  27227. e_650.set("N", i || a);
  27228. }
  27229. return h;
  27230. };
  27231. HighlightAnnotation.createNewAppearanceStream = function (e, t, i) {
  27232. return tslib_1.__awaiter(this, void 0, void 0, function () { var a, s, r, n, o, g, _b, r_170, e_651, t_474, i_380, c, h, l, C, Q, E; return tslib_1.__generator(this, function (_k) {
  27233. a = e.color, s = e.rect, r = e.outlines, n = e.opacity, o = ["".concat(getPdfColor(a, !0)), "/R0 gs"], g = [];
  27234. for (_b = 0, r_170 = r; _b < r_170.length; _b++) {
  27235. e_651 = r_170[_b];
  27236. g.length = 0;
  27237. g.push("".concat(numberToString(e_651[0]), " ").concat(numberToString(e_651[1]), " m"));
  27238. for (t_474 = 2, i_380 = e_651.length; t_474 < i_380; t_474 += 2)
  27239. g.push("".concat(numberToString(e_651[t_474]), " ").concat(numberToString(e_651[t_474 + 1]), " l"));
  27240. g.push("h");
  27241. o.push(g.join("\n"));
  27242. }
  27243. o.push("f*");
  27244. c = o.join("\n"), h = new Dict(t);
  27245. h.set("FormType", 1);
  27246. h.set("Subtype", Name.get("Form"));
  27247. h.set("Type", Name.get("XObject"));
  27248. h.set("BBox", s);
  27249. h.set("Length", c.length);
  27250. l = new Dict(t), C = new Dict(t);
  27251. l.set("ExtGState", C);
  27252. h.set("Resources", l);
  27253. Q = new Dict(t);
  27254. C.set("R0", Q);
  27255. Q.set("BM", Name.get("Multiply"));
  27256. if (1 !== n) {
  27257. Q.set("ca", n);
  27258. Q.set("Type", Name.get("ExtGState"));
  27259. }
  27260. E = new StringStream(c);
  27261. E.dict = h;
  27262. return [2 /*return*/, E];
  27263. }); });
  27264. };
  27265. return HighlightAnnotation;
  27266. }(MarkupAnnotation));
  27267. var UnderlineAnnotation = /** @class */ (function (_super) {
  27268. tslib_1.__extends(UnderlineAnnotation, _super);
  27269. function UnderlineAnnotation(e) {
  27270. var _this = _super.call(this, e) || this;
  27271. var t = e.dict, i = e.xref;
  27272. _this.data.annotationType = J;
  27273. if (_this.data.quadPoints = getQuadPoints(t, null)) {
  27274. if (!_this.appearance) {
  27275. var e_652 = _this.color ? getPdfColorArray(_this.color) : [0, 0, 0], a_306 = t.get("CA");
  27276. _this._setDefaultAppearance({ xref: i, extra: "[] 0 d 0.571 w", strokeColor: e_652, strokeAlpha: a_306, pointsCallback: function (e, t) { e.push("".concat(t[2].x, " ").concat(t[2].y + 1.3, " m"), "".concat(t[3].x, " ").concat(t[3].y + 1.3, " l"), "S"); return [t[0].x, t[1].x, t[3].y, t[1].y]; } });
  27277. }
  27278. }
  27279. else
  27280. _this.data.popupRef = null;
  27281. return _this;
  27282. }
  27283. return UnderlineAnnotation;
  27284. }(MarkupAnnotation));
  27285. var SquigglyAnnotation = /** @class */ (function (_super) {
  27286. tslib_1.__extends(SquigglyAnnotation, _super);
  27287. function SquigglyAnnotation(e) {
  27288. var _this = _super.call(this, e) || this;
  27289. var t = e.dict, i = e.xref;
  27290. _this.data.annotationType = H;
  27291. if (_this.data.quadPoints = getQuadPoints(t, null)) {
  27292. if (!_this.appearance) {
  27293. var e_653 = _this.color ? getPdfColorArray(_this.color) : [0, 0, 0], a_307 = t.get("CA");
  27294. _this._setDefaultAppearance({ xref: i, extra: "[] 0 d 1 w", strokeColor: e_653, strokeAlpha: a_307, pointsCallback: function (e, t) { var i = (t[0].y - t[2].y) / 6; var a = i, s = t[2].x; var r = t[2].y, n = t[3].x; e.push("".concat(s, " ").concat(r + a, " m")); do {
  27295. s += 2;
  27296. a = 0 === a ? i : 0;
  27297. e.push("".concat(s, " ").concat(r + a, " l"));
  27298. } while (s < n); e.push("S"); return [t[2].x, n, r - 2 * i, r + 2 * i]; } });
  27299. }
  27300. }
  27301. else
  27302. _this.data.popupRef = null;
  27303. return _this;
  27304. }
  27305. return SquigglyAnnotation;
  27306. }(MarkupAnnotation));
  27307. var StrikeOutAnnotation = /** @class */ (function (_super) {
  27308. tslib_1.__extends(StrikeOutAnnotation, _super);
  27309. function StrikeOutAnnotation(e) {
  27310. var _this = _super.call(this, e) || this;
  27311. var t = e.dict, i = e.xref;
  27312. _this.data.annotationType = Y;
  27313. if (_this.data.quadPoints = getQuadPoints(t, null)) {
  27314. if (!_this.appearance) {
  27315. var e_654 = _this.color ? getPdfColorArray(_this.color) : [0, 0, 0], a_308 = t.get("CA");
  27316. _this._setDefaultAppearance({ xref: i, extra: "[] 0 d 1 w", strokeColor: e_654, strokeAlpha: a_308, pointsCallback: function (e, t) { e.push((t[0].x + t[2].x) / 2 + " " + (t[0].y + t[2].y) / 2 + " m", (t[1].x + t[3].x) / 2 + " " + (t[1].y + t[3].y) / 2 + " l", "S"); return [t[0].x, t[1].x, t[3].y, t[1].y]; } });
  27317. }
  27318. }
  27319. else
  27320. _this.data.popupRef = null;
  27321. return _this;
  27322. }
  27323. return StrikeOutAnnotation;
  27324. }(MarkupAnnotation));
  27325. var StampAnnotation = /** @class */ (function (_super) {
  27326. tslib_1.__extends(StampAnnotation, _super);
  27327. function StampAnnotation(e) {
  27328. var _this = _super.call(this, e) || this;
  27329. _this.data.annotationType = v;
  27330. _this.data.hasOwnCanvas = _this.data.noRotate;
  27331. _this.data.noHTML = !1;
  27332. return _this;
  27333. }
  27334. StampAnnotation.createImage = function (e, t) {
  27335. return tslib_1.__awaiter(this, void 0, void 0, function () {
  27336. var i, a, s, r, n, o, g, c, h, l, C, Q, e_655, t_475, i_381, t_476, i_382, s_208, _b;
  27337. var _k;
  27338. return tslib_1.__generator(this, function (_l) {
  27339. switch (_l.label) {
  27340. case 0:
  27341. i = e.width, a = e.height, s = new OffscreenCanvas(i, a), r = s.getContext("2d", { alpha: !0 });
  27342. r.drawImage(e, 0, 0);
  27343. n = r.getImageData(0, 0, i, a).data, o = new Uint32Array(n.buffer), g = o.some(FeatureTest.isLittleEndian ? function (e) { return e >>> 24 != 255; } : function (e) { return 255 != (255 & e); });
  27344. if (g) {
  27345. r.fillStyle = "white";
  27346. r.fillRect(0, 0, i, a);
  27347. r.drawImage(e, 0, 0);
  27348. }
  27349. c = s.convertToBlob({ type: "image/jpeg", quality: 1 }).then((function (e) { return e.arrayBuffer(); })), h = Name.get("XObject"), l = Name.get("Image"), C = new Dict(t);
  27350. C.set("Type", h);
  27351. C.set("Subtype", l);
  27352. C.set("BitsPerComponent", 8);
  27353. C.set("ColorSpace", Name.get("DeviceRGB"));
  27354. C.set("Filter", Name.get("DCTDecode"));
  27355. C.set("BBox", [0, 0, i, a]);
  27356. C.set("Width", i);
  27357. C.set("Height", a);
  27358. Q = null;
  27359. if (g) {
  27360. e_655 = new Uint8Array(o.length);
  27361. if (FeatureTest.isLittleEndian)
  27362. for (t_475 = 0, i_381 = o.length; t_475 < i_381; t_475++)
  27363. e_655[t_475] = o[t_475] >>> 24;
  27364. else
  27365. for (t_476 = 0, i_382 = o.length; t_476 < i_382; t_476++)
  27366. e_655[t_476] = 255 & o[t_476];
  27367. s_208 = new Dict(t);
  27368. s_208.set("Type", h);
  27369. s_208.set("Subtype", l);
  27370. s_208.set("BitsPerComponent", 8);
  27371. s_208.set("ColorSpace", Name.get("DeviceGray"));
  27372. s_208.set("Width", i);
  27373. s_208.set("Height", a);
  27374. Q = new Stream(e_655, 0, 0, s_208);
  27375. }
  27376. _k = {};
  27377. _b = Stream.bind;
  27378. return [4 /*yield*/, c];
  27379. case 1: return [2 /*return*/, (_k.imageStream = new (_b.apply(Stream, [void 0, _l.sent(), 0, 0, C]))(), _k.smaskStream = Q, _k.width = i, _k.height = a, _k)];
  27380. }
  27381. });
  27382. });
  27383. };
  27384. StampAnnotation.createNewDict = function (e, t, _b) {
  27385. var i = _b.apRef, a = _b.ap;
  27386. var s = e.rect, r = e.rotation, n = e.user, o = new Dict(t);
  27387. o.set("Type", Name.get("Annot"));
  27388. o.set("Subtype", Name.get("Stamp"));
  27389. o.set("CreationDate", "D:".concat(getModificationDate()));
  27390. o.set("Rect", s);
  27391. o.set("F", 4);
  27392. o.set("Border", [0, 0, 0]);
  27393. o.set("Rotate", r);
  27394. n && o.set("T", isAscii(n) ? n : stringToUTF16String(n, !0));
  27395. if (i || a) {
  27396. var e_656 = new Dict(t);
  27397. o.set("AP", e_656);
  27398. i ? e_656.set("N", i) : e_656.set("N", a);
  27399. }
  27400. return o;
  27401. };
  27402. StampAnnotation.createNewAppearanceStream = function (e, t, i) {
  27403. return tslib_1.__awaiter(this, void 0, void 0, function () { var a, _b, s, r, n, o, g, c, h, e_657, l; return tslib_1.__generator(this, function (_k) {
  27404. a = e.rotation, _b = i.image, s = _b.imageRef, r = _b.width, n = _b.height, o = new Dict(t), g = new Dict(t);
  27405. o.set("XObject", g);
  27406. g.set("Im0", s);
  27407. c = "q ".concat(r, " 0 0 ").concat(n, " 0 0 cm /Im0 Do Q"), h = new Dict(t);
  27408. h.set("FormType", 1);
  27409. h.set("Subtype", Name.get("Form"));
  27410. h.set("Type", Name.get("XObject"));
  27411. h.set("BBox", [0, 0, r, n]);
  27412. h.set("Resources", o);
  27413. if (a) {
  27414. e_657 = getRotationMatrix(a, r, n);
  27415. h.set("Matrix", e_657);
  27416. }
  27417. l = new StringStream(c);
  27418. l.dict = h;
  27419. return [2 /*return*/, l];
  27420. }); });
  27421. };
  27422. return StampAnnotation;
  27423. }(MarkupAnnotation));
  27424. var FileAttachmentAnnotation = /** @class */ (function (_super) {
  27425. tslib_1.__extends(FileAttachmentAnnotation, _super);
  27426. function FileAttachmentAnnotation(e) {
  27427. var _this = _super.call(this, e) || this;
  27428. var t = e.dict, i = e.xref, a = new FileSpec(t.get("FS"), i);
  27429. _this.data.annotationType = O;
  27430. _this.data.hasOwnCanvas = _this.data.noRotate;
  27431. _this.data.noHTML = !1;
  27432. _this.data.file = a.serializable;
  27433. var s = t.get("Name");
  27434. _this.data.name = s instanceof Name ? stringToPDFString(s.name) : "PushPin";
  27435. var r = t.get("ca");
  27436. _this.data.fillAlpha = "number" == typeof r && r >= 0 && r <= 1 ? r : null;
  27437. return _this;
  27438. }
  27439. return FileAttachmentAnnotation;
  27440. }(MarkupAnnotation));
  27441. function decodeString(e) { try {
  27442. return stringToUTF8String(e);
  27443. }
  27444. catch (t) {
  27445. warn("UTF-8 decoding failed: \"".concat(t, "\"."));
  27446. return e;
  27447. } }
  27448. var DatasetXMLParser = /** @class */ (function (_super) {
  27449. tslib_1.__extends(DatasetXMLParser, _super);
  27450. function DatasetXMLParser(e) {
  27451. var _this = _super.call(this, e) || this;
  27452. _this.node = null;
  27453. return _this;
  27454. }
  27455. DatasetXMLParser.prototype.onEndElement = function (e) { var t = _super.prototype.onEndElement.call(this, e); if (t && "xfa:datasets" === e) {
  27456. this.node = t;
  27457. throw new Error("Aborting DatasetXMLParser.");
  27458. } };
  27459. return DatasetXMLParser;
  27460. }(SimpleXMLParser));
  27461. var DatasetReader = /** @class */ (function () {
  27462. function DatasetReader(e) {
  27463. if (e.datasets)
  27464. this.node = new SimpleXMLParser({ hasAttributes: !0 }).parseFromString(e.datasets).documentElement;
  27465. else {
  27466. var t_477 = new DatasetXMLParser({ hasAttributes: !0 });
  27467. try {
  27468. t_477.parseFromString(e["xdp:xdp"]);
  27469. }
  27470. catch (_b) { }
  27471. this.node = t_477.node;
  27472. }
  27473. }
  27474. DatasetReader.prototype.getValue = function (e) { if (!this.node || !e)
  27475. return ""; var t = this.node.searchNode(parseXFAPath(e), 0); if (!t)
  27476. return ""; var i = t.firstChild; return "value" === (i === null || i === void 0 ? void 0 : i.nodeName) ? t.children.map((function (e) { return decodeString(e.textContent); })) : decodeString(t.textContent); };
  27477. return DatasetReader;
  27478. }());
  27479. var XRef = /** @class */ (function () {
  27480. function XRef(e, t) {
  27481. _XRef_K.set(this, null);
  27482. this.stream = e;
  27483. this.pdfManager = t;
  27484. this.entries = [];
  27485. this._xrefStms = new Set;
  27486. this._cacheMap = new Map;
  27487. this._pendingRefs = new RefSet;
  27488. this._newPersistentRefNum = null;
  27489. this._newTemporaryRefNum = null;
  27490. this._persistentRefsCache = null;
  27491. }
  27492. XRef.prototype.getNewPersistentRef = function (e) { null === this._newPersistentRefNum && (this._newPersistentRefNum = this.entries.length || 1); var t = this._newPersistentRefNum++; this._cacheMap.set(t, e); return Ref.get(t, 0); };
  27493. XRef.prototype.getNewTemporaryRef = function () { if (null === this._newTemporaryRefNum) {
  27494. this._newTemporaryRefNum = this.entries.length || 1;
  27495. if (this._newPersistentRefNum) {
  27496. this._persistentRefsCache = new Map;
  27497. for (var e_658 = this._newTemporaryRefNum; e_658 < this._newPersistentRefNum; e_658++) {
  27498. this._persistentRefsCache.set(e_658, this._cacheMap.get(e_658));
  27499. this._cacheMap.delete(e_658);
  27500. }
  27501. }
  27502. } return Ref.get(this._newTemporaryRefNum++, 0); };
  27503. XRef.prototype.resetNewTemporaryRef = function () { this._newTemporaryRefNum = null; if (this._persistentRefsCache)
  27504. for (var _b = 0, _k = this._persistentRefsCache; _b < _k.length; _b++) {
  27505. var _l = _k[_b], e_659 = _l[0], t_478 = _l[1];
  27506. this._cacheMap.set(e_659, t_478);
  27507. } this._persistentRefsCache = null; };
  27508. XRef.prototype.setStartXRef = function (e) { this.startXRefQueue = [e]; };
  27509. XRef.prototype.parse = function (e) {
  27510. if (e === void 0) { e = !1; }
  27511. var t, i, a;
  27512. if (e) {
  27513. warn("Indexing all PDF objects");
  27514. t = this.indexObjects();
  27515. }
  27516. else
  27517. t = this.readXRef();
  27518. t.assignXref(this);
  27519. this.trailer = t;
  27520. try {
  27521. i = t.get("Encrypt");
  27522. }
  27523. catch (e) {
  27524. if (e instanceof MissingDataException)
  27525. throw e;
  27526. warn("XRef.parse - Invalid \"Encrypt\" reference: \"".concat(e, "\"."));
  27527. }
  27528. if (i instanceof Dict) {
  27529. var e_660 = t.get("ID"), a_309 = (e_660 === null || e_660 === void 0 ? void 0 : e_660.length) ? e_660[0] : "";
  27530. i.suppressEncryption = !0;
  27531. this.encrypt = new CipherTransformFactory(i, a_309, this.pdfManager.password);
  27532. }
  27533. try {
  27534. a = t.get("Root");
  27535. }
  27536. catch (e) {
  27537. if (e instanceof MissingDataException)
  27538. throw e;
  27539. warn("XRef.parse - Invalid \"Root\" reference: \"".concat(e, "\"."));
  27540. }
  27541. if (a instanceof Dict)
  27542. try {
  27543. if (a.get("Pages") instanceof Dict) {
  27544. this.root = a;
  27545. return;
  27546. }
  27547. }
  27548. catch (e) {
  27549. if (e instanceof MissingDataException)
  27550. throw e;
  27551. warn("XRef.parse - Invalid \"Pages\" reference: \"".concat(e, "\"."));
  27552. }
  27553. if (!e)
  27554. throw new XRefParseException;
  27555. throw new InvalidPDFException("Invalid Root reference.");
  27556. };
  27557. XRef.prototype.processXRefTable = function (e) { "tableState" in this || (this.tableState = { entryNum: 0, streamPos: e.lexer.stream.pos, parserBuf1: e.buf1, parserBuf2: e.buf2 }); if (!isCmd(this.readXRefTable(e), "trailer"))
  27558. throw new FormatError("Invalid XRef table: could not find trailer dictionary"); var t = e.getObj(); t instanceof Dict || !t.dict || (t = t.dict); if (!(t instanceof Dict))
  27559. throw new FormatError("Invalid XRef table: could not parse trailer dictionary"); delete this.tableState; return t; };
  27560. XRef.prototype.readXRefTable = function (e) { var t = e.lexer.stream, i = this.tableState; t.pos = i.streamPos; e.buf1 = i.parserBuf1; e.buf2 = i.parserBuf2; var a; for (;;) {
  27561. if (!("firstEntryNum" in i) || !("entryCount" in i)) {
  27562. if (isCmd(a = e.getObj(), "trailer"))
  27563. break;
  27564. i.firstEntryNum = a;
  27565. i.entryCount = e.getObj();
  27566. }
  27567. var s_209 = i.firstEntryNum;
  27568. var r_171 = i.entryCount;
  27569. if (!Number.isInteger(s_209) || !Number.isInteger(r_171))
  27570. throw new FormatError("Invalid XRef table: wrong types in subsection header");
  27571. for (var a_310 = i.entryNum; a_310 < r_171; a_310++) {
  27572. i.streamPos = t.pos;
  27573. i.entryNum = a_310;
  27574. i.parserBuf1 = e.buf1;
  27575. i.parserBuf2 = e.buf2;
  27576. var n_111 = {};
  27577. n_111.offset = e.getObj();
  27578. n_111.gen = e.getObj();
  27579. var o_80 = e.getObj();
  27580. if (o_80 instanceof Cmd)
  27581. switch (o_80.cmd) {
  27582. case "f":
  27583. n_111.free = !0;
  27584. break;
  27585. case "n": n_111.uncompressed = !0;
  27586. }
  27587. if (!Number.isInteger(n_111.offset) || !Number.isInteger(n_111.gen) || !n_111.free && !n_111.uncompressed)
  27588. throw new FormatError("Invalid entry in XRef subsection: ".concat(s_209, ", ").concat(r_171));
  27589. 0 === a_310 && n_111.free && 1 === s_209 && (s_209 = 0);
  27590. this.entries[a_310 + s_209] || (this.entries[a_310 + s_209] = n_111);
  27591. }
  27592. i.entryNum = 0;
  27593. i.streamPos = t.pos;
  27594. i.parserBuf1 = e.buf1;
  27595. i.parserBuf2 = e.buf2;
  27596. delete i.firstEntryNum;
  27597. delete i.entryCount;
  27598. } if (this.entries[0] && !this.entries[0].free)
  27599. throw new FormatError("Invalid XRef table: unexpected first object"); return a; };
  27600. XRef.prototype.processXRefStream = function (e) { if (!("streamState" in this)) {
  27601. var t_479 = e.dict, i_383 = t_479.get("W");
  27602. var a_311 = t_479.get("Index");
  27603. a_311 || (a_311 = [0, t_479.get("Size")]);
  27604. this.streamState = { entryRanges: a_311, byteWidths: i_383, entryNum: 0, streamPos: e.pos };
  27605. } this.readXRefStream(e); delete this.streamState; return e.dict; };
  27606. XRef.prototype.readXRefStream = function (e) { var t = this.streamState; e.pos = t.streamPos; var _b = t.byteWidths, i = _b[0], a = _b[1], s = _b[2], r = t.entryRanges; for (; r.length > 0;) {
  27607. var n_112 = r[0], o_81 = r[1];
  27608. if (!Number.isInteger(n_112) || !Number.isInteger(o_81))
  27609. throw new FormatError("Invalid XRef range fields: ".concat(n_112, ", ").concat(o_81));
  27610. if (!Number.isInteger(i) || !Number.isInteger(a) || !Number.isInteger(s))
  27611. throw new FormatError("Invalid XRef entry fields length: ".concat(n_112, ", ").concat(o_81));
  27612. for (var r_172 = t.entryNum; r_172 < o_81; ++r_172) {
  27613. t.entryNum = r_172;
  27614. t.streamPos = e.pos;
  27615. var o_82 = 0, g_59 = 0, c_51 = 0;
  27616. for (var t_480 = 0; t_480 < i; ++t_480) {
  27617. var t_481 = e.getByte();
  27618. if (-1 === t_481)
  27619. throw new FormatError("Invalid XRef byteWidths 'type'.");
  27620. o_82 = o_82 << 8 | t_481;
  27621. }
  27622. 0 === i && (o_82 = 1);
  27623. for (var t_482 = 0; t_482 < a; ++t_482) {
  27624. var t_483 = e.getByte();
  27625. if (-1 === t_483)
  27626. throw new FormatError("Invalid XRef byteWidths 'offset'.");
  27627. g_59 = g_59 << 8 | t_483;
  27628. }
  27629. for (var t_484 = 0; t_484 < s; ++t_484) {
  27630. var t_485 = e.getByte();
  27631. if (-1 === t_485)
  27632. throw new FormatError("Invalid XRef byteWidths 'generation'.");
  27633. c_51 = c_51 << 8 | t_485;
  27634. }
  27635. var h_38 = {};
  27636. h_38.offset = g_59;
  27637. h_38.gen = c_51;
  27638. switch (o_82) {
  27639. case 0:
  27640. h_38.free = !0;
  27641. break;
  27642. case 1:
  27643. h_38.uncompressed = !0;
  27644. break;
  27645. case 2: break;
  27646. default: throw new FormatError("Invalid XRef entry type: ".concat(o_82));
  27647. }
  27648. this.entries[n_112 + r_172] || (this.entries[n_112 + r_172] = h_38);
  27649. }
  27650. t.entryNum = 0;
  27651. t.streamPos = e.pos;
  27652. r.splice(0, 2);
  27653. } };
  27654. XRef.prototype.indexObjects = function () { function readToken(e, t) { var i = "", a = e[t]; for (; 10 !== a && 13 !== a && 60 !== a && !(++t >= e.length);) {
  27655. i += String.fromCharCode(a);
  27656. a = e[t];
  27657. } return i; } function skipUntil(e, t, i) { var a = i.length, s = e.length; var r = 0; for (; t < s;) {
  27658. var s_210 = 0;
  27659. for (; s_210 < a && e[t + s_210] === i[s_210];)
  27660. ++s_210;
  27661. if (s_210 >= a)
  27662. break;
  27663. t++;
  27664. r++;
  27665. } return r; } var e = /\b(endobj|\d+\s+\d+\s+obj|xref|trailer\s*<<)\b/g, t = /\b(startxref|\d+\s+\d+\s+obj)\b/g, i = /^(\d+)\s+(\d+)\s+obj\b/, a = new Uint8Array([116, 114, 97, 105, 108, 101, 114]), s = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]), r = new Uint8Array([47, 88, 82, 101, 102]); this.entries.length = 0; this._cacheMap.clear(); var n = this.stream; n.pos = 0; var o = n.getBytes(), g = bytesToString(o), c = o.length; var h = n.start; var l = [], C = []; for (; h < c;) {
  27666. var Q_26 = o[h];
  27667. if (9 === Q_26 || 10 === Q_26 || 13 === Q_26 || 32 === Q_26) {
  27668. ++h;
  27669. continue;
  27670. }
  27671. if (37 === Q_26) {
  27672. do {
  27673. ++h;
  27674. if (h >= c)
  27675. break;
  27676. Q_26 = o[h];
  27677. } while (10 !== Q_26 && 13 !== Q_26);
  27678. continue;
  27679. }
  27680. var E_16 = readToken(o, h);
  27681. var u_14 = void 0;
  27682. if (E_16.startsWith("xref") && (4 === E_16.length || /\s/.test(E_16[4]))) {
  27683. h += skipUntil(o, h, a);
  27684. l.push(h);
  27685. h += skipUntil(o, h, s);
  27686. }
  27687. else if (u_14 = i.exec(E_16)) {
  27688. var t_486 = 0 | u_14[1], i_384 = 0 | u_14[2], a_312 = h + E_16.length;
  27689. var s_211 = void 0, l_32 = !1;
  27690. if (this.entries[t_486]) {
  27691. if (this.entries[t_486].gen === i_384)
  27692. try {
  27693. new Parser({ lexer: new Lexer(n.makeSubStream(a_312)) }).getObj();
  27694. l_32 = !0;
  27695. }
  27696. catch (e) {
  27697. e instanceof ParserEOFException ? warn("indexObjects -- checking object (".concat(E_16, "): \"").concat(e, "\".")) : l_32 = !0;
  27698. }
  27699. }
  27700. else
  27701. l_32 = !0;
  27702. l_32 && (this.entries[t_486] = { offset: h - n.start, gen: i_384, uncompressed: !0 });
  27703. e.lastIndex = a_312;
  27704. var Q_27 = e.exec(g);
  27705. if (Q_27) {
  27706. s_211 = e.lastIndex + 1 - h;
  27707. if ("endobj" !== Q_27[1]) {
  27708. warn("indexObjects: Found \"".concat(Q_27[1], "\" inside of another \"obj\", caused by missing \"endobj\" -- trying to recover."));
  27709. s_211 -= Q_27[1].length + 1;
  27710. }
  27711. }
  27712. else
  27713. s_211 = c - h;
  27714. var d_10 = o.subarray(h, h + s_211), f_10 = skipUntil(d_10, 0, r);
  27715. if (f_10 < s_211 && d_10[f_10 + 5] < 64) {
  27716. C.push(h - n.start);
  27717. this._xrefStms.add(h - n.start);
  27718. }
  27719. h += s_211;
  27720. }
  27721. else if (E_16.startsWith("trailer") && (7 === E_16.length || /\s/.test(E_16[7]))) {
  27722. l.push(h);
  27723. var e_661 = h + E_16.length;
  27724. var i_385 = void 0;
  27725. t.lastIndex = e_661;
  27726. var a_313 = t.exec(g);
  27727. if (a_313) {
  27728. i_385 = t.lastIndex + 1 - h;
  27729. if ("startxref" !== a_313[1]) {
  27730. warn("indexObjects: Found \"".concat(a_313[1], "\" after \"trailer\", caused by missing \"startxref\" -- trying to recover."));
  27731. i_385 -= a_313[1].length + 1;
  27732. }
  27733. }
  27734. else
  27735. i_385 = c - h;
  27736. h += i_385;
  27737. }
  27738. else
  27739. h += E_16.length + 1;
  27740. } for (var _b = 0, C_27 = C; _b < C_27.length; _b++) {
  27741. var e_662 = C_27[_b];
  27742. this.startXRefQueue.push(e_662);
  27743. this.readXRef(!0);
  27744. } var Q = []; var E, u, d = !1; for (var _k = 0, l_31 = l; _k < l_31.length; _k++) {
  27745. var e_663 = l_31[_k];
  27746. n.pos = e_663;
  27747. var t_487 = new Parser({ lexer: new Lexer(n), xref: this, allowStreams: !0, recoveryMode: !0 });
  27748. if (!isCmd(t_487.getObj(), "trailer"))
  27749. continue;
  27750. var i_386 = t_487.getObj();
  27751. if (i_386 instanceof Dict) {
  27752. Q.push(i_386);
  27753. i_386.has("Encrypt") && (d = !0);
  27754. }
  27755. } for (var _l = 0, _m = tslib_1.__spreadArray(tslib_1.__spreadArray(tslib_1.__spreadArray([], Q, true), ["genFallback"], false), Q, true); _l < _m.length; _l++) {
  27756. var e_664 = _m[_l];
  27757. if ("genFallback" === e_664) {
  27758. if (!u)
  27759. break;
  27760. this._generationFallback = !0;
  27761. continue;
  27762. }
  27763. var t_488 = !1;
  27764. try {
  27765. var i_387 = e_664.get("Root");
  27766. if (!(i_387 instanceof Dict))
  27767. continue;
  27768. var a_314 = i_387.get("Pages");
  27769. if (!(a_314 instanceof Dict))
  27770. continue;
  27771. var s_212 = a_314.get("Count");
  27772. Number.isInteger(s_212) && (t_488 = !0);
  27773. }
  27774. catch (e) {
  27775. u = e;
  27776. continue;
  27777. }
  27778. if (t_488 && (!d || e_664.has("Encrypt")) && e_664.has("ID"))
  27779. return e_664;
  27780. E = e_664;
  27781. } if (E)
  27782. return E; if (this.topDict)
  27783. return this.topDict; throw new InvalidPDFException("Invalid PDF structure."); };
  27784. XRef.prototype.readXRef = function (e) {
  27785. var _b;
  27786. if (e === void 0) { e = !1; }
  27787. var t = this.stream, i = new Set;
  27788. for (; this.startXRefQueue.length;) {
  27789. try {
  27790. var e_665 = this.startXRefQueue[0];
  27791. if (i.has(e_665)) {
  27792. warn("readXRef - skipping XRef table since it was already parsed.");
  27793. this.startXRefQueue.shift();
  27794. continue;
  27795. }
  27796. i.add(e_665);
  27797. t.pos = e_665 + t.start;
  27798. var a_315 = new Parser({ lexer: new Lexer(t), xref: this, allowStreams: !0 });
  27799. var s_213 = void 0, r_173 = a_315.getObj();
  27800. if (isCmd(r_173, "xref")) {
  27801. s_213 = this.processXRefTable(a_315);
  27802. this.topDict || (this.topDict = s_213);
  27803. r_173 = s_213.get("XRefStm");
  27804. if (Number.isInteger(r_173) && !this._xrefStms.has(r_173)) {
  27805. this._xrefStms.add(r_173);
  27806. this.startXRefQueue.push(r_173);
  27807. tslib_1.__classPrivateFieldSet(this, _XRef_K, (_b = tslib_1.__classPrivateFieldGet(this, _XRef_K, "f")) !== null && _b !== void 0 ? _b : r_173, "f");
  27808. }
  27809. }
  27810. else {
  27811. if (!Number.isInteger(r_173))
  27812. throw new FormatError("Invalid XRef stream header");
  27813. if (!(Number.isInteger(a_315.getObj()) && isCmd(a_315.getObj(), "obj") && (r_173 = a_315.getObj()) instanceof BaseStream))
  27814. throw new FormatError("Invalid XRef stream");
  27815. s_213 = this.processXRefStream(r_173);
  27816. this.topDict || (this.topDict = s_213);
  27817. if (!s_213)
  27818. throw new FormatError("Failed to read XRef stream");
  27819. }
  27820. r_173 = s_213.get("Prev");
  27821. Number.isInteger(r_173) ? this.startXRefQueue.push(r_173) : r_173 instanceof Ref && this.startXRefQueue.push(r_173.num);
  27822. }
  27823. catch (e) {
  27824. if (e instanceof MissingDataException)
  27825. throw e;
  27826. info("(while reading XRef): " + e);
  27827. }
  27828. this.startXRefQueue.shift();
  27829. }
  27830. if (this.topDict)
  27831. return this.topDict;
  27832. if (!e)
  27833. throw new XRefParseException;
  27834. };
  27835. Object.defineProperty(XRef.prototype, "lastXRefStreamPos", {
  27836. get: function () { var _b; return (_b = tslib_1.__classPrivateFieldGet(this, _XRef_K, "f")) !== null && _b !== void 0 ? _b : (this._xrefStms.size > 0 ? Math.max.apply(Math, this._xrefStms) : null); },
  27837. enumerable: false,
  27838. configurable: true
  27839. });
  27840. XRef.prototype.getEntry = function (e) { var t = this.entries[e]; return t && !t.free && t.offset ? t : null; };
  27841. XRef.prototype.fetchIfRef = function (e, t) {
  27842. if (t === void 0) { t = !1; }
  27843. return e instanceof Ref ? this.fetch(e, t) : e;
  27844. };
  27845. XRef.prototype.fetch = function (e, t) {
  27846. if (t === void 0) { t = !1; }
  27847. if (!(e instanceof Ref))
  27848. throw new Error("ref object is not a reference");
  27849. var i = e.num, a = this._cacheMap.get(i);
  27850. if (void 0 !== a) {
  27851. a instanceof Dict && !a.objId && (a.objId = e.toString());
  27852. return a;
  27853. }
  27854. var s = this.getEntry(i);
  27855. if (null === s) {
  27856. this._cacheMap.set(i, s);
  27857. return s;
  27858. }
  27859. if (this._pendingRefs.has(e)) {
  27860. this._pendingRefs.remove(e);
  27861. warn("Ignoring circular reference: ".concat(e, "."));
  27862. return ft;
  27863. }
  27864. this._pendingRefs.put(e);
  27865. try {
  27866. s = s.uncompressed ? this.fetchUncompressed(e, s, t) : this.fetchCompressed(e, s, t);
  27867. this._pendingRefs.remove(e);
  27868. }
  27869. catch (t) {
  27870. this._pendingRefs.remove(e);
  27871. throw t;
  27872. }
  27873. s instanceof Dict ? s.objId = e.toString() : s instanceof BaseStream && (s.dict.objId = e.toString());
  27874. return s;
  27875. };
  27876. XRef.prototype.fetchUncompressed = function (e, t, i) {
  27877. if (i === void 0) { i = !1; }
  27878. var a = e.gen;
  27879. var s = e.num;
  27880. if (t.gen !== a) {
  27881. var r_174 = "Inconsistent generation in XRef: ".concat(e);
  27882. if (this._generationFallback && t.gen < a) {
  27883. warn(r_174);
  27884. return this.fetchUncompressed(Ref.get(s, t.gen), t, i);
  27885. }
  27886. throw new XRefEntryException(r_174);
  27887. }
  27888. var r = this.stream.makeSubStream(t.offset + this.stream.start), n = new Parser({ lexer: new Lexer(r), xref: this, allowStreams: !0 }), o = n.getObj(), g = n.getObj(), c = n.getObj();
  27889. if (o !== s || g !== a || !(c instanceof Cmd))
  27890. throw new XRefEntryException("Bad (uncompressed) XRef entry: ".concat(e));
  27891. if ("obj" !== c.cmd) {
  27892. if (c.cmd.startsWith("obj")) {
  27893. s = parseInt(c.cmd.substring(3), 10);
  27894. if (!Number.isNaN(s))
  27895. return s;
  27896. }
  27897. throw new XRefEntryException("Bad (uncompressed) XRef entry: ".concat(e));
  27898. }
  27899. (t = this.encrypt && !i ? n.getObj(this.encrypt.createCipherTransform(s, a)) : n.getObj()) instanceof BaseStream || this._cacheMap.set(s, t);
  27900. return t;
  27901. };
  27902. XRef.prototype.fetchCompressed = function (e, t, i) {
  27903. if (i === void 0) { i = !1; }
  27904. var a = t.offset, s = this.fetch(Ref.get(a, 0));
  27905. if (!(s instanceof BaseStream))
  27906. throw new FormatError("bad ObjStm stream");
  27907. var r = s.dict.get("First"), n = s.dict.get("N");
  27908. if (!Number.isInteger(r) || !Number.isInteger(n))
  27909. throw new FormatError("invalid first and n parameters for ObjStm stream");
  27910. var o = new Parser({ lexer: new Lexer(s), xref: this, allowStreams: !0 });
  27911. var g = new Array(n), c = new Array(n);
  27912. for (var e_666 = 0; e_666 < n; ++e_666) {
  27913. var t_489 = o.getObj();
  27914. if (!Number.isInteger(t_489))
  27915. throw new FormatError("invalid object number in the ObjStm stream: ".concat(t_489));
  27916. var i_388 = o.getObj();
  27917. if (!Number.isInteger(i_388))
  27918. throw new FormatError("invalid object offset in the ObjStm stream: ".concat(i_388));
  27919. g[e_666] = t_489;
  27920. c[e_666] = i_388;
  27921. }
  27922. var h = (s.start || 0) + r, l = new Array(n);
  27923. for (var e_667 = 0; e_667 < n; ++e_667) {
  27924. var t_490 = e_667 < n - 1 ? c[e_667 + 1] - c[e_667] : void 0;
  27925. if (t_490 < 0)
  27926. throw new FormatError("Invalid offset in the ObjStm stream.");
  27927. o = new Parser({ lexer: new Lexer(s.makeSubStream(h + c[e_667], t_490, s.dict)), xref: this, allowStreams: !0 });
  27928. var i_389 = o.getObj();
  27929. l[e_667] = i_389;
  27930. if (i_389 instanceof BaseStream)
  27931. continue;
  27932. var r_175 = g[e_667], C_28 = this.entries[r_175];
  27933. C_28 && C_28.offset === a && C_28.gen === e_667 && this._cacheMap.set(r_175, i_389);
  27934. }
  27935. if (void 0 === (t = l[t.gen]))
  27936. throw new XRefEntryException("Bad (compressed) XRef entry: ".concat(e));
  27937. return t;
  27938. };
  27939. XRef.prototype.fetchIfRefAsync = function (e, t) {
  27940. return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_b) {
  27941. return [2 /*return*/, e instanceof Ref ? this.fetchAsync(e, t) : e];
  27942. }); });
  27943. };
  27944. XRef.prototype.fetchAsync = function (e, t) {
  27945. return tslib_1.__awaiter(this, void 0, void 0, function () { var i_390; return tslib_1.__generator(this, function (_b) {
  27946. switch (_b.label) {
  27947. case 0:
  27948. _b.trys.push([0, 1, , 3]);
  27949. return [2 /*return*/, this.fetch(e, t)];
  27950. case 1:
  27951. i_390 = _b.sent();
  27952. if (!(i_390 instanceof MissingDataException))
  27953. throw i_390;
  27954. return [4 /*yield*/, this.pdfManager.requestRange(i_390.begin, i_390.end)];
  27955. case 2:
  27956. _b.sent();
  27957. return [2 /*return*/, this.fetchAsync(e, t)];
  27958. case 3: return [2 /*return*/];
  27959. }
  27960. }); });
  27961. };
  27962. XRef.prototype.getCatalogObj = function () { return this.root; };
  27963. return XRef;
  27964. }());
  27965. _XRef_K = new WeakMap();
  27966. var so = [0, 0, 612, 792];
  27967. var Page = /** @class */ (function () {
  27968. function Page(_b) {
  27969. var e = _b.pdfManager, t = _b.xref, i = _b.pageIndex, a = _b.pageDict, s = _b.ref, r = _b.globalIdFactory, n = _b.fontCache, o = _b.builtInCMapCache, g = _b.standardFontDataCache, c = _b.globalImageCache, h = _b.systemFontCache, l = _b.nonBlendModesSet, C = _b.xfaFactory;
  27970. _Page_instances.add(this);
  27971. this.pdfManager = e;
  27972. this.pageIndex = i;
  27973. this.pageDict = a;
  27974. this.xref = t;
  27975. this.ref = s;
  27976. this.fontCache = n;
  27977. this.builtInCMapCache = o;
  27978. this.standardFontDataCache = g;
  27979. this.globalImageCache = c;
  27980. this.systemFontCache = h;
  27981. this.nonBlendModesSet = l;
  27982. this.evaluatorOptions = e.evaluatorOptions;
  27983. this.resourcesPromise = null;
  27984. this.xfaFactory = C;
  27985. var Q = { obj: 0 };
  27986. this._localIdFactory = /** @class */ (function (_super) {
  27987. tslib_1.__extends(_localIdFactory, _super);
  27988. function _localIdFactory() {
  27989. return _super !== null && _super.apply(this, arguments) || this;
  27990. }
  27991. _localIdFactory.createObjId = function () { return "p".concat(i, "_").concat(++Q.obj); };
  27992. _localIdFactory.getPageObjId = function () { return "p".concat(s.toString()); };
  27993. return _localIdFactory;
  27994. }(r));
  27995. }
  27996. Page.prototype._getInheritableProperty = function (e, t) {
  27997. if (t === void 0) { t = !1; }
  27998. var i = getInheritableProperty({ dict: this.pageDict, key: e, getArray: t, stopWhenFound: !1 });
  27999. return Array.isArray(i) ? 1 !== i.length && i[0] instanceof Dict ? Dict.merge({ xref: this.xref, dictArray: i }) : i[0] : i;
  28000. };
  28001. Object.defineProperty(Page.prototype, "content", {
  28002. get: function () { return this.pageDict.getArray("Contents"); },
  28003. enumerable: false,
  28004. configurable: true
  28005. });
  28006. Object.defineProperty(Page.prototype, "resources", {
  28007. get: function () { var e = this._getInheritableProperty("Resources"); return shadow(this, "resources", e instanceof Dict ? e : Dict.empty); },
  28008. enumerable: false,
  28009. configurable: true
  28010. });
  28011. Page.prototype._getBoundingBox = function (e) { if (this.xfaData)
  28012. return this.xfaData.bbox; var t = lookupNormalRect(this._getInheritableProperty(e, !0), null); if (t) {
  28013. if (t[2] - t[0] > 0 && t[3] - t[1] > 0)
  28014. return t;
  28015. warn("Empty, or invalid, /".concat(e, " entry."));
  28016. } return null; };
  28017. Object.defineProperty(Page.prototype, "mediaBox", {
  28018. get: function () { return shadow(this, "mediaBox", this._getBoundingBox("MediaBox") || so); },
  28019. enumerable: false,
  28020. configurable: true
  28021. });
  28022. Object.defineProperty(Page.prototype, "cropBox", {
  28023. get: function () { return shadow(this, "cropBox", this._getBoundingBox("CropBox") || this.mediaBox); },
  28024. enumerable: false,
  28025. configurable: true
  28026. });
  28027. Object.defineProperty(Page.prototype, "userUnit", {
  28028. get: function () { var e = this.pageDict.get("UserUnit"); ("number" != typeof e || e <= 0) && (e = 1); return shadow(this, "userUnit", e); },
  28029. enumerable: false,
  28030. configurable: true
  28031. });
  28032. Object.defineProperty(Page.prototype, "view", {
  28033. get: function () { var _b = this, e = _b.cropBox, t = _b.mediaBox; if (e !== t && !isArrayEqual(e, t)) {
  28034. var i_391 = Util.intersect(e, t);
  28035. if (i_391 && i_391[2] - i_391[0] > 0 && i_391[3] - i_391[1] > 0)
  28036. return shadow(this, "view", i_391);
  28037. warn("Empty /CropBox and /MediaBox intersection.");
  28038. } return shadow(this, "view", t); },
  28039. enumerable: false,
  28040. configurable: true
  28041. });
  28042. Object.defineProperty(Page.prototype, "rotate", {
  28043. get: function () { var e = this._getInheritableProperty("Rotate") || 0; e % 90 != 0 ? e = 0 : e >= 360 ? e %= 360 : e < 0 && (e = (e % 360 + 360) % 360); return shadow(this, "rotate", e); },
  28044. enumerable: false,
  28045. configurable: true
  28046. });
  28047. Page.prototype._onSubStreamError = function (e, t) { if (!this.evaluatorOptions.ignoreErrors)
  28048. throw e; warn("getContentStream - ignoring sub-stream (".concat(t, "): \"").concat(e, "\".")); };
  28049. Page.prototype.getContentStream = function () {
  28050. var _this = this;
  28051. return this.pdfManager.ensure(this, "content").then((function (e) { return e instanceof BaseStream ? e : Array.isArray(e) ? new StreamsSequenceStream(e, _this._onSubStreamError.bind(_this)) : new NullStream; }));
  28052. };
  28053. Object.defineProperty(Page.prototype, "xfaData", {
  28054. get: function () { return shadow(this, "xfaData", this.xfaFactory ? { bbox: this.xfaFactory.getBoundingBox(this.pageIndex) } : null); },
  28055. enumerable: false,
  28056. configurable: true
  28057. });
  28058. Page.prototype.saveNewAnnotations = function (e, t, i, a) {
  28059. return tslib_1.__awaiter(this, void 0, void 0, function () { var s, r, n, o, g, c, _b, _k, e_668, h, l, C, _l, r_176, e_669; return tslib_1.__generator(this, function (_m) {
  28060. switch (_m.label) {
  28061. case 0:
  28062. if (this.xfaFactory)
  28063. throw new Error("XFA: Cannot save new annotations.");
  28064. s = new PartialEvaluator({ xref: this.xref, handler: e, pageIndex: this.pageIndex, idFactory: this._localIdFactory, fontCache: this.fontCache, builtInCMapCache: this.builtInCMapCache, standardFontDataCache: this.standardFontDataCache, globalImageCache: this.globalImageCache, systemFontCache: this.systemFontCache, options: this.evaluatorOptions }), r = new RefSetCache, n = new RefSet;
  28065. tslib_1.__classPrivateFieldGet(this, _Page_instances, "m", _Page_T).call(this, i, r, n);
  28066. o = this.pageDict, g = this.annotations.filter((function (e) { return !(e instanceof Ref && r.has(e)); }));
  28067. return [4 /*yield*/, AnnotationFactory.saveNewAnnotations(s, t, i, a)];
  28068. case 1:
  28069. c = _m.sent();
  28070. for (_b = 0, _k = c.annotations; _b < _k.length; _b++) {
  28071. e_668 = _k[_b].ref;
  28072. e_668 instanceof Ref && !n.has(e_668) && g.push(e_668);
  28073. }
  28074. h = o.get("Annots");
  28075. o.set("Annots", g);
  28076. l = [];
  28077. return [4 /*yield*/, writeObject(this.ref, o, l, this.xref)];
  28078. case 2:
  28079. _m.sent();
  28080. h && o.set("Annots", h);
  28081. C = c.dependencies;
  28082. C.push.apply(C, tslib_1.__spreadArray([{ ref: this.ref, data: l.join("") }], c.annotations, false));
  28083. for (_l = 0, r_176 = r; _l < r_176.length; _l++) {
  28084. e_669 = r_176[_l];
  28085. C.push({ ref: e_669, data: null });
  28086. }
  28087. return [2 /*return*/, C];
  28088. }
  28089. }); });
  28090. };
  28091. Page.prototype.save = function (e, t, i) { var a = new PartialEvaluator({ xref: this.xref, handler: e, pageIndex: this.pageIndex, idFactory: this._localIdFactory, fontCache: this.fontCache, builtInCMapCache: this.builtInCMapCache, standardFontDataCache: this.standardFontDataCache, globalImageCache: this.globalImageCache, systemFontCache: this.systemFontCache, options: this.evaluatorOptions }); return this._parsedAnnotations.then((function (e) { var s = []; for (var _b = 0, e_670 = e; _b < e_670.length; _b++) {
  28092. var r_177 = e_670[_b];
  28093. r_177.mustBePrinted(i) && s.push(r_177.save(a, t, i).catch((function (e) { warn("save - ignoring annotation data during \"".concat(t.name, "\" task: \"").concat(e, "\".")); return null; })));
  28094. } return Promise.all(s).then((function (e) { return e.filter((function (e) { return !!e; })); })); })); };
  28095. Page.prototype.loadResources = function (e) {
  28096. var _this = this;
  28097. this.resourcesPromise || (this.resourcesPromise = this.pdfManager.ensure(this, "resources"));
  28098. return this.resourcesPromise.then((function () { return new ObjectLoader(_this.resources, e, _this.xref).load(); }));
  28099. };
  28100. Page.prototype.getOperatorList = function (_b) {
  28101. var _this = this;
  28102. var e = _b.handler, t = _b.sink, i = _b.task, a = _b.intent, s = _b.cacheKey, _k = _b.annotationStorage, r = _k === void 0 ? null : _k;
  28103. var n = this.getContentStream(), h = this.loadResources(["ColorSpace", "ExtGState", "Font", "Pattern", "Properties", "Shading", "XObject"]), Q = new PartialEvaluator({ xref: this.xref, handler: e, pageIndex: this.pageIndex, idFactory: this._localIdFactory, fontCache: this.fontCache, builtInCMapCache: this.builtInCMapCache, standardFontDataCache: this.standardFontDataCache, globalImageCache: this.globalImageCache, systemFontCache: this.systemFontCache, options: this.evaluatorOptions }), u = this.xfaFactory ? null : getNewAnnotationsMap(r), d = u === null || u === void 0 ? void 0 : u.get(this.pageIndex);
  28104. var f = Promise.resolve(null), p = null;
  28105. if (d) {
  28106. var e_671 = this.pdfManager.ensureDoc("annotationGlobals");
  28107. var t_491;
  28108. var a_316 = new Set;
  28109. for (var _l = 0, d_11 = d; _l < d_11.length; _l++) {
  28110. var _m = d_11[_l], e_672 = _m.bitmapId, t_492 = _m.bitmap;
  28111. !e_672 || t_492 || a_316.has(e_672) || a_316.add(e_672);
  28112. }
  28113. var s_214 = this.evaluatorOptions.isOffscreenCanvasSupported;
  28114. if (a_316.size > 0) {
  28115. var e_673 = d.slice();
  28116. for (var _o = 0, r_178 = r; _o < r_178.length; _o++) {
  28117. var _p = r_178[_o], t_493 = _p[0], i_392 = _p[1];
  28118. t_493.startsWith(E) && i_392.bitmap && a_316.has(i_392.bitmapId) && e_673.push(i_392);
  28119. }
  28120. t_491 = AnnotationFactory.generateImages(e_673, this.xref, s_214);
  28121. }
  28122. else
  28123. t_491 = AnnotationFactory.generateImages(d, this.xref, s_214);
  28124. p = new RefSet;
  28125. tslib_1.__classPrivateFieldGet(this, _Page_instances, "m", _Page_T).call(this, d, p, null);
  28126. f = e_671.then((function (e) { return e ? AnnotationFactory.printNewAnnotations(e, Q, i, d, t_491) : null; }));
  28127. }
  28128. var m = Promise.all([n, h]).then((function (_b) {
  28129. var r = _b[0];
  28130. var n = new OperatorList(a, t);
  28131. e.send("StartRenderPage", { transparency: Q.hasBlendModes(_this.resources, _this.nonBlendModesSet), pageIndex: _this.pageIndex, cacheKey: s });
  28132. return Q.getOperatorList({ stream: r, task: i, resources: _this.resources, operatorList: n }).then((function () { return n; }));
  28133. }));
  28134. return Promise.all([m, this._parsedAnnotations, f]).then((function (_b) {
  28135. var e = _b[0], t = _b[1], s = _b[2];
  28136. if (s) {
  28137. t = t.filter((function (e) { return !(e.ref && p.has(e.ref)); }));
  28138. var _loop_5 = function (e_674, i_393) {
  28139. var a_317 = s[e_674];
  28140. if (a_317.refToReplace) {
  28141. var r_179 = t.findIndex((function (e) { return e.ref && isRefsEqual(e.ref, a_317.refToReplace); }));
  28142. if (r_179 >= 0) {
  28143. t.splice(r_179, 1, a_317);
  28144. s.splice(e_674--, 1);
  28145. i_393--;
  28146. }
  28147. }
  28148. out_e_1 = e_674;
  28149. out_i_1 = i_393;
  28150. };
  28151. var out_e_1, out_i_1;
  28152. for (var e_674 = 0, i_393 = s.length; e_674 < i_393; e_674++) {
  28153. _loop_5(e_674, i_393);
  28154. e_674 = out_e_1;
  28155. i_393 = out_i_1;
  28156. }
  28157. t = t.concat(s);
  28158. }
  28159. if (0 === t.length || a & C) {
  28160. e.flush(!0);
  28161. return { length: e.totalLength };
  28162. }
  28163. var n = !!(a & l), h = !!(a & o), E = !!(a & g), u = !!(a & c), d = [];
  28164. for (var _k = 0, t_494 = t; _k < t_494.length; _k++) {
  28165. var e_675 = t_494[_k];
  28166. (h || E && e_675.mustBeViewed(r, n) || u && e_675.mustBePrinted(r)) && d.push(e_675.getOperatorList(Q, i, a, n, r).catch((function (e) { warn("getOperatorList - ignoring annotation data during \"".concat(i.name, "\" task: \"").concat(e, "\".")); return { opList: null, separateForm: !1, separateCanvas: !1 }; })));
  28167. }
  28168. return Promise.all(d).then((function (t) { var i = !1, a = !1; for (var _b = 0, t_495 = t; _b < t_495.length; _b++) {
  28169. var _k = t_495[_b], s_215 = _k.opList, r_180 = _k.separateForm, n_113 = _k.separateCanvas;
  28170. e.addOpList(s_215);
  28171. i || (i = r_180);
  28172. a || (a = n_113);
  28173. } e.flush(!0, { form: i, canvas: a }); return { length: e.totalLength }; }));
  28174. }));
  28175. };
  28176. Page.prototype.extractTextContent = function (_b) {
  28177. var e = _b.handler, t = _b.task, i = _b.includeMarkedContent, a = _b.disableNormalization, s = _b.sink;
  28178. return tslib_1.__awaiter(this, void 0, void 0, function () { var r, n, o, _k, g, c; return tslib_1.__generator(this, function (_l) {
  28179. switch (_l.label) {
  28180. case 0:
  28181. r = this.getContentStream(), n = this.loadResources(["ExtGState", "Font", "Properties", "XObject"]), o = this.pdfManager.ensureCatalog("lang");
  28182. return [4 /*yield*/, Promise.all([r, n, o])];
  28183. case 1:
  28184. _k = _l.sent(), g = _k[0], c = _k[2];
  28185. return [2 /*return*/, new PartialEvaluator({ xref: this.xref, handler: e, pageIndex: this.pageIndex, idFactory: this._localIdFactory, fontCache: this.fontCache, builtInCMapCache: this.builtInCMapCache, standardFontDataCache: this.standardFontDataCache, globalImageCache: this.globalImageCache, systemFontCache: this.systemFontCache, options: this.evaluatorOptions }).getTextContent({ stream: g, task: t, resources: this.resources, includeMarkedContent: i, disableNormalization: a, sink: s, viewBox: this.view, lang: c })];
  28186. }
  28187. }); });
  28188. };
  28189. Page.prototype.getStructTree = function () {
  28190. return tslib_1.__awaiter(this, void 0, void 0, function () { var e; return tslib_1.__generator(this, function (_b) {
  28191. switch (_b.label) {
  28192. case 0: return [4 /*yield*/, this.pdfManager.ensureCatalog("structTreeRoot")];
  28193. case 1:
  28194. e = _b.sent();
  28195. if (!e)
  28196. return [2 /*return*/, null];
  28197. return [4 /*yield*/, this._parsedAnnotations];
  28198. case 2:
  28199. _b.sent();
  28200. return [4 /*yield*/, this.pdfManager.ensure(this, "_parseStructTree", [e])];
  28201. case 3: return [2 /*return*/, (_b.sent()).serializable];
  28202. }
  28203. }); });
  28204. };
  28205. Page.prototype._parseStructTree = function (e) { var t = new StructTreePage(e, this.pageDict); t.parse(this.ref); return t; };
  28206. Page.prototype.getAnnotationsData = function (e, t, i) {
  28207. return tslib_1.__awaiter(this, void 0, void 0, function () { var a, s, r, n, h, l, C, _b, a_318, i_394, a_319; return tslib_1.__generator(this, function (_k) {
  28208. switch (_k.label) {
  28209. case 0: return [4 /*yield*/, this._parsedAnnotations];
  28210. case 1:
  28211. a = _k.sent();
  28212. if (0 === a.length)
  28213. return [2 /*return*/, a];
  28214. s = [], r = [];
  28215. h = !!(i & o), l = !!(i & g), C = !!(i & c);
  28216. for (_b = 0, a_318 = a; _b < a_318.length; _b++) {
  28217. i_394 = a_318[_b];
  28218. a_319 = h || l && i_394.viewable;
  28219. (a_319 || C && i_394.printable) && s.push(i_394.data);
  28220. if (i_394.hasTextContent && a_319) {
  28221. n || (n = new PartialEvaluator({ xref: this.xref, handler: e, pageIndex: this.pageIndex, idFactory: this._localIdFactory, fontCache: this.fontCache, builtInCMapCache: this.builtInCMapCache, standardFontDataCache: this.standardFontDataCache, globalImageCache: this.globalImageCache, systemFontCache: this.systemFontCache, options: this.evaluatorOptions }));
  28222. r.push(i_394.extractTextContent(n, t, [-1 / 0, -1 / 0, 1 / 0, 1 / 0]).catch((function (e) { warn("getAnnotationsData - ignoring textContent during \"".concat(t.name, "\" task: \"").concat(e, "\".")); })));
  28223. }
  28224. }
  28225. return [4 /*yield*/, Promise.all(r)];
  28226. case 2:
  28227. _k.sent();
  28228. return [2 /*return*/, s];
  28229. }
  28230. }); });
  28231. };
  28232. Object.defineProperty(Page.prototype, "annotations", {
  28233. get: function () { var e = this._getInheritableProperty("Annots"); return shadow(this, "annotations", Array.isArray(e) ? e : []); },
  28234. enumerable: false,
  28235. configurable: true
  28236. });
  28237. Object.defineProperty(Page.prototype, "_parsedAnnotations", {
  28238. get: function () {
  28239. var _this = this;
  28240. return shadow(this, "_parsedAnnotations", this.pdfManager.ensure(this, "annotations").then((function (e) { return tslib_1.__awaiter(_this, void 0, void 0, function () { var t, i, _b, e_676, a_320, a, s, r, _k, _l, e_677; return tslib_1.__generator(this, function (_m) {
  28241. switch (_m.label) {
  28242. case 0:
  28243. if (0 === e.length)
  28244. return [2 /*return*/, e];
  28245. return [4 /*yield*/, this.pdfManager.ensureDoc("annotationGlobals")];
  28246. case 1:
  28247. t = _m.sent();
  28248. if (!t)
  28249. return [2 /*return*/, []];
  28250. i = [];
  28251. for (_b = 0, e_676 = e; _b < e_676.length; _b++) {
  28252. a_320 = e_676[_b];
  28253. i.push(AnnotationFactory.create(this.xref, a_320, t, this._localIdFactory, !1, this.ref).catch((function (e) { warn("_parsedAnnotations: \"".concat(e, "\".")); return null; })));
  28254. }
  28255. a = [];
  28256. _k = 0;
  28257. return [4 /*yield*/, Promise.all(i)];
  28258. case 2:
  28259. _l = _m.sent();
  28260. _m.label = 3;
  28261. case 3:
  28262. if (!(_k < _l.length)) return [3 /*break*/, 5];
  28263. e_677 = _l[_k];
  28264. e_677 && (e_677 instanceof WidgetAnnotation ? (r || (r = [])).push(e_677) : e_677 instanceof PopupAnnotation ? (s || (s = [])).push(e_677) : a.push(e_677));
  28265. _m.label = 4;
  28266. case 4:
  28267. _k++;
  28268. return [3 /*break*/, 3];
  28269. case 5:
  28270. r && a.push.apply(a, r);
  28271. s && a.push.apply(a, s);
  28272. return [2 /*return*/, a];
  28273. }
  28274. }); }); })));
  28275. },
  28276. enumerable: false,
  28277. configurable: true
  28278. });
  28279. Object.defineProperty(Page.prototype, "jsActions", {
  28280. get: function () { return shadow(this, "jsActions", collectActions(this.xref, this.pageDict, fA)); },
  28281. enumerable: false,
  28282. configurable: true
  28283. });
  28284. return Page;
  28285. }());
  28286. _Page_instances = new WeakSet(), _Page_T = function _Page_T(e, t, i) { for (var _b = 0, e_678 = e; _b < e_678.length; _b++) {
  28287. var a_321 = e_678[_b];
  28288. if (a_321.id) {
  28289. var e_679 = Ref.fromString(a_321.id);
  28290. if (!e_679) {
  28291. warn("A non-linked annotation cannot be modified: ".concat(a_321.id));
  28292. continue;
  28293. }
  28294. if (a_321.deleted) {
  28295. t.put(e_679, e_679);
  28296. continue;
  28297. }
  28298. i === null || i === void 0 ? void 0 : i.put(e_679);
  28299. a_321.ref = e_679;
  28300. delete a_321.id;
  28301. }
  28302. } };
  28303. var ro = new Uint8Array([37, 80, 68, 70, 45]), no = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]), oo = new Uint8Array([101, 110, 100, 111, 98, 106]);
  28304. function find(e, t, i, a) {
  28305. if (i === void 0) { i = 1024; }
  28306. if (a === void 0) { a = !1; }
  28307. var s = t.length, r = e.peekBytes(i), n = r.length - s;
  28308. if (n <= 0)
  28309. return !1;
  28310. if (a) {
  28311. var i_395 = s - 1;
  28312. var a_322 = r.length - 1;
  28313. for (; a_322 >= i_395;) {
  28314. var n_114 = 0;
  28315. for (; n_114 < s && r[a_322 - n_114] === t[i_395 - n_114];)
  28316. n_114++;
  28317. if (n_114 >= s) {
  28318. e.pos += a_322 - i_395;
  28319. return !0;
  28320. }
  28321. a_322--;
  28322. }
  28323. }
  28324. else {
  28325. var i_396 = 0;
  28326. for (; i_396 <= n;) {
  28327. var a_323 = 0;
  28328. for (; a_323 < s && r[i_396 + a_323] === t[a_323];)
  28329. a_323++;
  28330. if (a_323 >= s) {
  28331. e.pos += i_396;
  28332. return !0;
  28333. }
  28334. i_396++;
  28335. }
  28336. }
  28337. return !1;
  28338. }
  28339. var PDFDocument = /** @class */ (function () {
  28340. function PDFDocument(e, t) {
  28341. _PDFDocument_instances.add(this);
  28342. if (t.length <= 0)
  28343. throw new InvalidPDFException("The PDF file is empty, i.e. its size is zero bytes.");
  28344. this.pdfManager = e;
  28345. this.stream = t;
  28346. this.xref = new XRef(t, e);
  28347. this._pagePromises = new Map;
  28348. this._version = null;
  28349. var i = { font: 0 };
  28350. this._globalIdFactory = /** @class */ (function () {
  28351. function _globalIdFactory() {
  28352. }
  28353. _globalIdFactory.getDocId = function () { return "g_".concat(e.docId); };
  28354. _globalIdFactory.createFontId = function () { return "f" + ++i.font; };
  28355. _globalIdFactory.createObjId = function () { unreachable("Abstract method `createObjId` called."); };
  28356. _globalIdFactory.getPageObjId = function () { unreachable("Abstract method `getPageObjId` called."); };
  28357. return _globalIdFactory;
  28358. }());
  28359. }
  28360. PDFDocument.prototype.parse = function (e) { this.xref.parse(e); this.catalog = new Catalog(this.pdfManager, this.xref); };
  28361. Object.defineProperty(PDFDocument.prototype, "linearization", {
  28362. get: function () { var e = null; try {
  28363. e = Linearization.create(this.stream);
  28364. }
  28365. catch (e) {
  28366. if (e instanceof MissingDataException)
  28367. throw e;
  28368. info(e);
  28369. } return shadow(this, "linearization", e); },
  28370. enumerable: false,
  28371. configurable: true
  28372. });
  28373. Object.defineProperty(PDFDocument.prototype, "startXRef", {
  28374. get: function () { var e = this.stream; var t = 0; if (this.linearization) {
  28375. e.reset();
  28376. if (find(e, oo)) {
  28377. e.skip(6);
  28378. var i_397 = e.peekByte();
  28379. for (; isWhiteSpace(i_397);) {
  28380. e.pos++;
  28381. i_397 = e.peekByte();
  28382. }
  28383. t = e.pos - e.start;
  28384. }
  28385. }
  28386. else {
  28387. var i_398 = 1024, a_324 = no.length;
  28388. var s_216 = !1, r_181 = e.end;
  28389. for (; !s_216 && r_181 > 0;) {
  28390. r_181 -= i_398 - a_324;
  28391. r_181 < 0 && (r_181 = 0);
  28392. e.pos = r_181;
  28393. s_216 = find(e, no, i_398, !0);
  28394. }
  28395. if (s_216) {
  28396. e.skip(9);
  28397. var i_399;
  28398. do {
  28399. i_399 = e.getByte();
  28400. } while (isWhiteSpace(i_399));
  28401. var a_325 = "";
  28402. for (; i_399 >= 32 && i_399 <= 57;) {
  28403. a_325 += String.fromCharCode(i_399);
  28404. i_399 = e.getByte();
  28405. }
  28406. t = parseInt(a_325, 10);
  28407. isNaN(t) && (t = 0);
  28408. }
  28409. } return shadow(this, "startXRef", t); },
  28410. enumerable: false,
  28411. configurable: true
  28412. });
  28413. PDFDocument.prototype.checkHeader = function () { var e = this.stream; e.reset(); if (!find(e, ro))
  28414. return; e.moveStart(); e.skip(ro.length); var t, i = ""; for (; (t = e.getByte()) > 32 && i.length < 7;)
  28415. i += String.fromCharCode(t); Dt.test(i) ? this._version = i : warn("Invalid PDF header version: ".concat(i)); };
  28416. PDFDocument.prototype.parseStartXRef = function () { this.xref.setStartXRef(this.startXRef); };
  28417. Object.defineProperty(PDFDocument.prototype, "numPages", {
  28418. get: function () { var e = 0; e = this.catalog.hasActualNumPages ? this.catalog.numPages : this.xfaFactory ? this.xfaFactory.getNumPages() : this.linearization ? this.linearization.numPages : this.catalog.numPages; return shadow(this, "numPages", e); },
  28419. enumerable: false,
  28420. configurable: true
  28421. });
  28422. PDFDocument.prototype._hasOnlyDocumentSignatures = function (e, t) {
  28423. var _this = this;
  28424. if (t === void 0) { t = 0; }
  28425. return !!Array.isArray(e) && e.every((function (e) { if (!((e = _this.xref.fetchIfRef(e)) instanceof Dict))
  28426. return !1; if (e.has("Kids")) {
  28427. if (++t > 10) {
  28428. warn("_hasOnlyDocumentSignatures: maximum recursion depth reached");
  28429. return !1;
  28430. }
  28431. return _this._hasOnlyDocumentSignatures(e.get("Kids"), t);
  28432. } var i = isName(e.get("FT"), "Sig"), a = e.get("Rect"), s = Array.isArray(a) && a.every((function (e) { return 0 === e; })); return i && s; }));
  28433. };
  28434. Object.defineProperty(PDFDocument.prototype, "_xfaStreams", {
  28435. get: function () { var e = this.catalog.acroForm; if (!e)
  28436. return null; var t = e.get("XFA"), i = { "xdp:xdp": "", template: "", datasets: "", config: "", connectionSet: "", localeSet: "", stylesheet: "", "/xdp:xdp": "" }; if (t instanceof BaseStream && !t.isEmpty) {
  28437. i["xdp:xdp"] = t;
  28438. return i;
  28439. } if (!Array.isArray(t) || 0 === t.length)
  28440. return null; for (var e_680 = 0, a_326 = t.length; e_680 < a_326; e_680 += 2) {
  28441. var s_217 = void 0;
  28442. s_217 = 0 === e_680 ? "xdp:xdp" : e_680 === a_326 - 2 ? "/xdp:xdp" : t[e_680];
  28443. if (!i.hasOwnProperty(s_217))
  28444. continue;
  28445. var r_182 = this.xref.fetchIfRef(t[e_680 + 1]);
  28446. r_182 instanceof BaseStream && !r_182.isEmpty && (i[s_217] = r_182);
  28447. } return i; },
  28448. enumerable: false,
  28449. configurable: true
  28450. });
  28451. Object.defineProperty(PDFDocument.prototype, "xfaDatasets", {
  28452. get: function () {
  28453. var _b;
  28454. var e = this._xfaStreams;
  28455. if (!e)
  28456. return shadow(this, "xfaDatasets", null);
  28457. for (var _k = 0, _l = ["datasets", "xdp:xdp"]; _k < _l.length; _k++) {
  28458. var t_496 = _l[_k];
  28459. var i_400 = e[t_496];
  28460. if (i_400)
  28461. try {
  28462. var e_681 = stringToUTF8String(i_400.getString());
  28463. return shadow(this, "xfaDatasets", new DatasetReader((_b = {}, _b[t_496] = e_681, _b)));
  28464. }
  28465. catch (_m) {
  28466. warn("XFA - Invalid utf-8 string.");
  28467. break;
  28468. }
  28469. }
  28470. return shadow(this, "xfaDatasets", null);
  28471. },
  28472. enumerable: false,
  28473. configurable: true
  28474. });
  28475. Object.defineProperty(PDFDocument.prototype, "xfaData", {
  28476. get: function () { var e = this._xfaStreams; if (!e)
  28477. return null; var t = Object.create(null); for (var _b = 0, _k = Object.entries(e); _b < _k.length; _b++) {
  28478. var _l = _k[_b], i_401 = _l[0], a_327 = _l[1];
  28479. if (a_327)
  28480. try {
  28481. t[i_401] = stringToUTF8String(a_327.getString());
  28482. }
  28483. catch (_m) {
  28484. warn("XFA - Invalid utf-8 string.");
  28485. return null;
  28486. }
  28487. } return t; },
  28488. enumerable: false,
  28489. configurable: true
  28490. });
  28491. Object.defineProperty(PDFDocument.prototype, "xfaFactory", {
  28492. get: function () { var e; this.pdfManager.enableXfa && this.catalog.needsRendering && this.formInfo.hasXfa && !this.formInfo.hasAcroForm && (e = this.xfaData); return shadow(this, "xfaFactory", e ? new XFAFactory(e) : null); },
  28493. enumerable: false,
  28494. configurable: true
  28495. });
  28496. Object.defineProperty(PDFDocument.prototype, "isPureXfa", {
  28497. get: function () { return !!this.xfaFactory && this.xfaFactory.isValid(); },
  28498. enumerable: false,
  28499. configurable: true
  28500. });
  28501. Object.defineProperty(PDFDocument.prototype, "htmlForXfa", {
  28502. get: function () { return this.xfaFactory ? this.xfaFactory.getPages() : null; },
  28503. enumerable: false,
  28504. configurable: true
  28505. });
  28506. PDFDocument.prototype.loadXfaImages = function () {
  28507. return tslib_1.__awaiter(this, void 0, void 0, function () { var e, t, i, a, _b, t_497, i_402, t_498; return tslib_1.__generator(this, function (_k) {
  28508. switch (_k.label) {
  28509. case 0: return [4 /*yield*/, this.pdfManager.ensureCatalog("xfaImages")];
  28510. case 1:
  28511. e = _k.sent();
  28512. if (!e)
  28513. return [2 /*return*/];
  28514. t = e.getKeys(), i = new ObjectLoader(e, t, this.xref);
  28515. return [4 /*yield*/, i.load()];
  28516. case 2:
  28517. _k.sent();
  28518. a = new Map;
  28519. for (_b = 0, t_497 = t; _b < t_497.length; _b++) {
  28520. i_402 = t_497[_b];
  28521. t_498 = e.get(i_402);
  28522. t_498 instanceof BaseStream && a.set(i_402, t_498.getBytes());
  28523. }
  28524. this.xfaFactory.setImages(a);
  28525. return [2 /*return*/];
  28526. }
  28527. }); });
  28528. };
  28529. PDFDocument.prototype.loadXfaFonts = function (e, t) {
  28530. return tslib_1.__awaiter(this, void 0, void 0, function () { var i, a, s, r, n, o, g, c, h, l, C, _b, l_33, _k, e_682, i_403, s_218, r_183, n_115, Q, E, _l, Q_28, e_683, _m, Q_29, e_684, _o, _p, i_404, s_219, r_184; return tslib_1.__generator(this, function (_q) {
  28531. switch (_q.label) {
  28532. case 0: return [4 /*yield*/, this.pdfManager.ensureCatalog("acroForm")];
  28533. case 1:
  28534. i = _q.sent();
  28535. if (!i)
  28536. return [2 /*return*/];
  28537. return [4 /*yield*/, i.getAsync("DR")];
  28538. case 2:
  28539. a = _q.sent();
  28540. if (!(a instanceof Dict))
  28541. return [2 /*return*/];
  28542. s = new ObjectLoader(a, ["Font"], this.xref);
  28543. return [4 /*yield*/, s.load()];
  28544. case 3:
  28545. _q.sent();
  28546. r = a.get("Font");
  28547. if (!(r instanceof Dict))
  28548. return [2 /*return*/];
  28549. n = Object.assign(Object.create(null), this.pdfManager.evaluatorOptions);
  28550. n.useSystemFonts = !1;
  28551. o = new PartialEvaluator({ xref: this.xref, handler: e, pageIndex: -1, idFactory: this._globalIdFactory, fontCache: this.catalog.fontCache, builtInCMapCache: this.catalog.builtInCMapCache, standardFontDataCache: this.catalog.standardFontDataCache, options: n }), g = new OperatorList, c = [], h = { get font() { return c.at(-1); }, set font(e) { c.push(e); }, clone: function () { return this; } }, l = new Map;
  28552. r.forEach((function (e, t) { l.set(e, t); }));
  28553. C = [];
  28554. for (_b = 0, l_33 = l; _b < l_33.length; _b++) {
  28555. _k = l_33[_b], e_682 = _k[0], i_403 = _k[1];
  28556. s_218 = i_403.get("FontDescriptor");
  28557. if (!(s_218 instanceof Dict))
  28558. continue;
  28559. r_183 = s_218.get("FontFamily");
  28560. r_183 = r_183.replaceAll(/[ ]+(\d)/g, "$1");
  28561. n_115 = { fontFamily: r_183, fontWeight: s_218.get("FontWeight"), italicAngle: -s_218.get("ItalicAngle") };
  28562. validateCSSFont(n_115) && C.push(o.handleSetFont(a, [Name.get(e_682), 1], null, g, t, h, null, n_115).catch((function (e) { warn("loadXfaFonts: \"".concat(e, "\".")); return null; })));
  28563. }
  28564. return [4 /*yield*/, Promise.all(C)];
  28565. case 4:
  28566. _q.sent();
  28567. Q = this.xfaFactory.setFonts(c);
  28568. if (!Q)
  28569. return [2 /*return*/];
  28570. n.ignoreErrors = !0;
  28571. C.length = 0;
  28572. c.length = 0;
  28573. E = new Set;
  28574. for (_l = 0, Q_28 = Q; _l < Q_28.length; _l++) {
  28575. e_683 = Q_28[_l];
  28576. getXfaFontName("".concat(e_683, "-Regular")) || E.add(e_683);
  28577. }
  28578. E.size && Q.push("PdfJS-Fallback");
  28579. for (_m = 0, Q_29 = Q; _m < Q_29.length; _m++) {
  28580. e_684 = Q_29[_m];
  28581. if (!E.has(e_684))
  28582. for (_o = 0, _p = [{ name: "Regular", fontWeight: 400, italicAngle: 0 }, { name: "Bold", fontWeight: 700, italicAngle: 0 }, { name: "Italic", fontWeight: 400, italicAngle: 12 }, { name: "BoldItalic", fontWeight: 700, italicAngle: 12 }]; _o < _p.length; _o++) {
  28583. i_404 = _p[_o];
  28584. s_219 = "".concat(e_684, "-").concat(i_404.name), r_184 = getXfaFontDict(s_219);
  28585. C.push(o.handleSetFont(a, [Name.get(s_219), 1], null, g, t, h, r_184, { fontFamily: e_684, fontWeight: i_404.fontWeight, italicAngle: i_404.italicAngle }).catch((function (e) { warn("loadXfaFonts: \"".concat(e, "\".")); return null; })));
  28586. }
  28587. }
  28588. return [4 /*yield*/, Promise.all(C)];
  28589. case 5:
  28590. _q.sent();
  28591. this.xfaFactory.appendFonts(c, E);
  28592. return [2 /*return*/];
  28593. }
  28594. }); });
  28595. };
  28596. PDFDocument.prototype.serializeXfaData = function (e) {
  28597. return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_b) {
  28598. return [2 /*return*/, this.xfaFactory ? this.xfaFactory.serializeData(e) : null];
  28599. }); });
  28600. };
  28601. Object.defineProperty(PDFDocument.prototype, "version", {
  28602. get: function () { return this.catalog.version || this._version; },
  28603. enumerable: false,
  28604. configurable: true
  28605. });
  28606. Object.defineProperty(PDFDocument.prototype, "formInfo", {
  28607. get: function () { var e = { hasFields: !1, hasAcroForm: !1, hasXfa: !1, hasSignatures: !1 }, t = this.catalog.acroForm; if (!t)
  28608. return shadow(this, "formInfo", e); try {
  28609. var i_405 = t.get("Fields"), a_328 = Array.isArray(i_405) && i_405.length > 0;
  28610. e.hasFields = a_328;
  28611. var s_220 = t.get("XFA");
  28612. e.hasXfa = Array.isArray(s_220) && s_220.length > 0 || s_220 instanceof BaseStream && !s_220.isEmpty;
  28613. var r_185 = !!(1 & t.get("SigFlags")), n_116 = r_185 && this._hasOnlyDocumentSignatures(i_405);
  28614. e.hasAcroForm = a_328 && !n_116;
  28615. e.hasSignatures = r_185;
  28616. }
  28617. catch (e) {
  28618. if (e instanceof MissingDataException)
  28619. throw e;
  28620. warn("Cannot fetch form information: \"".concat(e, "\"."));
  28621. } return shadow(this, "formInfo", e); },
  28622. enumerable: false,
  28623. configurable: true
  28624. });
  28625. Object.defineProperty(PDFDocument.prototype, "documentInfo", {
  28626. get: function () { var e = { PDFFormatVersion: this.version, Language: this.catalog.lang, EncryptFilterName: this.xref.encrypt ? this.xref.encrypt.filterName : null, IsLinearized: !!this.linearization, IsAcroFormPresent: this.formInfo.hasAcroForm, IsXFAPresent: this.formInfo.hasXfa, IsCollectionPresent: !!this.catalog.collection, IsSignaturesPresent: this.formInfo.hasSignatures }; var t; try {
  28627. t = this.xref.trailer.get("Info");
  28628. }
  28629. catch (e) {
  28630. if (e instanceof MissingDataException)
  28631. throw e;
  28632. info("The document information dictionary is invalid.");
  28633. } if (!(t instanceof Dict))
  28634. return shadow(this, "documentInfo", e); for (var _b = 0, _k = t.getKeys(); _b < _k.length; _b++) {
  28635. var i_406 = _k[_b];
  28636. var a_329 = t.get(i_406);
  28637. switch (i_406) {
  28638. case "Title":
  28639. case "Author":
  28640. case "Subject":
  28641. case "Keywords":
  28642. case "Creator":
  28643. case "Producer":
  28644. case "CreationDate":
  28645. case "ModDate":
  28646. if ("string" == typeof a_329) {
  28647. e[i_406] = stringToPDFString(a_329);
  28648. continue;
  28649. }
  28650. break;
  28651. case "Trapped":
  28652. if (a_329 instanceof Name) {
  28653. e[i_406] = a_329;
  28654. continue;
  28655. }
  28656. break;
  28657. default:
  28658. var t_499 = void 0;
  28659. switch (typeof a_329) {
  28660. case "string":
  28661. t_499 = stringToPDFString(a_329);
  28662. break;
  28663. case "number":
  28664. case "boolean":
  28665. t_499 = a_329;
  28666. break;
  28667. default: a_329 instanceof Name && (t_499 = a_329);
  28668. }
  28669. if (void 0 === t_499) {
  28670. warn("Bad value, for custom key \"".concat(i_406, "\", in Info: ").concat(a_329, "."));
  28671. continue;
  28672. }
  28673. e.Custom || (e.Custom = Object.create(null));
  28674. e.Custom[i_406] = t_499;
  28675. continue;
  28676. }
  28677. warn("Bad value, for key \"".concat(i_406, "\", in Info: ").concat(a_329, "."));
  28678. } return shadow(this, "documentInfo", e); },
  28679. enumerable: false,
  28680. configurable: true
  28681. });
  28682. Object.defineProperty(PDFDocument.prototype, "fingerprints", {
  28683. get: function () { function validate(e) { return "string" == typeof e && e.length > 0 && "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" !== e; } function hexString(e) { var t = []; for (var _b = 0, e_685 = e; _b < e_685.length; _b++) {
  28684. var i_407 = e_685[_b];
  28685. var e_686 = i_407.toString(16);
  28686. t.push(e_686.padStart(2, "0"));
  28687. } return t.join(""); } var e = this.xref.trailer.get("ID"); var t, i; if (Array.isArray(e) && validate(e[0])) {
  28688. t = stringToBytes(e[0]);
  28689. e[1] !== e[0] && validate(e[1]) && (i = stringToBytes(e[1]));
  28690. }
  28691. else
  28692. t = Js(this.stream.getByteRange(0, 1024), 0, 1024); return shadow(this, "fingerprints", [hexString(t), i ? hexString(i) : null]); },
  28693. enumerable: false,
  28694. configurable: true
  28695. });
  28696. PDFDocument.prototype._getLinearizationPage = function (e) {
  28697. return tslib_1.__awaiter(this, void 0, void 0, function () { var _b, t, i, a, s, e_687, i_409, _k, i_408; return tslib_1.__generator(this, function (_l) {
  28698. switch (_l.label) {
  28699. case 0:
  28700. _b = this, t = _b.catalog, i = _b.linearization, a = _b.xref, s = Ref.get(i.objectNumberFirst, 0);
  28701. _l.label = 1;
  28702. case 1:
  28703. _l.trys.push([1, 6, , 7]);
  28704. return [4 /*yield*/, a.fetchAsync(s)];
  28705. case 2:
  28706. e_687 = _l.sent();
  28707. if (!(e_687 instanceof Dict)) return [3 /*break*/, 5];
  28708. i_409 = e_687.getRaw("Type");
  28709. _k = i_409 instanceof Ref;
  28710. if (!_k) return [3 /*break*/, 4];
  28711. return [4 /*yield*/, a.fetchAsync(i_409)];
  28712. case 3:
  28713. _k = (i_409 = _l.sent());
  28714. _l.label = 4;
  28715. case 4:
  28716. _k;
  28717. if (isName(i_409, "Page") || !e_687.has("Type") && !e_687.has("Kids") && e_687.has("Contents")) {
  28718. t.pageKidsCountCache.has(s) || t.pageKidsCountCache.put(s, 1);
  28719. t.pageIndexCache.has(s) || t.pageIndexCache.put(s, 0);
  28720. return [2 /*return*/, [e_687, s]];
  28721. }
  28722. _l.label = 5;
  28723. case 5: throw new FormatError("The Linearization dictionary doesn't point to a valid Page dictionary.");
  28724. case 6:
  28725. i_408 = _l.sent();
  28726. warn("_getLinearizationPage: \"".concat(i_408.message, "\"."));
  28727. return [2 /*return*/, t.getPageDict(e)];
  28728. case 7: return [2 /*return*/];
  28729. }
  28730. }); });
  28731. };
  28732. PDFDocument.prototype.getPage = function (e) {
  28733. var _this = this;
  28734. var t = this._pagePromises.get(e);
  28735. if (t)
  28736. return t;
  28737. var _b = this, i = _b.catalog, a = _b.linearization, s = _b.xfaFactory;
  28738. var r;
  28739. r = s ? Promise.resolve([Dict.empty, null]) : (a === null || a === void 0 ? void 0 : a.pageFirst) === e ? this._getLinearizationPage(e) : i.getPageDict(e);
  28740. r = r.then((function (_b) {
  28741. var t = _b[0], a = _b[1];
  28742. return new Page({ pdfManager: _this.pdfManager, xref: _this.xref, pageIndex: e, pageDict: t, ref: a, globalIdFactory: _this._globalIdFactory, fontCache: i.fontCache, builtInCMapCache: i.builtInCMapCache, standardFontDataCache: i.standardFontDataCache, globalImageCache: i.globalImageCache, systemFontCache: i.systemFontCache, nonBlendModesSet: i.nonBlendModesSet, xfaFactory: s });
  28743. }));
  28744. this._pagePromises.set(e, r);
  28745. return r;
  28746. };
  28747. PDFDocument.prototype.checkFirstPage = function (e) {
  28748. if (e === void 0) { e = !1; }
  28749. return tslib_1.__awaiter(this, void 0, void 0, function () { var e_688; return tslib_1.__generator(this, function (_b) {
  28750. switch (_b.label) {
  28751. case 0:
  28752. if (!!e) return [3 /*break*/, 6];
  28753. _b.label = 1;
  28754. case 1:
  28755. _b.trys.push([1, 3, , 6]);
  28756. return [4 /*yield*/, this.getPage(0)];
  28757. case 2:
  28758. _b.sent();
  28759. return [3 /*break*/, 6];
  28760. case 3:
  28761. e_688 = _b.sent();
  28762. if (!(e_688 instanceof XRefEntryException)) return [3 /*break*/, 5];
  28763. this._pagePromises.delete(0);
  28764. return [4 /*yield*/, this.cleanup()];
  28765. case 4:
  28766. _b.sent();
  28767. throw new XRefParseException;
  28768. case 5: return [3 /*break*/, 6];
  28769. case 6: return [2 /*return*/];
  28770. }
  28771. }); });
  28772. };
  28773. PDFDocument.prototype.checkLastPage = function (e) {
  28774. if (e === void 0) { e = !1; }
  28775. return tslib_1.__awaiter(this, void 0, void 0, function () { var _b, t, i, a, s_221, r_187, i_410, _k, r_186, _l, e_689, _m, a_330, s_222, r_188; return tslib_1.__generator(this, function (_o) {
  28776. switch (_o.label) {
  28777. case 0:
  28778. _b = this, t = _b.catalog, i = _b.pdfManager;
  28779. t.setActualNumPages();
  28780. _o.label = 1;
  28781. case 1:
  28782. _o.trys.push([1, 4, , 10]);
  28783. return [4 /*yield*/, Promise.all([i.ensureDoc("xfaFactory"), i.ensureDoc("linearization"), i.ensureCatalog("numPages")])];
  28784. case 2:
  28785. _o.sent();
  28786. if (this.xfaFactory)
  28787. return [2 /*return*/];
  28788. a = this.linearization ? this.linearization.numPages : t.numPages;
  28789. if (!Number.isInteger(a))
  28790. throw new FormatError("Page count is not an integer.");
  28791. if (a <= 1)
  28792. return [2 /*return*/];
  28793. return [4 /*yield*/, this.getPage(a - 1)];
  28794. case 3:
  28795. _o.sent();
  28796. return [3 /*break*/, 10];
  28797. case 4:
  28798. s_221 = _o.sent();
  28799. this._pagePromises.delete(a - 1);
  28800. return [4 /*yield*/, this.cleanup()];
  28801. case 5:
  28802. _o.sent();
  28803. if (s_221 instanceof XRefEntryException && !e)
  28804. throw new XRefParseException;
  28805. warn("checkLastPage - invalid /Pages tree /Count: ".concat(a, "."));
  28806. _o.label = 6;
  28807. case 6:
  28808. _o.trys.push([6, 8, , 9]);
  28809. return [4 /*yield*/, t.getAllPageDicts(e)];
  28810. case 7:
  28811. r_187 = _o.sent();
  28812. return [3 /*break*/, 9];
  28813. case 8:
  28814. i_410 = _o.sent();
  28815. if (i_410 instanceof XRefEntryException && !e)
  28816. throw new XRefParseException;
  28817. t.setActualNumPages(1);
  28818. return [2 /*return*/];
  28819. case 9:
  28820. for (_k = 0, r_186 = r_187; _k < r_186.length; _k++) {
  28821. _l = r_186[_k], e_689 = _l[0], _m = _l[1], a_330 = _m[0], s_222 = _m[1];
  28822. r_188 = void 0;
  28823. if (a_330 instanceof Error) {
  28824. r_188 = Promise.reject(a_330);
  28825. r_188.catch((function () { }));
  28826. }
  28827. else
  28828. r_188 = Promise.resolve(new Page({ pdfManager: i, xref: this.xref, pageIndex: e_689, pageDict: a_330, ref: s_222, globalIdFactory: this._globalIdFactory, fontCache: t.fontCache, builtInCMapCache: t.builtInCMapCache, standardFontDataCache: t.standardFontDataCache, globalImageCache: t.globalImageCache, systemFontCache: t.systemFontCache, nonBlendModesSet: t.nonBlendModesSet, xfaFactory: null }));
  28829. this._pagePromises.set(e_689, r_188);
  28830. }
  28831. t.setActualNumPages(r_187.size);
  28832. return [3 /*break*/, 10];
  28833. case 10: return [2 /*return*/];
  28834. }
  28835. }); });
  28836. };
  28837. PDFDocument.prototype.fontFallback = function (e, t) { return this.catalog.fontFallback(e, t); };
  28838. PDFDocument.prototype.cleanup = function (e) {
  28839. if (e === void 0) { e = !1; }
  28840. return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_b) {
  28841. return [2 /*return*/, this.catalog ? this.catalog.cleanup(e) : clearGlobalCaches()];
  28842. }); });
  28843. };
  28844. Object.defineProperty(PDFDocument.prototype, "fieldObjects", {
  28845. get: function () {
  28846. var _this = this;
  28847. if (!this.formInfo.hasFields)
  28848. return shadow(this, "fieldObjects", Promise.resolve(null));
  28849. return shadow(this, "fieldObjects", Promise.all([this.pdfManager.ensureDoc("annotationGlobals"), this.pdfManager.ensureCatalog("acroForm")]).then((function (_b) {
  28850. var e = _b[0], t = _b[1];
  28851. return tslib_1.__awaiter(_this, void 0, void 0, function () { var i, a, s, _k, _l, a_331, r, _loop_6, _m, s_223, _o, e_690, t_500; return tslib_1.__generator(this, function (_p) {
  28852. switch (_p.label) {
  28853. case 0:
  28854. if (!e)
  28855. return [2 /*return*/, null];
  28856. i = new RefSet, a = Object.create(null), s = new Map;
  28857. _k = 0;
  28858. return [4 /*yield*/, t.getAsync("Fields")];
  28859. case 1:
  28860. _l = _p.sent();
  28861. _p.label = 2;
  28862. case 2:
  28863. if (!(_k < _l.length)) return [3 /*break*/, 5];
  28864. a_331 = _l[_k];
  28865. return [4 /*yield*/, tslib_1.__classPrivateFieldGet(this, _PDFDocument_instances, "m", _PDFDocument_q).call(this, "", a_331, s, e, i)];
  28866. case 3:
  28867. _p.sent();
  28868. _p.label = 4;
  28869. case 4:
  28870. _k++;
  28871. return [3 /*break*/, 2];
  28872. case 5:
  28873. r = [];
  28874. _loop_6 = function (e_690, t_500) {
  28875. r.push(Promise.all(t_500).then((function (t) { (t = t.filter((function (e) { return !!e; }))).length > 0 && (a[e_690] = t); })));
  28876. };
  28877. for (_m = 0, s_223 = s; _m < s_223.length; _m++) {
  28878. _o = s_223[_m], e_690 = _o[0], t_500 = _o[1];
  28879. _loop_6(e_690, t_500);
  28880. }
  28881. return [4 /*yield*/, Promise.all(r)];
  28882. case 6:
  28883. _p.sent();
  28884. return [2 /*return*/, a];
  28885. }
  28886. }); });
  28887. })));
  28888. },
  28889. enumerable: false,
  28890. configurable: true
  28891. });
  28892. Object.defineProperty(PDFDocument.prototype, "hasJSActions", {
  28893. get: function () { return shadow(this, "hasJSActions", this.pdfManager.ensureDoc("_parseHasJSActions")); },
  28894. enumerable: false,
  28895. configurable: true
  28896. });
  28897. PDFDocument.prototype._parseHasJSActions = function () {
  28898. return tslib_1.__awaiter(this, void 0, void 0, function () { var _b, e, t; return tslib_1.__generator(this, function (_k) {
  28899. switch (_k.label) {
  28900. case 0: return [4 /*yield*/, Promise.all([this.pdfManager.ensureCatalog("jsActions"), this.pdfManager.ensureDoc("fieldObjects")])];
  28901. case 1:
  28902. _b = _k.sent(), e = _b[0], t = _b[1];
  28903. return [2 /*return*/, !!e || !!t && Object.values(t).some((function (e) { return e.some((function (e) { return null !== e.actions; })); }))];
  28904. }
  28905. }); });
  28906. };
  28907. Object.defineProperty(PDFDocument.prototype, "calculationOrderIds", {
  28908. get: function () { var e = this.catalog.acroForm; if (!(e === null || e === void 0 ? void 0 : e.has("CO")))
  28909. return shadow(this, "calculationOrderIds", null); var t = e.get("CO"); if (!Array.isArray(t) || 0 === t.length)
  28910. return shadow(this, "calculationOrderIds", null); var i = []; for (var _b = 0, t_501 = t; _b < t_501.length; _b++) {
  28911. var e_691 = t_501[_b];
  28912. e_691 instanceof Ref && i.push(e_691.toString());
  28913. } return 0 === i.length ? shadow(this, "calculationOrderIds", null) : shadow(this, "calculationOrderIds", i); },
  28914. enumerable: false,
  28915. configurable: true
  28916. });
  28917. Object.defineProperty(PDFDocument.prototype, "annotationGlobals", {
  28918. get: function () { return shadow(this, "annotationGlobals", AnnotationFactory.createGlobals(this.pdfManager)); },
  28919. enumerable: false,
  28920. configurable: true
  28921. });
  28922. return PDFDocument;
  28923. }());
  28924. _PDFDocument_instances = new WeakSet(), _PDFDocument_q = function _PDFDocument_q(e, t, i, a, s) {
  28925. return tslib_1.__awaiter(this, void 0, void 0, function () { var r, n, t_502, _b, t_503, i_411, _k, o, _l, o_83, t_504; return tslib_1.__generator(this, function (_m) {
  28926. switch (_m.label) {
  28927. case 0:
  28928. r = this.xref;
  28929. if (!(t instanceof Ref) || s.has(t))
  28930. return [2 /*return*/];
  28931. s.put(t);
  28932. return [4 /*yield*/, r.fetchAsync(t)];
  28933. case 1:
  28934. n = _m.sent();
  28935. if (!(n instanceof Dict))
  28936. return [2 /*return*/];
  28937. if (!n.has("T")) return [3 /*break*/, 3];
  28938. _b = stringToPDFString;
  28939. return [4 /*yield*/, n.getAsync("T")];
  28940. case 2:
  28941. t_502 = _b.apply(void 0, [_m.sent()]);
  28942. e = "" === e ? t_502 : "".concat(e, ".").concat(t_502);
  28943. return [3 /*break*/, 9];
  28944. case 3:
  28945. t_503 = n;
  28946. _m.label = 4;
  28947. case 4:
  28948. t_503 = t_503.getRaw("Parent");
  28949. if (!(t_503 instanceof Ref)) return [3 /*break*/, 6];
  28950. if (s.has(t_503))
  28951. return [3 /*break*/, 9];
  28952. return [4 /*yield*/, r.fetchAsync(t_503)];
  28953. case 5:
  28954. t_503 = _m.sent();
  28955. _m.label = 6;
  28956. case 6:
  28957. if (!(t_503 instanceof Dict))
  28958. return [3 /*break*/, 9];
  28959. if (!t_503.has("T")) return [3 /*break*/, 8];
  28960. _k = stringToPDFString;
  28961. return [4 /*yield*/, t_503.getAsync("T")];
  28962. case 7:
  28963. i_411 = _k.apply(void 0, [_m.sent()]);
  28964. e = "" === e ? i_411 : "".concat(e, ".").concat(i_411);
  28965. return [3 /*break*/, 9];
  28966. case 8: return [3 /*break*/, 4];
  28967. case 9:
  28968. i.has(e) || i.set(e, []);
  28969. i.get(e).push(AnnotationFactory.create(r, t, a, null, !0, null).then((function (e) { return e === null || e === void 0 ? void 0 : e.getFieldObject(); })).catch((function (e) { warn("#collectFieldObjects: \"".concat(e, "\".")); return null; })));
  28970. if (!n.has("Kids"))
  28971. return [2 /*return*/];
  28972. return [4 /*yield*/, n.getAsync("Kids")];
  28973. case 10:
  28974. o = _m.sent();
  28975. if (!Array.isArray(o)) return [3 /*break*/, 14];
  28976. _l = 0, o_83 = o;
  28977. _m.label = 11;
  28978. case 11:
  28979. if (!(_l < o_83.length)) return [3 /*break*/, 14];
  28980. t_504 = o_83[_l];
  28981. return [4 /*yield*/, tslib_1.__classPrivateFieldGet(this, _PDFDocument_instances, "m", _PDFDocument_q).call(this, e, t_504, i, a, s)];
  28982. case 12:
  28983. _m.sent();
  28984. _m.label = 13;
  28985. case 13:
  28986. _l++;
  28987. return [3 /*break*/, 11];
  28988. case 14: return [2 /*return*/];
  28989. }
  28990. }); });
  28991. };
  28992. var BasePdfManager = /** @class */ (function () {
  28993. function BasePdfManager(e) {
  28994. var _b;
  28995. this.constructor === BasePdfManager && unreachable("Cannot initialize BasePdfManager.");
  28996. this._docBaseUrl = function parseDocBaseUrl(e) { if (e) {
  28997. var t_505 = createValidAbsoluteUrl(e);
  28998. if (t_505)
  28999. return t_505.href;
  29000. warn("Invalid absolute docBaseUrl: \"".concat(e, "\"."));
  29001. } return null; }(e.docBaseUrl);
  29002. this._docId = e.docId;
  29003. this._password = e.password;
  29004. this.enableXfa = e.enableXfa;
  29005. (_b = e.evaluatorOptions).isOffscreenCanvasSupported && (_b.isOffscreenCanvasSupported = FeatureTest.isOffscreenCanvasSupported);
  29006. this.evaluatorOptions = Object.freeze(e.evaluatorOptions);
  29007. }
  29008. Object.defineProperty(BasePdfManager.prototype, "docId", {
  29009. get: function () { return this._docId; },
  29010. enumerable: false,
  29011. configurable: true
  29012. });
  29013. Object.defineProperty(BasePdfManager.prototype, "password", {
  29014. get: function () { return this._password; },
  29015. enumerable: false,
  29016. configurable: true
  29017. });
  29018. Object.defineProperty(BasePdfManager.prototype, "docBaseUrl", {
  29019. get: function () { return this._docBaseUrl; },
  29020. enumerable: false,
  29021. configurable: true
  29022. });
  29023. Object.defineProperty(BasePdfManager.prototype, "catalog", {
  29024. get: function () { return this.pdfDocument.catalog; },
  29025. enumerable: false,
  29026. configurable: true
  29027. });
  29028. BasePdfManager.prototype.ensureDoc = function (e, t) { return this.ensure(this.pdfDocument, e, t); };
  29029. BasePdfManager.prototype.ensureXRef = function (e, t) { return this.ensure(this.pdfDocument.xref, e, t); };
  29030. BasePdfManager.prototype.ensureCatalog = function (e, t) { return this.ensure(this.pdfDocument.catalog, e, t); };
  29031. BasePdfManager.prototype.getPage = function (e) { return this.pdfDocument.getPage(e); };
  29032. BasePdfManager.prototype.fontFallback = function (e, t) { return this.pdfDocument.fontFallback(e, t); };
  29033. BasePdfManager.prototype.loadXfaFonts = function (e, t) { return this.pdfDocument.loadXfaFonts(e, t); };
  29034. BasePdfManager.prototype.loadXfaImages = function () { return this.pdfDocument.loadXfaImages(); };
  29035. BasePdfManager.prototype.serializeXfaData = function (e) { return this.pdfDocument.serializeXfaData(e); };
  29036. BasePdfManager.prototype.cleanup = function (e) {
  29037. if (e === void 0) { e = !1; }
  29038. return this.pdfDocument.cleanup(e);
  29039. };
  29040. BasePdfManager.prototype.ensure = function (e, t, i) {
  29041. return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_b) {
  29042. unreachable("Abstract method `ensure` called");
  29043. return [2 /*return*/];
  29044. }); });
  29045. };
  29046. BasePdfManager.prototype.requestRange = function (e, t) { unreachable("Abstract method `requestRange` called"); };
  29047. BasePdfManager.prototype.requestLoadedStream = function (e) {
  29048. if (e === void 0) { e = !1; }
  29049. unreachable("Abstract method `requestLoadedStream` called");
  29050. };
  29051. BasePdfManager.prototype.sendProgressiveData = function (e) { unreachable("Abstract method `sendProgressiveData` called"); };
  29052. BasePdfManager.prototype.updatePassword = function (e) { this._password = e; };
  29053. BasePdfManager.prototype.terminate = function (e) { unreachable("Abstract method `terminate` called"); };
  29054. return BasePdfManager;
  29055. }());
  29056. var LocalPdfManager = /** @class */ (function (_super) {
  29057. tslib_1.__extends(LocalPdfManager, _super);
  29058. function LocalPdfManager(e) {
  29059. var _this = _super.call(this, e) || this;
  29060. var t = new Stream(e.source);
  29061. _this.pdfDocument = new PDFDocument(_this, t);
  29062. _this._loadedStreamPromise = Promise.resolve(t);
  29063. return _this;
  29064. }
  29065. LocalPdfManager.prototype.ensure = function (e, t, i) {
  29066. return tslib_1.__awaiter(this, void 0, void 0, function () { var a; return tslib_1.__generator(this, function (_b) {
  29067. a = e[t];
  29068. return [2 /*return*/, "function" == typeof a ? a.apply(e, i) : a];
  29069. }); });
  29070. };
  29071. LocalPdfManager.prototype.requestRange = function (e, t) { return Promise.resolve(); };
  29072. LocalPdfManager.prototype.requestLoadedStream = function (e) {
  29073. if (e === void 0) { e = !1; }
  29074. return this._loadedStreamPromise;
  29075. };
  29076. LocalPdfManager.prototype.terminate = function (e) { };
  29077. return LocalPdfManager;
  29078. }(BasePdfManager));
  29079. var NetworkPdfManager = /** @class */ (function (_super) {
  29080. tslib_1.__extends(NetworkPdfManager, _super);
  29081. function NetworkPdfManager(e) {
  29082. var _this = _super.call(this, e) || this;
  29083. _this.streamManager = new ChunkedStreamManager(e.source, { msgHandler: e.handler, length: e.length, disableAutoFetch: e.disableAutoFetch, rangeChunkSize: e.rangeChunkSize });
  29084. _this.pdfDocument = new PDFDocument(_this, _this.streamManager.getStream());
  29085. return _this;
  29086. }
  29087. NetworkPdfManager.prototype.ensure = function (e, t, i) {
  29088. return tslib_1.__awaiter(this, void 0, void 0, function () { var a_333, a_332; return tslib_1.__generator(this, function (_b) {
  29089. switch (_b.label) {
  29090. case 0:
  29091. _b.trys.push([0, 1, , 3]);
  29092. a_333 = e[t];
  29093. return [2 /*return*/, "function" == typeof a_333 ? a_333.apply(e, i) : a_333];
  29094. case 1:
  29095. a_332 = _b.sent();
  29096. if (!(a_332 instanceof MissingDataException))
  29097. throw a_332;
  29098. return [4 /*yield*/, this.requestRange(a_332.begin, a_332.end)];
  29099. case 2:
  29100. _b.sent();
  29101. return [2 /*return*/, this.ensure(e, t, i)];
  29102. case 3: return [2 /*return*/];
  29103. }
  29104. }); });
  29105. };
  29106. NetworkPdfManager.prototype.requestRange = function (e, t) { return this.streamManager.requestRange(e, t); };
  29107. NetworkPdfManager.prototype.requestLoadedStream = function (e) {
  29108. if (e === void 0) { e = !1; }
  29109. return this.streamManager.requestAllChunks(e);
  29110. };
  29111. NetworkPdfManager.prototype.sendProgressiveData = function (e) { this.streamManager.onReceiveData({ chunk: e }); };
  29112. NetworkPdfManager.prototype.terminate = function (e) { this.streamManager.abort(e); };
  29113. return NetworkPdfManager;
  29114. }(BasePdfManager));
  29115. var go = 1, Io = 2, co = 1, ho = 2, lo = 3, Co = 4, Bo = 5, Qo = 6, Eo = 7, uo = 8;
  29116. function wrapReason(e) { e instanceof Error || "object" == typeof e && null !== e || unreachable('wrapReason: Expected "reason" to be a (possibly cloned) Error.'); switch (e.name) {
  29117. case "AbortException": return new AbortException(e.message);
  29118. case "MissingPDFException": return new MissingPDFException(e.message);
  29119. case "PasswordException": return new PasswordException(e.message, e.code);
  29120. case "UnexpectedResponseException": return new UnexpectedResponseException(e.message, e.status);
  29121. case "UnknownErrorException": return new UnknownErrorException(e.message, e.details);
  29122. default: return new UnknownErrorException(e.message, e.toString());
  29123. } }
  29124. var MessageHandler = /** @class */ (function () {
  29125. function MessageHandler(e, t, i) {
  29126. var _this = this;
  29127. _MessageHandler_instances.add(this);
  29128. this.sourceName = e;
  29129. this.targetName = t;
  29130. this.comObj = i;
  29131. this.callbackId = 1;
  29132. this.streamId = 1;
  29133. this.streamSinks = Object.create(null);
  29134. this.streamControllers = Object.create(null);
  29135. this.callbackCapabilities = Object.create(null);
  29136. this.actionHandler = Object.create(null);
  29137. this._onComObjOnMessage = function (e) { var t = e.data; if (t.targetName !== _this.sourceName)
  29138. return; if (t.stream) {
  29139. tslib_1.__classPrivateFieldGet(_this, _MessageHandler_instances, "m", _MessageHandler_O).call(_this, t);
  29140. return;
  29141. } if (t.callback) {
  29142. var e_692 = t.callbackId, i_412 = _this.callbackCapabilities[e_692];
  29143. if (!i_412)
  29144. throw new Error("Cannot resolve callback ".concat(e_692));
  29145. delete _this.callbackCapabilities[e_692];
  29146. if (t.callback === go)
  29147. i_412.resolve(t.data);
  29148. else {
  29149. if (t.callback !== Io)
  29150. throw new Error("Unexpected callback case");
  29151. i_412.reject(wrapReason(t.reason));
  29152. }
  29153. return;
  29154. } var a = _this.actionHandler[t.action]; if (!a)
  29155. throw new Error("Unknown action from worker: ".concat(t.action)); if (t.callbackId) {
  29156. var e_693 = _this.sourceName, s_224 = t.sourceName;
  29157. new Promise((function (e) { e(a(t.data)); })).then((function (a) { i.postMessage({ sourceName: e_693, targetName: s_224, callback: go, callbackId: t.callbackId, data: a }); }), (function (a) { i.postMessage({ sourceName: e_693, targetName: s_224, callback: Io, callbackId: t.callbackId, reason: wrapReason(a) }); }));
  29158. }
  29159. else
  29160. t.streamId ? tslib_1.__classPrivateFieldGet(_this, _MessageHandler_instances, "m", _MessageHandler_P).call(_this, t) : a(t.data); };
  29161. i.addEventListener("message", this._onComObjOnMessage);
  29162. }
  29163. MessageHandler.prototype.on = function (e, t) { var i = this.actionHandler; if (i[e])
  29164. throw new Error("There is already an actionName called \"".concat(e, "\"")); i[e] = t; };
  29165. MessageHandler.prototype.send = function (e, t, i) { this.comObj.postMessage({ sourceName: this.sourceName, targetName: this.targetName, action: e, data: t }, i); };
  29166. MessageHandler.prototype.sendWithPromise = function (e, t, i) { var a = this.callbackId++, s = Promise.withResolvers(); this.callbackCapabilities[a] = s; try {
  29167. this.comObj.postMessage({ sourceName: this.sourceName, targetName: this.targetName, action: e, callbackId: a, data: t }, i);
  29168. }
  29169. catch (e) {
  29170. s.reject(e);
  29171. } return s.promise; };
  29172. MessageHandler.prototype.sendWithStream = function (e, t, i, a) {
  29173. var _this = this;
  29174. var s = this.streamId++, r = this.sourceName, n = this.targetName, o = this.comObj;
  29175. return new ReadableStream({ start: function (i) { var g = Promise.withResolvers(); _this.streamControllers[s] = { controller: i, startCall: g, pullCall: null, cancelCall: null, isClosed: !1 }; o.postMessage({ sourceName: r, targetName: n, action: e, streamId: s, data: t, desiredSize: i.desiredSize }, a); return g.promise; }, pull: function (e) { var t = Promise.withResolvers(); _this.streamControllers[s].pullCall = t; o.postMessage({ sourceName: r, targetName: n, stream: Qo, streamId: s, desiredSize: e.desiredSize }); return t.promise; }, cancel: function (e) { assert(e instanceof Error, "cancel must have a valid reason"); var t = Promise.withResolvers(); _this.streamControllers[s].cancelCall = t; _this.streamControllers[s].isClosed = !0; o.postMessage({ sourceName: r, targetName: n, stream: co, streamId: s, reason: wrapReason(e) }); return t.promise; } }, i);
  29176. };
  29177. MessageHandler.prototype.destroy = function () { this.comObj.removeEventListener("message", this._onComObjOnMessage); };
  29178. return MessageHandler;
  29179. }());
  29180. _MessageHandler_instances = new WeakSet(), _MessageHandler_P = function _MessageHandler_P(e) { var t = e.streamId, i = this.sourceName, a = e.sourceName, s = this.comObj, r = this, n = this.actionHandler[e.action], o = { enqueue: function (e, r, n) {
  29181. if (r === void 0) { r = 1; }
  29182. if (this.isCancelled)
  29183. return;
  29184. var o = this.desiredSize;
  29185. this.desiredSize -= r;
  29186. if (o > 0 && this.desiredSize <= 0) {
  29187. this.sinkCapability = Promise.withResolvers();
  29188. this.ready = this.sinkCapability.promise;
  29189. }
  29190. s.postMessage({ sourceName: i, targetName: a, stream: Co, streamId: t, chunk: e }, n);
  29191. }, close: function () { if (!this.isCancelled) {
  29192. this.isCancelled = !0;
  29193. s.postMessage({ sourceName: i, targetName: a, stream: lo, streamId: t });
  29194. delete r.streamSinks[t];
  29195. } }, error: function (e) { assert(e instanceof Error, "error must have a valid reason"); if (!this.isCancelled) {
  29196. this.isCancelled = !0;
  29197. s.postMessage({ sourceName: i, targetName: a, stream: Bo, streamId: t, reason: wrapReason(e) });
  29198. } }, sinkCapability: Promise.withResolvers(), onPull: null, onCancel: null, isCancelled: !1, desiredSize: e.desiredSize, ready: null }; o.sinkCapability.resolve(); o.ready = o.sinkCapability.promise; this.streamSinks[t] = o; new Promise((function (t) { t(n(e.data, o)); })).then((function () { s.postMessage({ sourceName: i, targetName: a, stream: uo, streamId: t, success: !0 }); }), (function (e) { s.postMessage({ sourceName: i, targetName: a, stream: uo, streamId: t, reason: wrapReason(e) }); })); }, _MessageHandler_O = function _MessageHandler_O(e) { var t = e.streamId, i = this.sourceName, a = e.sourceName, s = this.comObj, r = this.streamControllers[t], n = this.streamSinks[t]; switch (e.stream) {
  29199. case uo:
  29200. e.success ? r.startCall.resolve() : r.startCall.reject(wrapReason(e.reason));
  29201. break;
  29202. case Eo:
  29203. e.success ? r.pullCall.resolve() : r.pullCall.reject(wrapReason(e.reason));
  29204. break;
  29205. case Qo:
  29206. if (!n) {
  29207. s.postMessage({ sourceName: i, targetName: a, stream: Eo, streamId: t, success: !0 });
  29208. break;
  29209. }
  29210. n.desiredSize <= 0 && e.desiredSize > 0 && n.sinkCapability.resolve();
  29211. n.desiredSize = e.desiredSize;
  29212. new Promise((function (e) { var _b; e((_b = n.onPull) === null || _b === void 0 ? void 0 : _b.call(n)); })).then((function () { s.postMessage({ sourceName: i, targetName: a, stream: Eo, streamId: t, success: !0 }); }), (function (e) { s.postMessage({ sourceName: i, targetName: a, stream: Eo, streamId: t, reason: wrapReason(e) }); }));
  29213. break;
  29214. case Co:
  29215. assert(r, "enqueue should have stream controller");
  29216. if (r.isClosed)
  29217. break;
  29218. r.controller.enqueue(e.chunk);
  29219. break;
  29220. case lo:
  29221. assert(r, "close should have stream controller");
  29222. if (r.isClosed)
  29223. break;
  29224. r.isClosed = !0;
  29225. r.controller.close();
  29226. tslib_1.__classPrivateFieldGet(this, _MessageHandler_instances, "m", _MessageHandler_W).call(this, r, t);
  29227. break;
  29228. case Bo:
  29229. assert(r, "error should have stream controller");
  29230. r.controller.error(wrapReason(e.reason));
  29231. tslib_1.__classPrivateFieldGet(this, _MessageHandler_instances, "m", _MessageHandler_W).call(this, r, t);
  29232. break;
  29233. case ho:
  29234. e.success ? r.cancelCall.resolve() : r.cancelCall.reject(wrapReason(e.reason));
  29235. tslib_1.__classPrivateFieldGet(this, _MessageHandler_instances, "m", _MessageHandler_W).call(this, r, t);
  29236. break;
  29237. case co:
  29238. if (!n)
  29239. break;
  29240. new Promise((function (t) { var _b; t((_b = n.onCancel) === null || _b === void 0 ? void 0 : _b.call(n, wrapReason(e.reason))); })).then((function () { s.postMessage({ sourceName: i, targetName: a, stream: ho, streamId: t, success: !0 }); }), (function (e) { s.postMessage({ sourceName: i, targetName: a, stream: ho, streamId: t, reason: wrapReason(e) }); }));
  29241. n.sinkCapability.reject(wrapReason(e.reason));
  29242. n.isCancelled = !0;
  29243. delete this.streamSinks[t];
  29244. break;
  29245. default: throw new Error("Unexpected stream case");
  29246. } }, _MessageHandler_W = function _MessageHandler_W(e, t) {
  29247. var _b, _k, _l;
  29248. return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_m) {
  29249. switch (_m.label) {
  29250. case 0: return [4 /*yield*/, Promise.allSettled([(_b = e.startCall) === null || _b === void 0 ? void 0 : _b.promise, (_k = e.pullCall) === null || _k === void 0 ? void 0 : _k.promise, (_l = e.cancelCall) === null || _l === void 0 ? void 0 : _l.promise])];
  29251. case 1:
  29252. _m.sent();
  29253. delete this.streamControllers[t];
  29254. return [2 /*return*/];
  29255. }
  29256. }); });
  29257. };
  29258. var PDFWorkerStream = /** @class */ (function () {
  29259. function PDFWorkerStream(e) {
  29260. this._msgHandler = e;
  29261. this._contentLength = null;
  29262. this._fullRequestReader = null;
  29263. this._rangeRequestReaders = [];
  29264. }
  29265. PDFWorkerStream.prototype.getFullReader = function () { assert(!this._fullRequestReader, "PDFWorkerStream.getFullReader can only be called once."); this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler); return this._fullRequestReader; };
  29266. PDFWorkerStream.prototype.getRangeReader = function (e, t) { var i = new PDFWorkerStreamRangeReader(e, t, this._msgHandler); this._rangeRequestReaders.push(i); return i; };
  29267. PDFWorkerStream.prototype.cancelAllRequests = function (e) { var _b; (_b = this._fullRequestReader) === null || _b === void 0 ? void 0 : _b.cancel(e); for (var _k = 0, _l = this._rangeRequestReaders.slice(0); _k < _l.length; _k++) {
  29268. var t_506 = _l[_k];
  29269. t_506.cancel(e);
  29270. } };
  29271. return PDFWorkerStream;
  29272. }());
  29273. var PDFWorkerStreamReader = /** @class */ (function () {
  29274. function PDFWorkerStreamReader(e) {
  29275. var _this = this;
  29276. this._msgHandler = e;
  29277. this.onProgress = null;
  29278. this._contentLength = null;
  29279. this._isRangeSupported = !1;
  29280. this._isStreamingSupported = !1;
  29281. var t = this._msgHandler.sendWithStream("GetReader");
  29282. this._reader = t.getReader();
  29283. this._headersReady = this._msgHandler.sendWithPromise("ReaderHeadersReady").then((function (e) { _this._isStreamingSupported = e.isStreamingSupported; _this._isRangeSupported = e.isRangeSupported; _this._contentLength = e.contentLength; }));
  29284. }
  29285. Object.defineProperty(PDFWorkerStreamReader.prototype, "headersReady", {
  29286. get: function () { return this._headersReady; },
  29287. enumerable: false,
  29288. configurable: true
  29289. });
  29290. Object.defineProperty(PDFWorkerStreamReader.prototype, "contentLength", {
  29291. get: function () { return this._contentLength; },
  29292. enumerable: false,
  29293. configurable: true
  29294. });
  29295. Object.defineProperty(PDFWorkerStreamReader.prototype, "isStreamingSupported", {
  29296. get: function () { return this._isStreamingSupported; },
  29297. enumerable: false,
  29298. configurable: true
  29299. });
  29300. Object.defineProperty(PDFWorkerStreamReader.prototype, "isRangeSupported", {
  29301. get: function () { return this._isRangeSupported; },
  29302. enumerable: false,
  29303. configurable: true
  29304. });
  29305. PDFWorkerStreamReader.prototype.read = function () {
  29306. return tslib_1.__awaiter(this, void 0, void 0, function () { var _b, e, t; return tslib_1.__generator(this, function (_k) {
  29307. switch (_k.label) {
  29308. case 0: return [4 /*yield*/, this._reader.read()];
  29309. case 1:
  29310. _b = _k.sent(), e = _b.value, t = _b.done;
  29311. return [2 /*return*/, t ? { value: void 0, done: !0 } : { value: e.buffer, done: !1 }];
  29312. }
  29313. }); });
  29314. };
  29315. PDFWorkerStreamReader.prototype.cancel = function (e) { this._reader.cancel(e); };
  29316. return PDFWorkerStreamReader;
  29317. }());
  29318. var PDFWorkerStreamRangeReader = /** @class */ (function () {
  29319. function PDFWorkerStreamRangeReader(e, t, i) {
  29320. this._msgHandler = i;
  29321. this.onProgress = null;
  29322. var a = this._msgHandler.sendWithStream("GetRangeReader", { begin: e, end: t });
  29323. this._reader = a.getReader();
  29324. }
  29325. Object.defineProperty(PDFWorkerStreamRangeReader.prototype, "isStreamingSupported", {
  29326. get: function () { return !1; },
  29327. enumerable: false,
  29328. configurable: true
  29329. });
  29330. PDFWorkerStreamRangeReader.prototype.read = function () {
  29331. return tslib_1.__awaiter(this, void 0, void 0, function () { var _b, e, t; return tslib_1.__generator(this, function (_k) {
  29332. switch (_k.label) {
  29333. case 0: return [4 /*yield*/, this._reader.read()];
  29334. case 1:
  29335. _b = _k.sent(), e = _b.value, t = _b.done;
  29336. return [2 /*return*/, t ? { value: void 0, done: !0 } : { value: e.buffer, done: !1 }];
  29337. }
  29338. }); });
  29339. };
  29340. PDFWorkerStreamRangeReader.prototype.cancel = function (e) { this._reader.cancel(e); };
  29341. return PDFWorkerStreamRangeReader;
  29342. }());
  29343. var WorkerTask = /** @class */ (function () {
  29344. function WorkerTask(e) {
  29345. this.name = e;
  29346. this.terminated = !1;
  29347. this._capability = Promise.withResolvers();
  29348. }
  29349. Object.defineProperty(WorkerTask.prototype, "finished", {
  29350. get: function () { return this._capability.promise; },
  29351. enumerable: false,
  29352. configurable: true
  29353. });
  29354. WorkerTask.prototype.finish = function () { this._capability.resolve(); };
  29355. WorkerTask.prototype.terminate = function () { this.terminated = !0; };
  29356. WorkerTask.prototype.ensureNotTerminated = function () { if (this.terminated)
  29357. throw new Error("Worker task was terminated"); };
  29358. return WorkerTask;
  29359. }());
  29360. var WorkerMessageHandler = /** @class */ (function () {
  29361. function WorkerMessageHandler() {
  29362. }
  29363. WorkerMessageHandler.setup = function (e, t) { var i = !1; e.on("test", (function (t) { if (!i) {
  29364. i = !0;
  29365. e.send("test", t instanceof Uint8Array);
  29366. } })); e.on("configure", (function (e) { !function setVerbosityLevel(e) { Number.isInteger(e) && (st = e); }(e.verbosity); })); e.on("GetDocRequest", (function (e) { return WorkerMessageHandler.createDocumentHandler(e, t); })); };
  29367. WorkerMessageHandler.createDocumentHandler = function (e, t) { var i, a = !1, s = null; var r = new Set, n = getVerbosityLevel(), o = e.docId, g = e.apiVersion, c = "4.3.136"; if (g !== c)
  29368. throw new Error("The API version \"".concat(g, "\" does not match the Worker version \"").concat(c, "\".")); var h = []; for (var e_694 in [])
  29369. h.push(e_694); if (h.length)
  29370. throw new Error("The `Array.prototype` contains unexpected enumerable properties: " + h.join(", ") + "; thus breaking e.g. `for...in` iteration of `Array`s."); var l = o + "_worker"; var C = new MessageHandler(l, o, t); function ensureNotTerminated() { if (a)
  29371. throw new Error("Worker was terminated"); } function startWorkerTask(e) { r.add(e); } function finishWorkerTask(e) { e.finish(); r.delete(e); } function loadDocument(e) {
  29372. return tslib_1.__awaiter(this, void 0, void 0, function () {
  29373. var t, e_695, _b, a, s, _k;
  29374. var _l;
  29375. return tslib_1.__generator(this, function (_m) {
  29376. switch (_m.label) {
  29377. case 0: return [4 /*yield*/, i.ensureDoc("checkHeader")];
  29378. case 1:
  29379. _m.sent();
  29380. return [4 /*yield*/, i.ensureDoc("parseStartXRef")];
  29381. case 2:
  29382. _m.sent();
  29383. return [4 /*yield*/, i.ensureDoc("parse", [e])];
  29384. case 3:
  29385. _m.sent();
  29386. return [4 /*yield*/, i.ensureDoc("checkFirstPage", [e])];
  29387. case 4:
  29388. _m.sent();
  29389. return [4 /*yield*/, i.ensureDoc("checkLastPage", [e])];
  29390. case 5:
  29391. _m.sent();
  29392. return [4 /*yield*/, i.ensureDoc("isPureXfa")];
  29393. case 6:
  29394. t = _m.sent();
  29395. if (!t) return [3 /*break*/, 8];
  29396. e_695 = new WorkerTask("loadXfaFonts");
  29397. startWorkerTask(e_695);
  29398. return [4 /*yield*/, Promise.all([i.loadXfaFonts(C, e_695).catch((function (e) { })).then((function () { return finishWorkerTask(e_695); })), i.loadXfaImages()])];
  29399. case 7:
  29400. _m.sent();
  29401. _m.label = 8;
  29402. case 8: return [4 /*yield*/, Promise.all([i.ensureDoc("numPages"), i.ensureDoc("fingerprints")])];
  29403. case 9:
  29404. _b = _m.sent(), a = _b[0], s = _b[1];
  29405. _l = { numPages: a, fingerprints: s };
  29406. if (!t) return [3 /*break*/, 11];
  29407. return [4 /*yield*/, i.ensureDoc("htmlForXfa")];
  29408. case 10:
  29409. _k = _m.sent();
  29410. return [3 /*break*/, 12];
  29411. case 11:
  29412. _k = null;
  29413. _m.label = 12;
  29414. case 12: return [2 /*return*/, (_l.htmlForXfa = _k, _l)];
  29415. }
  29416. });
  29417. });
  29418. } function getPdfManager(_b) {
  29419. var e = _b.data, t = _b.password, i = _b.disableAutoFetch, a = _b.rangeChunkSize, r = _b.length, n = _b.docBaseUrl, g = _b.enableXfa, c = _b.evaluatorOptions;
  29420. var h = { source: null, disableAutoFetch: i, docBaseUrl: n, docId: o, enableXfa: g, evaluatorOptions: c, handler: C, length: r, password: t, rangeChunkSize: a }, l = Promise.withResolvers();
  29421. var Q;
  29422. if (e) {
  29423. try {
  29424. h.source = e;
  29425. Q = new LocalPdfManager(h);
  29426. l.resolve(Q);
  29427. }
  29428. catch (e) {
  29429. l.reject(e);
  29430. }
  29431. return l.promise;
  29432. }
  29433. var E, u = [];
  29434. try {
  29435. E = new PDFWorkerStream(C);
  29436. }
  29437. catch (e) {
  29438. l.reject(e);
  29439. return l.promise;
  29440. }
  29441. var d = E.getFullReader();
  29442. d.headersReady.then((function () { if (d.isRangeSupported) {
  29443. h.source = E;
  29444. h.length = d.contentLength;
  29445. h.disableAutoFetch || (h.disableAutoFetch = d.isStreamingSupported);
  29446. Q = new NetworkPdfManager(h);
  29447. for (var _b = 0, u_15 = u; _b < u_15.length; _b++) {
  29448. var e_696 = u_15[_b];
  29449. Q.sendProgressiveData(e_696);
  29450. }
  29451. u = [];
  29452. l.resolve(Q);
  29453. s = null;
  29454. } })).catch((function (e) { l.reject(e); s = null; }));
  29455. var f = 0;
  29456. new Promise((function (e, t) { var readChunk = function (_b) {
  29457. var e = _b.value, i = _b.done;
  29458. try {
  29459. ensureNotTerminated();
  29460. if (i) {
  29461. Q || function () { var e = arrayBuffersToBytes(u); r && e.length !== r && warn("reported HTTP length is different from actual"); try {
  29462. h.source = e;
  29463. Q = new LocalPdfManager(h);
  29464. l.resolve(Q);
  29465. }
  29466. catch (e) {
  29467. l.reject(e);
  29468. } u = []; }();
  29469. s = null;
  29470. return;
  29471. }
  29472. f += e.byteLength;
  29473. d.isStreamingSupported || C.send("DocProgress", { loaded: f, total: Math.max(f, d.contentLength || 0) });
  29474. Q ? Q.sendProgressiveData(e) : u.push(e);
  29475. d.read().then(readChunk, t);
  29476. }
  29477. catch (e) {
  29478. t(e);
  29479. }
  29480. }; d.read().then(readChunk, t); })).catch((function (e) { l.reject(e); s = null; }));
  29481. s = function (e) { E.cancelAllRequests(e); };
  29482. return l.promise;
  29483. } C.on("GetPage", (function (e) { return i.getPage(e.pageIndex).then((function (e) { return Promise.all([i.ensure(e, "rotate"), i.ensure(e, "ref"), i.ensure(e, "userUnit"), i.ensure(e, "view")]).then((function (_b) {
  29484. var _k;
  29485. var e = _b[0], t = _b[1], i = _b[2], a = _b[3];
  29486. return { rotate: e, ref: t, refStr: (_k = t === null || t === void 0 ? void 0 : t.toString()) !== null && _k !== void 0 ? _k : null, userUnit: i, view: a };
  29487. })); })); })); C.on("GetPageIndex", (function (e) { var t = Ref.get(e.num, e.gen); return i.ensureCatalog("getPageIndex", [t]); })); C.on("GetDestinations", (function (e) { return i.ensureCatalog("destinations"); })); C.on("GetDestination", (function (e) { return i.ensureCatalog("getDestination", [e.id]); })); C.on("GetPageLabels", (function (e) { return i.ensureCatalog("pageLabels"); })); C.on("GetPageLayout", (function (e) { return i.ensureCatalog("pageLayout"); })); C.on("GetPageMode", (function (e) { return i.ensureCatalog("pageMode"); })); C.on("GetViewerPreferences", (function (e) { return i.ensureCatalog("viewerPreferences"); })); C.on("GetOpenAction", (function (e) { return i.ensureCatalog("openAction"); })); C.on("GetAttachments", (function (e) { return i.ensureCatalog("attachments"); })); C.on("GetDocJSActions", (function (e) { return i.ensureCatalog("jsActions"); })); C.on("GetPageJSActions", (function (_b) {
  29488. var e = _b.pageIndex;
  29489. return i.getPage(e).then((function (e) { return i.ensure(e, "jsActions"); }));
  29490. })); C.on("GetOutline", (function (e) { return i.ensureCatalog("documentOutline"); })); C.on("GetOptionalContentConfig", (function (e) { return i.ensureCatalog("optionalContentConfig"); })); C.on("GetPermissions", (function (e) { return i.ensureCatalog("permissions"); })); C.on("GetMetadata", (function (e) { return Promise.all([i.ensureDoc("documentInfo"), i.ensureCatalog("metadata")]); })); C.on("GetMarkInfo", (function (e) { return i.ensureCatalog("markInfo"); })); C.on("GetData", (function (e) { return i.requestLoadedStream().then((function (e) { return e.bytes; })); })); C.on("GetAnnotations", (function (_b) {
  29491. var e = _b.pageIndex, t = _b.intent;
  29492. return i.getPage(e).then((function (i) { var a = new WorkerTask("GetAnnotations: page ".concat(e)); startWorkerTask(a); return i.getAnnotationsData(C, a, t).then((function (e) { finishWorkerTask(a); return e; }), (function (e) { finishWorkerTask(a); throw e; })); }));
  29493. })); C.on("GetFieldObjects", (function (e) { return i.ensureDoc("fieldObjects"); })); C.on("HasJSActions", (function (e) { return i.ensureDoc("hasJSActions"); })); C.on("GetCalculationOrderIds", (function (e) { return i.ensureDoc("calculationOrderIds"); })); C.on("SaveDocument", (function (_b) {
  29494. var _k;
  29495. var e = _b.isPureXfa, t = _b.numPages, a = _b.annotationStorage, s = _b.filename;
  29496. return tslib_1.__awaiter(this, void 0, void 0, function () {
  29497. var r, n, o, _l, g, c, h, l, Q, E, u, d, f, _m, e_697, t_507, _loop_7, _o, o_84, _p, a_334, s_225, _loop_8, e_698, p, m, y, w, b, D, F, e_699, t_508, S, e_700, t_509;
  29498. var _this = this;
  29499. return tslib_1.__generator(this, function (_q) {
  29500. switch (_q.label) {
  29501. case 0:
  29502. r = [i.requestLoadedStream(), i.ensureCatalog("acroForm"), i.ensureCatalog("acroFormRef"), i.ensureDoc("startXRef"), i.ensureDoc("xref"), i.ensureDoc("linearization"), i.ensureCatalog("structTreeRoot")], n = [], o = e ? null : getNewAnnotationsMap(a);
  29503. return [4 /*yield*/, Promise.all(r)];
  29504. case 1:
  29505. _l = _q.sent(), g = _l[0], c = _l[1], h = _l[2], l = _l[3], Q = _l[4], E = _l[5], u = _l[6], d = Q.trailer.getRaw("Root") || null;
  29506. if (!o) return [3 /*break*/, 6];
  29507. if (!u) return [3 /*break*/, 3];
  29508. return [4 /*yield*/, u.canUpdateStructTree({ pdfManager: i, xref: Q, newAnnotationsByPage: o })];
  29509. case 2:
  29510. _m = (_q.sent()) && (f = u);
  29511. return [3 /*break*/, 5];
  29512. case 3: return [4 /*yield*/, StructTreeRoot.canCreateStructureTree({ catalogRef: d, pdfManager: i, newAnnotationsByPage: o })];
  29513. case 4:
  29514. _m = (_q.sent()) && (f = null);
  29515. _q.label = 5;
  29516. case 5:
  29517. _m;
  29518. e_697 = AnnotationFactory.generateImages(a.values(), Q, i.evaluatorOptions.isOffscreenCanvasSupported), t_507 = void 0 === f ? n : [];
  29519. _loop_7 = function (a_334, s_225) {
  29520. t_507.push(i.getPage(a_334).then((function (t) { var i = new WorkerTask("Save (editor): page ".concat(a_334)); return t.saveNewAnnotations(C, i, s_225, e_697).finally((function () { finishWorkerTask(i); })); })));
  29521. };
  29522. for (_o = 0, o_84 = o; _o < o_84.length; _o++) {
  29523. _p = o_84[_o], a_334 = _p[0], s_225 = _p[1];
  29524. _loop_7(a_334, s_225);
  29525. }
  29526. null === f ? n.push(Promise.all(t_507).then((function (e) { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_b) {
  29527. switch (_b.label) {
  29528. case 0: return [4 /*yield*/, StructTreeRoot.createStructureTree({ newAnnotationsByPage: o, xref: Q, catalogRef: d, pdfManager: i, newRefs: e })];
  29529. case 1:
  29530. _b.sent();
  29531. return [2 /*return*/, e];
  29532. }
  29533. }); }); }))) : f && n.push(Promise.all(t_507).then((function (e) { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_b) {
  29534. switch (_b.label) {
  29535. case 0: return [4 /*yield*/, f.updateStructureTree({ newAnnotationsByPage: o, pdfManager: i, newRefs: e })];
  29536. case 1:
  29537. _b.sent();
  29538. return [2 /*return*/, e];
  29539. }
  29540. }); }); })));
  29541. _q.label = 6;
  29542. case 6:
  29543. if (e)
  29544. n.push(i.serializeXfaData(a));
  29545. else {
  29546. _loop_8 = function (e_698) {
  29547. n.push(i.getPage(e_698).then((function (t) { var i = new WorkerTask("Save: page ".concat(e_698)); return t.save(C, i, a).finally((function () { finishWorkerTask(i); })); })));
  29548. };
  29549. for (e_698 = 0; e_698 < t; e_698++) {
  29550. _loop_8(e_698);
  29551. }
  29552. }
  29553. return [4 /*yield*/, Promise.all(n)];
  29554. case 7:
  29555. p = _q.sent();
  29556. m = [], y = null;
  29557. if (e) {
  29558. y = p[0];
  29559. if (!y)
  29560. return [2 /*return*/, g.bytes];
  29561. }
  29562. else {
  29563. m = p.flat(2);
  29564. if (0 === m.length)
  29565. return [2 /*return*/, g.bytes];
  29566. }
  29567. w = h && c instanceof Dict && m.some((function (e) { return e.needAppearances; })), b = c instanceof Dict && c.get("XFA") || null;
  29568. D = null, F = !1;
  29569. if (Array.isArray(b)) {
  29570. for (e_699 = 0, t_508 = b.length; e_699 < t_508; e_699 += 2)
  29571. if ("datasets" === b[e_699]) {
  29572. D = b[e_699 + 1];
  29573. F = !0;
  29574. }
  29575. null === D && (D = Q.getNewTemporaryRef());
  29576. }
  29577. else
  29578. b && warn("Unsupported XFA type.");
  29579. S = Object.create(null);
  29580. if (Q.trailer) {
  29581. e_700 = Object.create(null), t_509 = Q.trailer.get("Info") || null;
  29582. t_509 instanceof Dict && t_509.forEach((function (t, i) { "string" == typeof i && (e_700[t] = stringToPDFString(i)); }));
  29583. S = { rootRef: d, encryptRef: Q.trailer.getRaw("Encrypt") || null, newRef: Q.getNewTemporaryRef(), infoRef: Q.trailer.getRaw("Info") || null, info: e_700, fileIds: Q.trailer.get("ID") || null, startXRef: E ? l : (_k = Q.lastXRefStreamPos) !== null && _k !== void 0 ? _k : l, filename: s };
  29584. }
  29585. return [2 /*return*/, incrementalUpdate({ originalData: g.bytes, xrefInfo: S, newRefs: m, xref: Q, hasXfa: !!b, xfaDatasetsRef: D, hasXfaDatasetsEntry: F, needAppearances: w, acroFormRef: h, acroForm: c, xfaData: y, useXrefStream: isDict(Q.topDict, "XRef") }).finally((function () { Q.resetNewTemporaryRef(); }))];
  29586. }
  29587. });
  29588. });
  29589. })); C.on("GetOperatorList", (function (e, t) { var a = e.pageIndex; i.getPage(a).then((function (i) { var s = new WorkerTask("GetOperatorList: page ".concat(a)); startWorkerTask(s); var r = n >= pA.INFOS ? Date.now() : 0; i.getOperatorList({ handler: C, sink: t, task: s, intent: e.intent, cacheKey: e.cacheKey, annotationStorage: e.annotationStorage }).then((function (e) { finishWorkerTask(s); r && info("page=".concat(a + 1, " - getOperatorList: time=").concat(Date.now() - r, "ms, len=").concat(e.length)); t.close(); }), (function (e) { finishWorkerTask(s); s.terminated || t.error(e); })); })); })); C.on("GetTextContent", (function (e, t) { var a = e.pageIndex, s = e.includeMarkedContent, r = e.disableNormalization; i.getPage(a).then((function (e) { var i = new WorkerTask("GetTextContent: page " + a); startWorkerTask(i); var o = n >= pA.INFOS ? Date.now() : 0; e.extractTextContent({ handler: C, task: i, sink: t, includeMarkedContent: s, disableNormalization: r }).then((function () { finishWorkerTask(i); o && info("page=".concat(a + 1, " - getTextContent: time=") + (Date.now() - o) + "ms"); t.close(); }), (function (e) { finishWorkerTask(i); i.terminated || t.error(e); })); })); })); C.on("GetStructTree", (function (e) { return i.getPage(e.pageIndex).then((function (e) { return i.ensure(e, "getStructTree"); })); })); C.on("FontFallback", (function (e) { return i.fontFallback(e.id, C); })); C.on("Cleanup", (function (e) { return i.cleanup(!0); })); C.on("Terminate", (function (e) { a = !0; var t = []; if (i) {
  29590. i.terminate(new AbortException("Worker was terminated."));
  29591. var e_701 = i.cleanup();
  29592. t.push(e_701);
  29593. i = null;
  29594. }
  29595. else
  29596. clearGlobalCaches(); s && s(new AbortException("Worker was terminated.")); for (var _b = 0, r_189 = r; _b < r_189.length; _b++) {
  29597. var e_702 = r_189[_b];
  29598. t.push(e_702.finished);
  29599. e_702.terminate();
  29600. } return Promise.all(t).then((function () { C.destroy(); C = null; })); })); C.on("Ready", (function (t) { !function setupDoc(e) { function onSuccess(e) { ensureNotTerminated(); C.send("GetDoc", { pdfInfo: e }); } function onFailure(e) { ensureNotTerminated(); if (e instanceof PasswordException) {
  29601. var t_510 = new WorkerTask("PasswordException: response ".concat(e.code));
  29602. startWorkerTask(t_510);
  29603. C.sendWithPromise("PasswordRequest", e).then((function (_b) {
  29604. var e = _b.password;
  29605. finishWorkerTask(t_510);
  29606. i.updatePassword(e);
  29607. pdfManagerReady();
  29608. })).catch((function () { finishWorkerTask(t_510); C.send("DocException", e); }));
  29609. }
  29610. else
  29611. e instanceof InvalidPDFException || e instanceof MissingPDFException || e instanceof UnexpectedResponseException || e instanceof UnknownErrorException ? C.send("DocException", e) : C.send("DocException", new UnknownErrorException(e.message, e.toString())); } function pdfManagerReady() { ensureNotTerminated(); loadDocument(!1).then(onSuccess, (function (e) { ensureNotTerminated(); e instanceof XRefParseException ? i.requestLoadedStream().then((function () { ensureNotTerminated(); loadDocument(!0).then(onSuccess, onFailure); })) : onFailure(e); })); } ensureNotTerminated(); getPdfManager(e).then((function (e) { if (a) {
  29612. e.terminate(new AbortException("Worker was terminated."));
  29613. throw new Error("Worker was terminated");
  29614. } i = e; i.requestLoadedStream(!0).then((function (e) { C.send("DataLoaded", { length: e.bytes.byteLength }); })); })).then(pdfManagerReady, onFailure); }(e); e = null; })); return l; };
  29615. WorkerMessageHandler.initializeFromPort = function (e) { var t = new MessageHandler("worker", "main", e); WorkerMessageHandler.setup(t, e); t.send("ready", null); };
  29616. return WorkerMessageHandler;
  29617. }());
  29618. "undefined" == typeof window && !t && "undefined" != typeof self && function isMessagePort(e) { return "function" == typeof e.postMessage && "onmessage" in e; }(self) && WorkerMessageHandler.initializeFromPort(self);
  29619. var fo = __webpack_exports__.WorkerMessageHandler;
  29620. exports.WorkerMessageHandler = fo;
  29621. });