pdf.js 895 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064
  1. /**
  2. * @licstart The following is the entire license notice for the
  3. * Javascript code in this page
  4. *
  5. * Copyright 2021 Mozilla Foundation
  6. *
  7. * Licensed under the Apache License, Version 2.0 (the "License");
  8. * you may not use this file except in compliance with the License.
  9. * You may obtain a copy of the License at
  10. *
  11. * http://www.apache.org/licenses/LICENSE-2.0
  12. *
  13. * Unless required by applicable law or agreed to in writing, software
  14. * distributed under the License is distributed on an "AS IS" BASIS,
  15. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  16. * See the License for the specific language governing permissions and
  17. * limitations under the License.
  18. *
  19. * @licend The above is the entire license notice for the
  20. * Javascript code in this page
  21. */
  22. (function webpackUniversalModuleDefinition(root, factory) {
  23. if(typeof exports === 'object' && typeof module === 'object')
  24. module.exports = factory();
  25. else if(typeof define === 'function' && define.amd)
  26. define("pdfjs-dist/build/pdf", [], factory);
  27. else if(typeof exports === 'object')
  28. exports["pdfjs-dist/build/pdf"] = factory();
  29. else
  30. root["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory();
  31. })(this, function() {
  32. return /******/ (() => { // webpackBootstrap
  33. /******/ var __webpack_modules__ = ([
  34. /* 0 */,
  35. /* 1 */
  36. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  37. "use strict";
  38. function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  39. Object.defineProperty(exports, "__esModule", ({
  40. value: true
  41. }));
  42. exports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.LinkTarget = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = void 0;
  43. exports.addLinkAttributes = addLinkAttributes;
  44. exports.deprecated = deprecated;
  45. exports.getFilenameFromUrl = getFilenameFromUrl;
  46. exports.getPdfFilenameFromUrl = getPdfFilenameFromUrl;
  47. exports.getXfaPageViewport = getXfaPageViewport;
  48. exports.isDataScheme = isDataScheme;
  49. exports.isPdfFile = isPdfFile;
  50. exports.isValidFetchUrl = isValidFetchUrl;
  51. exports.loadScript = loadScript;
  52. var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
  53. var _util = __w_pdfjs_require__(4);
  54. var _base_factory = __w_pdfjs_require__(135);
  55. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  56. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  57. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  58. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  59. function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
  60. function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
  61. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  62. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  63. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  64. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
  65. function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
  66. function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
  67. function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
  68. function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  69. function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
  70. function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
  71. var DEFAULT_LINK_REL = "noopener noreferrer nofollow";
  72. var SVG_NS = "http://www.w3.org/2000/svg";
  73. var PixelsPerInch = {
  74. CSS: 96.0,
  75. PDF: 72.0,
  76. get PDF_TO_CSS_UNITS() {
  77. return (0, _util.shadow)(this, "PDF_TO_CSS_UNITS", this.CSS / this.PDF);
  78. }
  79. };
  80. exports.PixelsPerInch = PixelsPerInch;
  81. var DOMCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {
  82. _inherits(DOMCanvasFactory, _BaseCanvasFactory);
  83. var _super = _createSuper(DOMCanvasFactory);
  84. function DOMCanvasFactory() {
  85. var _this;
  86. var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
  87. _ref$ownerDocument = _ref.ownerDocument,
  88. ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument;
  89. _classCallCheck(this, DOMCanvasFactory);
  90. _this = _super.call(this);
  91. _this._document = ownerDocument;
  92. return _this;
  93. }
  94. _createClass(DOMCanvasFactory, [{
  95. key: "_createCanvas",
  96. value: function _createCanvas(width, height) {
  97. var canvas = this._document.createElement("canvas");
  98. canvas.width = width;
  99. canvas.height = height;
  100. return canvas;
  101. }
  102. }]);
  103. return DOMCanvasFactory;
  104. }(_base_factory.BaseCanvasFactory);
  105. exports.DOMCanvasFactory = DOMCanvasFactory;
  106. function fetchData(_x) {
  107. return _fetchData.apply(this, arguments);
  108. }
  109. function _fetchData() {
  110. _fetchData = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(url) {
  111. var asTypedArray,
  112. response,
  113. _args = arguments;
  114. return _regenerator["default"].wrap(function _callee$(_context) {
  115. while (1) {
  116. switch (_context.prev = _context.next) {
  117. case 0:
  118. asTypedArray = _args.length > 1 && _args[1] !== undefined ? _args[1] : false;
  119. if (!isValidFetchUrl(url, document.baseURI)) {
  120. _context.next = 21;
  121. break;
  122. }
  123. _context.next = 4;
  124. return fetch(url);
  125. case 4:
  126. response = _context.sent;
  127. if (response.ok) {
  128. _context.next = 7;
  129. break;
  130. }
  131. throw new Error(response.statusText);
  132. case 7:
  133. if (!asTypedArray) {
  134. _context.next = 15;
  135. break;
  136. }
  137. _context.t1 = Uint8Array;
  138. _context.next = 11;
  139. return response.arrayBuffer();
  140. case 11:
  141. _context.t2 = _context.sent;
  142. _context.t0 = new _context.t1(_context.t2);
  143. _context.next = 20;
  144. break;
  145. case 15:
  146. _context.t3 = _util.stringToBytes;
  147. _context.next = 18;
  148. return response.text();
  149. case 18:
  150. _context.t4 = _context.sent;
  151. _context.t0 = (0, _context.t3)(_context.t4);
  152. case 20:
  153. return _context.abrupt("return", _context.t0);
  154. case 21:
  155. return _context.abrupt("return", new Promise(function (resolve, reject) {
  156. var request = new XMLHttpRequest();
  157. request.open("GET", url, true);
  158. if (asTypedArray) {
  159. request.responseType = "arraybuffer";
  160. }
  161. request.onreadystatechange = function () {
  162. if (request.readyState !== XMLHttpRequest.DONE) {
  163. return;
  164. }
  165. if (request.status === 200 || request.status === 0) {
  166. var data;
  167. if (asTypedArray && request.response) {
  168. data = new Uint8Array(request.response);
  169. } else if (!asTypedArray && request.responseText) {
  170. data = (0, _util.stringToBytes)(request.responseText);
  171. }
  172. if (data) {
  173. resolve(data);
  174. return;
  175. }
  176. }
  177. reject(new Error(request.statusText));
  178. };
  179. request.send(null);
  180. }));
  181. case 22:
  182. case "end":
  183. return _context.stop();
  184. }
  185. }
  186. }, _callee);
  187. }));
  188. return _fetchData.apply(this, arguments);
  189. }
  190. var DOMCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {
  191. _inherits(DOMCMapReaderFactory, _BaseCMapReaderFactor);
  192. var _super2 = _createSuper(DOMCMapReaderFactory);
  193. function DOMCMapReaderFactory() {
  194. _classCallCheck(this, DOMCMapReaderFactory);
  195. return _super2.apply(this, arguments);
  196. }
  197. _createClass(DOMCMapReaderFactory, [{
  198. key: "_fetchData",
  199. value: function _fetchData(url, compressionType) {
  200. return fetchData(url, this.isCompressed).then(function (data) {
  201. return {
  202. cMapData: data,
  203. compressionType: compressionType
  204. };
  205. });
  206. }
  207. }]);
  208. return DOMCMapReaderFactory;
  209. }(_base_factory.BaseCMapReaderFactory);
  210. exports.DOMCMapReaderFactory = DOMCMapReaderFactory;
  211. var DOMStandardFontDataFactory = /*#__PURE__*/function (_BaseStandardFontData) {
  212. _inherits(DOMStandardFontDataFactory, _BaseStandardFontData);
  213. var _super3 = _createSuper(DOMStandardFontDataFactory);
  214. function DOMStandardFontDataFactory() {
  215. _classCallCheck(this, DOMStandardFontDataFactory);
  216. return _super3.apply(this, arguments);
  217. }
  218. _createClass(DOMStandardFontDataFactory, [{
  219. key: "_fetchData",
  220. value: function _fetchData(url) {
  221. return fetchData(url, true);
  222. }
  223. }]);
  224. return DOMStandardFontDataFactory;
  225. }(_base_factory.BaseStandardFontDataFactory);
  226. exports.DOMStandardFontDataFactory = DOMStandardFontDataFactory;
  227. var DOMSVGFactory = /*#__PURE__*/function (_BaseSVGFactory) {
  228. _inherits(DOMSVGFactory, _BaseSVGFactory);
  229. var _super4 = _createSuper(DOMSVGFactory);
  230. function DOMSVGFactory() {
  231. _classCallCheck(this, DOMSVGFactory);
  232. return _super4.apply(this, arguments);
  233. }
  234. _createClass(DOMSVGFactory, [{
  235. key: "_createSVG",
  236. value: function _createSVG(type) {
  237. return document.createElementNS(SVG_NS, type);
  238. }
  239. }]);
  240. return DOMSVGFactory;
  241. }(_base_factory.BaseSVGFactory);
  242. exports.DOMSVGFactory = DOMSVGFactory;
  243. var PageViewport = /*#__PURE__*/function () {
  244. function PageViewport(_ref2) {
  245. var viewBox = _ref2.viewBox,
  246. scale = _ref2.scale,
  247. rotation = _ref2.rotation,
  248. _ref2$offsetX = _ref2.offsetX,
  249. offsetX = _ref2$offsetX === void 0 ? 0 : _ref2$offsetX,
  250. _ref2$offsetY = _ref2.offsetY,
  251. offsetY = _ref2$offsetY === void 0 ? 0 : _ref2$offsetY,
  252. _ref2$dontFlip = _ref2.dontFlip,
  253. dontFlip = _ref2$dontFlip === void 0 ? false : _ref2$dontFlip;
  254. _classCallCheck(this, PageViewport);
  255. this.viewBox = viewBox;
  256. this.scale = scale;
  257. this.rotation = rotation;
  258. this.offsetX = offsetX;
  259. this.offsetY = offsetY;
  260. var centerX = (viewBox[2] + viewBox[0]) / 2;
  261. var centerY = (viewBox[3] + viewBox[1]) / 2;
  262. var rotateA, rotateB, rotateC, rotateD;
  263. rotation %= 360;
  264. if (rotation < 0) {
  265. rotation += 360;
  266. }
  267. switch (rotation) {
  268. case 180:
  269. rotateA = -1;
  270. rotateB = 0;
  271. rotateC = 0;
  272. rotateD = 1;
  273. break;
  274. case 90:
  275. rotateA = 0;
  276. rotateB = 1;
  277. rotateC = 1;
  278. rotateD = 0;
  279. break;
  280. case 270:
  281. rotateA = 0;
  282. rotateB = -1;
  283. rotateC = -1;
  284. rotateD = 0;
  285. break;
  286. case 0:
  287. rotateA = 1;
  288. rotateB = 0;
  289. rotateC = 0;
  290. rotateD = -1;
  291. break;
  292. default:
  293. throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.");
  294. }
  295. if (dontFlip) {
  296. rotateC = -rotateC;
  297. rotateD = -rotateD;
  298. }
  299. var offsetCanvasX, offsetCanvasY;
  300. var width, height;
  301. if (rotateA === 0) {
  302. offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;
  303. offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;
  304. width = Math.abs(viewBox[3] - viewBox[1]) * scale;
  305. height = Math.abs(viewBox[2] - viewBox[0]) * scale;
  306. } else {
  307. offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;
  308. offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;
  309. width = Math.abs(viewBox[2] - viewBox[0]) * scale;
  310. height = Math.abs(viewBox[3] - viewBox[1]) * scale;
  311. }
  312. this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];
  313. this.width = width;
  314. this.height = height;
  315. }
  316. _createClass(PageViewport, [{
  317. key: "clone",
  318. value: function clone() {
  319. var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
  320. _ref3$scale = _ref3.scale,
  321. scale = _ref3$scale === void 0 ? this.scale : _ref3$scale,
  322. _ref3$rotation = _ref3.rotation,
  323. rotation = _ref3$rotation === void 0 ? this.rotation : _ref3$rotation,
  324. _ref3$offsetX = _ref3.offsetX,
  325. offsetX = _ref3$offsetX === void 0 ? this.offsetX : _ref3$offsetX,
  326. _ref3$offsetY = _ref3.offsetY,
  327. offsetY = _ref3$offsetY === void 0 ? this.offsetY : _ref3$offsetY,
  328. _ref3$dontFlip = _ref3.dontFlip,
  329. dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip;
  330. return new PageViewport({
  331. viewBox: this.viewBox.slice(),
  332. scale: scale,
  333. rotation: rotation,
  334. offsetX: offsetX,
  335. offsetY: offsetY,
  336. dontFlip: dontFlip
  337. });
  338. }
  339. }, {
  340. key: "convertToViewportPoint",
  341. value: function convertToViewportPoint(x, y) {
  342. return _util.Util.applyTransform([x, y], this.transform);
  343. }
  344. }, {
  345. key: "convertToViewportRectangle",
  346. value: function convertToViewportRectangle(rect) {
  347. var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);
  348. var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);
  349. return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];
  350. }
  351. }, {
  352. key: "convertToPdfPoint",
  353. value: function convertToPdfPoint(x, y) {
  354. return _util.Util.applyInverseTransform([x, y], this.transform);
  355. }
  356. }]);
  357. return PageViewport;
  358. }();
  359. exports.PageViewport = PageViewport;
  360. var RenderingCancelledException = /*#__PURE__*/function (_BaseException) {
  361. _inherits(RenderingCancelledException, _BaseException);
  362. var _super5 = _createSuper(RenderingCancelledException);
  363. function RenderingCancelledException(msg, type) {
  364. var _this2;
  365. _classCallCheck(this, RenderingCancelledException);
  366. _this2 = _super5.call(this, msg, "RenderingCancelledException");
  367. _this2.type = type;
  368. return _this2;
  369. }
  370. return RenderingCancelledException;
  371. }(_util.BaseException);
  372. exports.RenderingCancelledException = RenderingCancelledException;
  373. var LinkTarget = {
  374. NONE: 0,
  375. SELF: 1,
  376. BLANK: 2,
  377. PARENT: 3,
  378. TOP: 4
  379. };
  380. exports.LinkTarget = LinkTarget;
  381. function addLinkAttributes(link) {
  382. var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
  383. url = _ref4.url,
  384. target = _ref4.target,
  385. rel = _ref4.rel,
  386. _ref4$enabled = _ref4.enabled,
  387. enabled = _ref4$enabled === void 0 ? true : _ref4$enabled;
  388. (0, _util.assert)(url && typeof url === "string", 'addLinkAttributes: A valid "url" parameter must provided.');
  389. var urlNullRemoved = (0, _util.removeNullCharacters)(url);
  390. if (enabled) {
  391. link.href = link.title = urlNullRemoved;
  392. } else {
  393. link.href = "";
  394. link.title = "Disabled: ".concat(urlNullRemoved);
  395. link.onclick = function () {
  396. return false;
  397. };
  398. }
  399. var targetStr = "";
  400. switch (target) {
  401. case LinkTarget.NONE:
  402. break;
  403. case LinkTarget.SELF:
  404. targetStr = "_self";
  405. break;
  406. case LinkTarget.BLANK:
  407. targetStr = "_blank";
  408. break;
  409. case LinkTarget.PARENT:
  410. targetStr = "_parent";
  411. break;
  412. case LinkTarget.TOP:
  413. targetStr = "_top";
  414. break;
  415. }
  416. link.target = targetStr;
  417. link.rel = typeof rel === "string" ? rel : DEFAULT_LINK_REL;
  418. }
  419. function isDataScheme(url) {
  420. var ii = url.length;
  421. var i = 0;
  422. while (i < ii && url[i].trim() === "") {
  423. i++;
  424. }
  425. return url.substring(i, i + 5).toLowerCase() === "data:";
  426. }
  427. function isPdfFile(filename) {
  428. return typeof filename === "string" && /\.pdf$/i.test(filename);
  429. }
  430. function getFilenameFromUrl(url) {
  431. var anchor = url.indexOf("#");
  432. var query = url.indexOf("?");
  433. var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);
  434. return url.substring(url.lastIndexOf("/", end) + 1, end);
  435. }
  436. function getPdfFilenameFromUrl(url) {
  437. var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "document.pdf";
  438. if (typeof url !== "string") {
  439. return defaultFilename;
  440. }
  441. if (isDataScheme(url)) {
  442. (0, _util.warn)('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.');
  443. return defaultFilename;
  444. }
  445. var reURI = /^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/;
  446. var reFilename = /[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i;
  447. var splitURI = reURI.exec(url);
  448. var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);
  449. if (suggestedFilename) {
  450. suggestedFilename = suggestedFilename[0];
  451. if (suggestedFilename.includes("%")) {
  452. try {
  453. suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];
  454. } catch (ex) {}
  455. }
  456. }
  457. return suggestedFilename || defaultFilename;
  458. }
  459. var StatTimer = /*#__PURE__*/function () {
  460. function StatTimer() {
  461. _classCallCheck(this, StatTimer);
  462. this.started = Object.create(null);
  463. this.times = [];
  464. }
  465. _createClass(StatTimer, [{
  466. key: "time",
  467. value: function time(name) {
  468. if (name in this.started) {
  469. (0, _util.warn)("Timer is already running for ".concat(name));
  470. }
  471. this.started[name] = Date.now();
  472. }
  473. }, {
  474. key: "timeEnd",
  475. value: function timeEnd(name) {
  476. if (!(name in this.started)) {
  477. (0, _util.warn)("Timer has not been started for ".concat(name));
  478. }
  479. this.times.push({
  480. name: name,
  481. start: this.started[name],
  482. end: Date.now()
  483. });
  484. delete this.started[name];
  485. }
  486. }, {
  487. key: "toString",
  488. value: function toString() {
  489. var outBuf = [];
  490. var longest = 0;
  491. var _iterator = _createForOfIteratorHelper(this.times),
  492. _step;
  493. try {
  494. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  495. var time = _step.value;
  496. var name = time.name;
  497. if (name.length > longest) {
  498. longest = name.length;
  499. }
  500. }
  501. } catch (err) {
  502. _iterator.e(err);
  503. } finally {
  504. _iterator.f();
  505. }
  506. var _iterator2 = _createForOfIteratorHelper(this.times),
  507. _step2;
  508. try {
  509. for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
  510. var _time = _step2.value;
  511. var duration = _time.end - _time.start;
  512. outBuf.push("".concat(_time.name.padEnd(longest), " ").concat(duration, "ms\n"));
  513. }
  514. } catch (err) {
  515. _iterator2.e(err);
  516. } finally {
  517. _iterator2.f();
  518. }
  519. return outBuf.join("");
  520. }
  521. }]);
  522. return StatTimer;
  523. }();
  524. exports.StatTimer = StatTimer;
  525. function isValidFetchUrl(url, baseUrl) {
  526. try {
  527. var _ref5 = baseUrl ? new URL(url, baseUrl) : new URL(url),
  528. protocol = _ref5.protocol;
  529. return protocol === "http:" || protocol === "https:";
  530. } catch (ex) {
  531. return false;
  532. }
  533. }
  534. function loadScript(src) {
  535. var removeScriptElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  536. return new Promise(function (resolve, reject) {
  537. var script = document.createElement("script");
  538. script.src = src;
  539. script.onload = function (evt) {
  540. if (removeScriptElement) {
  541. script.remove();
  542. }
  543. resolve(evt);
  544. };
  545. script.onerror = function () {
  546. reject(new Error("Cannot load script at: ".concat(script.src)));
  547. };
  548. (document.head || document.documentElement).appendChild(script);
  549. });
  550. }
  551. function deprecated(details) {
  552. console.log("Deprecated API usage: " + details);
  553. }
  554. var pdfDateStringRegex;
  555. var PDFDateString = /*#__PURE__*/function () {
  556. function PDFDateString() {
  557. _classCallCheck(this, PDFDateString);
  558. }
  559. _createClass(PDFDateString, null, [{
  560. key: "toDateObject",
  561. value: function toDateObject(input) {
  562. if (!input || !(0, _util.isString)(input)) {
  563. return null;
  564. }
  565. if (!pdfDateStringRegex) {
  566. pdfDateStringRegex = new RegExp("^D:" + "(\\d{4})" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "([Z|+|-])?" + "(\\d{2})?" + "'?" + "(\\d{2})?" + "'?");
  567. }
  568. var matches = pdfDateStringRegex.exec(input);
  569. if (!matches) {
  570. return null;
  571. }
  572. var year = parseInt(matches[1], 10);
  573. var month = parseInt(matches[2], 10);
  574. month = month >= 1 && month <= 12 ? month - 1 : 0;
  575. var day = parseInt(matches[3], 10);
  576. day = day >= 1 && day <= 31 ? day : 1;
  577. var hour = parseInt(matches[4], 10);
  578. hour = hour >= 0 && hour <= 23 ? hour : 0;
  579. var minute = parseInt(matches[5], 10);
  580. minute = minute >= 0 && minute <= 59 ? minute : 0;
  581. var second = parseInt(matches[6], 10);
  582. second = second >= 0 && second <= 59 ? second : 0;
  583. var universalTimeRelation = matches[7] || "Z";
  584. var offsetHour = parseInt(matches[8], 10);
  585. offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;
  586. var offsetMinute = parseInt(matches[9], 10) || 0;
  587. offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;
  588. if (universalTimeRelation === "-") {
  589. hour += offsetHour;
  590. minute += offsetMinute;
  591. } else if (universalTimeRelation === "+") {
  592. hour -= offsetHour;
  593. minute -= offsetMinute;
  594. }
  595. return new Date(Date.UTC(year, month, day, hour, minute, second));
  596. }
  597. }]);
  598. return PDFDateString;
  599. }();
  600. exports.PDFDateString = PDFDateString;
  601. function getXfaPageViewport(xfaPage, _ref6) {
  602. var _ref6$scale = _ref6.scale,
  603. scale = _ref6$scale === void 0 ? 1 : _ref6$scale,
  604. _ref6$rotation = _ref6.rotation,
  605. rotation = _ref6$rotation === void 0 ? 0 : _ref6$rotation;
  606. var _xfaPage$attributes$s = xfaPage.attributes.style,
  607. width = _xfaPage$attributes$s.width,
  608. height = _xfaPage$attributes$s.height;
  609. var viewBox = [0, 0, parseInt(width), parseInt(height)];
  610. return new PageViewport({
  611. viewBox: viewBox,
  612. scale: scale,
  613. rotation: rotation
  614. });
  615. }
  616. /***/ }),
  617. /* 2 */
  618. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  619. "use strict";
  620. module.exports = __w_pdfjs_require__(3);
  621. /***/ }),
  622. /* 3 */
  623. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  624. "use strict";
  625. /* module decorator */ module = __w_pdfjs_require__.nmd(module);
  626. function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  627. var runtime = function (exports) {
  628. "use strict";
  629. var Op = Object.prototype;
  630. var hasOwn = Op.hasOwnProperty;
  631. var undefined;
  632. var $Symbol = typeof Symbol === "function" ? Symbol : {};
  633. var iteratorSymbol = $Symbol.iterator || "@@iterator";
  634. var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
  635. var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
  636. function define(obj, key, value) {
  637. Object.defineProperty(obj, key, {
  638. value: value,
  639. enumerable: true,
  640. configurable: true,
  641. writable: true
  642. });
  643. return obj[key];
  644. }
  645. try {
  646. define({}, "");
  647. } catch (err) {
  648. define = function define(obj, key, value) {
  649. return obj[key] = value;
  650. };
  651. }
  652. function wrap(innerFn, outerFn, self, tryLocsList) {
  653. var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
  654. var generator = Object.create(protoGenerator.prototype);
  655. var context = new Context(tryLocsList || []);
  656. generator._invoke = makeInvokeMethod(innerFn, self, context);
  657. return generator;
  658. }
  659. exports.wrap = wrap;
  660. function tryCatch(fn, obj, arg) {
  661. try {
  662. return {
  663. type: "normal",
  664. arg: fn.call(obj, arg)
  665. };
  666. } catch (err) {
  667. return {
  668. type: "throw",
  669. arg: err
  670. };
  671. }
  672. }
  673. var GenStateSuspendedStart = "suspendedStart";
  674. var GenStateSuspendedYield = "suspendedYield";
  675. var GenStateExecuting = "executing";
  676. var GenStateCompleted = "completed";
  677. var ContinueSentinel = {};
  678. function Generator() {}
  679. function GeneratorFunction() {}
  680. function GeneratorFunctionPrototype() {}
  681. var IteratorPrototype = {};
  682. define(IteratorPrototype, iteratorSymbol, function () {
  683. return this;
  684. });
  685. var getProto = Object.getPrototypeOf;
  686. var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
  687. if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
  688. IteratorPrototype = NativeIteratorPrototype;
  689. }
  690. var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
  691. GeneratorFunction.prototype = GeneratorFunctionPrototype;
  692. define(Gp, "constructor", GeneratorFunctionPrototype);
  693. define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
  694. GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction");
  695. function defineIteratorMethods(prototype) {
  696. ["next", "throw", "return"].forEach(function (method) {
  697. define(prototype, method, function (arg) {
  698. return this._invoke(method, arg);
  699. });
  700. });
  701. }
  702. exports.isGeneratorFunction = function (genFun) {
  703. var ctor = typeof genFun === "function" && genFun.constructor;
  704. return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
  705. };
  706. exports.mark = function (genFun) {
  707. if (Object.setPrototypeOf) {
  708. Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
  709. } else {
  710. genFun.__proto__ = GeneratorFunctionPrototype;
  711. define(genFun, toStringTagSymbol, "GeneratorFunction");
  712. }
  713. genFun.prototype = Object.create(Gp);
  714. return genFun;
  715. };
  716. exports.awrap = function (arg) {
  717. return {
  718. __await: arg
  719. };
  720. };
  721. function AsyncIterator(generator, PromiseImpl) {
  722. function invoke(method, arg, resolve, reject) {
  723. var record = tryCatch(generator[method], generator, arg);
  724. if (record.type === "throw") {
  725. reject(record.arg);
  726. } else {
  727. var result = record.arg;
  728. var value = result.value;
  729. if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) {
  730. return PromiseImpl.resolve(value.__await).then(function (value) {
  731. invoke("next", value, resolve, reject);
  732. }, function (err) {
  733. invoke("throw", err, resolve, reject);
  734. });
  735. }
  736. return PromiseImpl.resolve(value).then(function (unwrapped) {
  737. result.value = unwrapped;
  738. resolve(result);
  739. }, function (error) {
  740. return invoke("throw", error, resolve, reject);
  741. });
  742. }
  743. }
  744. var previousPromise;
  745. function enqueue(method, arg) {
  746. function callInvokeWithMethodAndArg() {
  747. return new PromiseImpl(function (resolve, reject) {
  748. invoke(method, arg, resolve, reject);
  749. });
  750. }
  751. return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
  752. }
  753. this._invoke = enqueue;
  754. }
  755. defineIteratorMethods(AsyncIterator.prototype);
  756. define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
  757. return this;
  758. });
  759. exports.AsyncIterator = AsyncIterator;
  760. exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
  761. if (PromiseImpl === void 0) PromiseImpl = Promise;
  762. var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
  763. return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
  764. return result.done ? result.value : iter.next();
  765. });
  766. };
  767. function makeInvokeMethod(innerFn, self, context) {
  768. var state = GenStateSuspendedStart;
  769. return function invoke(method, arg) {
  770. if (state === GenStateExecuting) {
  771. throw new Error("Generator is already running");
  772. }
  773. if (state === GenStateCompleted) {
  774. if (method === "throw") {
  775. throw arg;
  776. }
  777. return doneResult();
  778. }
  779. context.method = method;
  780. context.arg = arg;
  781. while (true) {
  782. var delegate = context.delegate;
  783. if (delegate) {
  784. var delegateResult = maybeInvokeDelegate(delegate, context);
  785. if (delegateResult) {
  786. if (delegateResult === ContinueSentinel) continue;
  787. return delegateResult;
  788. }
  789. }
  790. if (context.method === "next") {
  791. context.sent = context._sent = context.arg;
  792. } else if (context.method === "throw") {
  793. if (state === GenStateSuspendedStart) {
  794. state = GenStateCompleted;
  795. throw context.arg;
  796. }
  797. context.dispatchException(context.arg);
  798. } else if (context.method === "return") {
  799. context.abrupt("return", context.arg);
  800. }
  801. state = GenStateExecuting;
  802. var record = tryCatch(innerFn, self, context);
  803. if (record.type === "normal") {
  804. state = context.done ? GenStateCompleted : GenStateSuspendedYield;
  805. if (record.arg === ContinueSentinel) {
  806. continue;
  807. }
  808. return {
  809. value: record.arg,
  810. done: context.done
  811. };
  812. } else if (record.type === "throw") {
  813. state = GenStateCompleted;
  814. context.method = "throw";
  815. context.arg = record.arg;
  816. }
  817. }
  818. };
  819. }
  820. function maybeInvokeDelegate(delegate, context) {
  821. var method = delegate.iterator[context.method];
  822. if (method === undefined) {
  823. context.delegate = null;
  824. if (context.method === "throw") {
  825. if (delegate.iterator["return"]) {
  826. context.method = "return";
  827. context.arg = undefined;
  828. maybeInvokeDelegate(delegate, context);
  829. if (context.method === "throw") {
  830. return ContinueSentinel;
  831. }
  832. }
  833. context.method = "throw";
  834. context.arg = new TypeError("The iterator does not provide a 'throw' method");
  835. }
  836. return ContinueSentinel;
  837. }
  838. var record = tryCatch(method, delegate.iterator, context.arg);
  839. if (record.type === "throw") {
  840. context.method = "throw";
  841. context.arg = record.arg;
  842. context.delegate = null;
  843. return ContinueSentinel;
  844. }
  845. var info = record.arg;
  846. if (!info) {
  847. context.method = "throw";
  848. context.arg = new TypeError("iterator result is not an object");
  849. context.delegate = null;
  850. return ContinueSentinel;
  851. }
  852. if (info.done) {
  853. context[delegate.resultName] = info.value;
  854. context.next = delegate.nextLoc;
  855. if (context.method !== "return") {
  856. context.method = "next";
  857. context.arg = undefined;
  858. }
  859. } else {
  860. return info;
  861. }
  862. context.delegate = null;
  863. return ContinueSentinel;
  864. }
  865. defineIteratorMethods(Gp);
  866. define(Gp, toStringTagSymbol, "Generator");
  867. define(Gp, iteratorSymbol, function () {
  868. return this;
  869. });
  870. define(Gp, "toString", function () {
  871. return "[object Generator]";
  872. });
  873. function pushTryEntry(locs) {
  874. var entry = {
  875. tryLoc: locs[0]
  876. };
  877. if (1 in locs) {
  878. entry.catchLoc = locs[1];
  879. }
  880. if (2 in locs) {
  881. entry.finallyLoc = locs[2];
  882. entry.afterLoc = locs[3];
  883. }
  884. this.tryEntries.push(entry);
  885. }
  886. function resetTryEntry(entry) {
  887. var record = entry.completion || {};
  888. record.type = "normal";
  889. delete record.arg;
  890. entry.completion = record;
  891. }
  892. function Context(tryLocsList) {
  893. this.tryEntries = [{
  894. tryLoc: "root"
  895. }];
  896. tryLocsList.forEach(pushTryEntry, this);
  897. this.reset(true);
  898. }
  899. exports.keys = function (object) {
  900. var keys = [];
  901. for (var key in object) {
  902. keys.push(key);
  903. }
  904. keys.reverse();
  905. return function next() {
  906. while (keys.length) {
  907. var key = keys.pop();
  908. if (key in object) {
  909. next.value = key;
  910. next.done = false;
  911. return next;
  912. }
  913. }
  914. next.done = true;
  915. return next;
  916. };
  917. };
  918. function values(iterable) {
  919. if (iterable) {
  920. var iteratorMethod = iterable[iteratorSymbol];
  921. if (iteratorMethod) {
  922. return iteratorMethod.call(iterable);
  923. }
  924. if (typeof iterable.next === "function") {
  925. return iterable;
  926. }
  927. if (!isNaN(iterable.length)) {
  928. var i = -1,
  929. next = function next() {
  930. while (++i < iterable.length) {
  931. if (hasOwn.call(iterable, i)) {
  932. next.value = iterable[i];
  933. next.done = false;
  934. return next;
  935. }
  936. }
  937. next.value = undefined;
  938. next.done = true;
  939. return next;
  940. };
  941. return next.next = next;
  942. }
  943. }
  944. return {
  945. next: doneResult
  946. };
  947. }
  948. exports.values = values;
  949. function doneResult() {
  950. return {
  951. value: undefined,
  952. done: true
  953. };
  954. }
  955. Context.prototype = {
  956. constructor: Context,
  957. reset: function reset(skipTempReset) {
  958. this.prev = 0;
  959. this.next = 0;
  960. this.sent = this._sent = undefined;
  961. this.done = false;
  962. this.delegate = null;
  963. this.method = "next";
  964. this.arg = undefined;
  965. this.tryEntries.forEach(resetTryEntry);
  966. if (!skipTempReset) {
  967. for (var name in this) {
  968. if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
  969. this[name] = undefined;
  970. }
  971. }
  972. }
  973. },
  974. stop: function stop() {
  975. this.done = true;
  976. var rootEntry = this.tryEntries[0];
  977. var rootRecord = rootEntry.completion;
  978. if (rootRecord.type === "throw") {
  979. throw rootRecord.arg;
  980. }
  981. return this.rval;
  982. },
  983. dispatchException: function dispatchException(exception) {
  984. if (this.done) {
  985. throw exception;
  986. }
  987. var context = this;
  988. function handle(loc, caught) {
  989. record.type = "throw";
  990. record.arg = exception;
  991. context.next = loc;
  992. if (caught) {
  993. context.method = "next";
  994. context.arg = undefined;
  995. }
  996. return !!caught;
  997. }
  998. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  999. var entry = this.tryEntries[i];
  1000. var record = entry.completion;
  1001. if (entry.tryLoc === "root") {
  1002. return handle("end");
  1003. }
  1004. if (entry.tryLoc <= this.prev) {
  1005. var hasCatch = hasOwn.call(entry, "catchLoc");
  1006. var hasFinally = hasOwn.call(entry, "finallyLoc");
  1007. if (hasCatch && hasFinally) {
  1008. if (this.prev < entry.catchLoc) {
  1009. return handle(entry.catchLoc, true);
  1010. } else if (this.prev < entry.finallyLoc) {
  1011. return handle(entry.finallyLoc);
  1012. }
  1013. } else if (hasCatch) {
  1014. if (this.prev < entry.catchLoc) {
  1015. return handle(entry.catchLoc, true);
  1016. }
  1017. } else if (hasFinally) {
  1018. if (this.prev < entry.finallyLoc) {
  1019. return handle(entry.finallyLoc);
  1020. }
  1021. } else {
  1022. throw new Error("try statement without catch or finally");
  1023. }
  1024. }
  1025. }
  1026. },
  1027. abrupt: function abrupt(type, arg) {
  1028. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  1029. var entry = this.tryEntries[i];
  1030. if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
  1031. var finallyEntry = entry;
  1032. break;
  1033. }
  1034. }
  1035. if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
  1036. finallyEntry = null;
  1037. }
  1038. var record = finallyEntry ? finallyEntry.completion : {};
  1039. record.type = type;
  1040. record.arg = arg;
  1041. if (finallyEntry) {
  1042. this.method = "next";
  1043. this.next = finallyEntry.finallyLoc;
  1044. return ContinueSentinel;
  1045. }
  1046. return this.complete(record);
  1047. },
  1048. complete: function complete(record, afterLoc) {
  1049. if (record.type === "throw") {
  1050. throw record.arg;
  1051. }
  1052. if (record.type === "break" || record.type === "continue") {
  1053. this.next = record.arg;
  1054. } else if (record.type === "return") {
  1055. this.rval = this.arg = record.arg;
  1056. this.method = "return";
  1057. this.next = "end";
  1058. } else if (record.type === "normal" && afterLoc) {
  1059. this.next = afterLoc;
  1060. }
  1061. return ContinueSentinel;
  1062. },
  1063. finish: function finish(finallyLoc) {
  1064. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  1065. var entry = this.tryEntries[i];
  1066. if (entry.finallyLoc === finallyLoc) {
  1067. this.complete(entry.completion, entry.afterLoc);
  1068. resetTryEntry(entry);
  1069. return ContinueSentinel;
  1070. }
  1071. }
  1072. },
  1073. "catch": function _catch(tryLoc) {
  1074. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  1075. var entry = this.tryEntries[i];
  1076. if (entry.tryLoc === tryLoc) {
  1077. var record = entry.completion;
  1078. if (record.type === "throw") {
  1079. var thrown = record.arg;
  1080. resetTryEntry(entry);
  1081. }
  1082. return thrown;
  1083. }
  1084. }
  1085. throw new Error("illegal catch attempt");
  1086. },
  1087. delegateYield: function delegateYield(iterable, resultName, nextLoc) {
  1088. this.delegate = {
  1089. iterator: values(iterable),
  1090. resultName: resultName,
  1091. nextLoc: nextLoc
  1092. };
  1093. if (this.method === "next") {
  1094. this.arg = undefined;
  1095. }
  1096. return ContinueSentinel;
  1097. }
  1098. };
  1099. return exports;
  1100. }(( false ? 0 : _typeof(module)) === "object" ? module.exports : {});
  1101. try {
  1102. regeneratorRuntime = runtime;
  1103. } catch (accidentalStrictMode) {
  1104. if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object") {
  1105. globalThis.regeneratorRuntime = runtime;
  1106. } else {
  1107. Function("r", "regeneratorRuntime = r")(runtime);
  1108. }
  1109. }
  1110. /***/ }),
  1111. /* 4 */
  1112. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  1113. "use strict";
  1114. Object.defineProperty(exports, "__esModule", ({
  1115. value: true
  1116. }));
  1117. exports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.UNSUPPORTED_FEATURES = exports.TextRenderingMode = exports.StreamType = exports.RenderingIntentFlag = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.IsLittleEndianCached = exports.IsEvalSupportedCached = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FontType = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMode = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;
  1118. exports.arrayByteLength = arrayByteLength;
  1119. exports.arraysToBytes = arraysToBytes;
  1120. exports.assert = assert;
  1121. exports.bytesToString = bytesToString;
  1122. exports.createObjectURL = createObjectURL;
  1123. exports.createPromiseCapability = createPromiseCapability;
  1124. exports.createValidAbsoluteUrl = createValidAbsoluteUrl;
  1125. exports.escapeString = escapeString;
  1126. exports.getModificationDate = getModificationDate;
  1127. exports.getVerbosityLevel = getVerbosityLevel;
  1128. exports.info = info;
  1129. exports.isArrayBuffer = isArrayBuffer;
  1130. exports.isArrayEqual = isArrayEqual;
  1131. exports.isAscii = isAscii;
  1132. exports.isBool = isBool;
  1133. exports.isNum = isNum;
  1134. exports.isSameOrigin = isSameOrigin;
  1135. exports.isString = isString;
  1136. exports.objectFromMap = objectFromMap;
  1137. exports.objectSize = objectSize;
  1138. exports.removeNullCharacters = removeNullCharacters;
  1139. exports.setVerbosityLevel = setVerbosityLevel;
  1140. exports.shadow = shadow;
  1141. exports.string32 = string32;
  1142. exports.stringToBytes = stringToBytes;
  1143. exports.stringToPDFString = stringToPDFString;
  1144. exports.stringToUTF16BEString = stringToUTF16BEString;
  1145. exports.stringToUTF8String = stringToUTF8String;
  1146. exports.unreachable = unreachable;
  1147. exports.utf8StringToString = utf8StringToString;
  1148. exports.warn = warn;
  1149. __w_pdfjs_require__(5);
  1150. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  1151. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  1152. function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
  1153. function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
  1154. function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
  1155. function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
  1156. function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
  1157. function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
  1158. function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
  1159. function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
  1160. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  1161. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  1162. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  1163. function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  1164. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  1165. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
  1166. function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
  1167. function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
  1168. function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
  1169. function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  1170. function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
  1171. function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
  1172. var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
  1173. exports.IDENTITY_MATRIX = IDENTITY_MATRIX;
  1174. var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
  1175. exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;
  1176. var RenderingIntentFlag = {
  1177. ANY: 0x01,
  1178. DISPLAY: 0x02,
  1179. PRINT: 0x04,
  1180. ANNOTATIONS_FORMS: 0x10,
  1181. ANNOTATIONS_STORAGE: 0x20,
  1182. ANNOTATIONS_DISABLE: 0x40,
  1183. OPLIST: 0x100
  1184. };
  1185. exports.RenderingIntentFlag = RenderingIntentFlag;
  1186. var AnnotationMode = {
  1187. DISABLE: 0,
  1188. ENABLE: 1,
  1189. ENABLE_FORMS: 2,
  1190. ENABLE_STORAGE: 3
  1191. };
  1192. exports.AnnotationMode = AnnotationMode;
  1193. var PermissionFlag = {
  1194. PRINT: 0x04,
  1195. MODIFY_CONTENTS: 0x08,
  1196. COPY: 0x10,
  1197. MODIFY_ANNOTATIONS: 0x20,
  1198. FILL_INTERACTIVE_FORMS: 0x100,
  1199. COPY_FOR_ACCESSIBILITY: 0x200,
  1200. ASSEMBLE: 0x400,
  1201. PRINT_HIGH_QUALITY: 0x800
  1202. };
  1203. exports.PermissionFlag = PermissionFlag;
  1204. var TextRenderingMode = {
  1205. FILL: 0,
  1206. STROKE: 1,
  1207. FILL_STROKE: 2,
  1208. INVISIBLE: 3,
  1209. FILL_ADD_TO_PATH: 4,
  1210. STROKE_ADD_TO_PATH: 5,
  1211. FILL_STROKE_ADD_TO_PATH: 6,
  1212. ADD_TO_PATH: 7,
  1213. FILL_STROKE_MASK: 3,
  1214. ADD_TO_PATH_FLAG: 4
  1215. };
  1216. exports.TextRenderingMode = TextRenderingMode;
  1217. var ImageKind = {
  1218. GRAYSCALE_1BPP: 1,
  1219. RGB_24BPP: 2,
  1220. RGBA_32BPP: 3
  1221. };
  1222. exports.ImageKind = ImageKind;
  1223. var AnnotationType = {
  1224. TEXT: 1,
  1225. LINK: 2,
  1226. FREETEXT: 3,
  1227. LINE: 4,
  1228. SQUARE: 5,
  1229. CIRCLE: 6,
  1230. POLYGON: 7,
  1231. POLYLINE: 8,
  1232. HIGHLIGHT: 9,
  1233. UNDERLINE: 10,
  1234. SQUIGGLY: 11,
  1235. STRIKEOUT: 12,
  1236. STAMP: 13,
  1237. CARET: 14,
  1238. INK: 15,
  1239. POPUP: 16,
  1240. FILEATTACHMENT: 17,
  1241. SOUND: 18,
  1242. MOVIE: 19,
  1243. WIDGET: 20,
  1244. SCREEN: 21,
  1245. PRINTERMARK: 22,
  1246. TRAPNET: 23,
  1247. WATERMARK: 24,
  1248. THREED: 25,
  1249. REDACT: 26
  1250. };
  1251. exports.AnnotationType = AnnotationType;
  1252. var AnnotationStateModelType = {
  1253. MARKED: "Marked",
  1254. REVIEW: "Review"
  1255. };
  1256. exports.AnnotationStateModelType = AnnotationStateModelType;
  1257. var AnnotationMarkedState = {
  1258. MARKED: "Marked",
  1259. UNMARKED: "Unmarked"
  1260. };
  1261. exports.AnnotationMarkedState = AnnotationMarkedState;
  1262. var AnnotationReviewState = {
  1263. ACCEPTED: "Accepted",
  1264. REJECTED: "Rejected",
  1265. CANCELLED: "Cancelled",
  1266. COMPLETED: "Completed",
  1267. NONE: "None"
  1268. };
  1269. exports.AnnotationReviewState = AnnotationReviewState;
  1270. var AnnotationReplyType = {
  1271. GROUP: "Group",
  1272. REPLY: "R"
  1273. };
  1274. exports.AnnotationReplyType = AnnotationReplyType;
  1275. var AnnotationFlag = {
  1276. INVISIBLE: 0x01,
  1277. HIDDEN: 0x02,
  1278. PRINT: 0x04,
  1279. NOZOOM: 0x08,
  1280. NOROTATE: 0x10,
  1281. NOVIEW: 0x20,
  1282. READONLY: 0x40,
  1283. LOCKED: 0x80,
  1284. TOGGLENOVIEW: 0x100,
  1285. LOCKEDCONTENTS: 0x200
  1286. };
  1287. exports.AnnotationFlag = AnnotationFlag;
  1288. var AnnotationFieldFlag = {
  1289. READONLY: 0x0000001,
  1290. REQUIRED: 0x0000002,
  1291. NOEXPORT: 0x0000004,
  1292. MULTILINE: 0x0001000,
  1293. PASSWORD: 0x0002000,
  1294. NOTOGGLETOOFF: 0x0004000,
  1295. RADIO: 0x0008000,
  1296. PUSHBUTTON: 0x0010000,
  1297. COMBO: 0x0020000,
  1298. EDIT: 0x0040000,
  1299. SORT: 0x0080000,
  1300. FILESELECT: 0x0100000,
  1301. MULTISELECT: 0x0200000,
  1302. DONOTSPELLCHECK: 0x0400000,
  1303. DONOTSCROLL: 0x0800000,
  1304. COMB: 0x1000000,
  1305. RICHTEXT: 0x2000000,
  1306. RADIOSINUNISON: 0x2000000,
  1307. COMMITONSELCHANGE: 0x4000000
  1308. };
  1309. exports.AnnotationFieldFlag = AnnotationFieldFlag;
  1310. var AnnotationBorderStyleType = {
  1311. SOLID: 1,
  1312. DASHED: 2,
  1313. BEVELED: 3,
  1314. INSET: 4,
  1315. UNDERLINE: 5
  1316. };
  1317. exports.AnnotationBorderStyleType = AnnotationBorderStyleType;
  1318. var AnnotationActionEventType = {
  1319. E: "Mouse Enter",
  1320. X: "Mouse Exit",
  1321. D: "Mouse Down",
  1322. U: "Mouse Up",
  1323. Fo: "Focus",
  1324. Bl: "Blur",
  1325. PO: "PageOpen",
  1326. PC: "PageClose",
  1327. PV: "PageVisible",
  1328. PI: "PageInvisible",
  1329. K: "Keystroke",
  1330. F: "Format",
  1331. V: "Validate",
  1332. C: "Calculate"
  1333. };
  1334. exports.AnnotationActionEventType = AnnotationActionEventType;
  1335. var DocumentActionEventType = {
  1336. WC: "WillClose",
  1337. WS: "WillSave",
  1338. DS: "DidSave",
  1339. WP: "WillPrint",
  1340. DP: "DidPrint"
  1341. };
  1342. exports.DocumentActionEventType = DocumentActionEventType;
  1343. var PageActionEventType = {
  1344. O: "PageOpen",
  1345. C: "PageClose"
  1346. };
  1347. exports.PageActionEventType = PageActionEventType;
  1348. var StreamType = {
  1349. UNKNOWN: "UNKNOWN",
  1350. FLATE: "FLATE",
  1351. LZW: "LZW",
  1352. DCT: "DCT",
  1353. JPX: "JPX",
  1354. JBIG: "JBIG",
  1355. A85: "A85",
  1356. AHX: "AHX",
  1357. CCF: "CCF",
  1358. RLX: "RLX"
  1359. };
  1360. exports.StreamType = StreamType;
  1361. var FontType = {
  1362. UNKNOWN: "UNKNOWN",
  1363. TYPE1: "TYPE1",
  1364. TYPE1STANDARD: "TYPE1STANDARD",
  1365. TYPE1C: "TYPE1C",
  1366. CIDFONTTYPE0: "CIDFONTTYPE0",
  1367. CIDFONTTYPE0C: "CIDFONTTYPE0C",
  1368. TRUETYPE: "TRUETYPE",
  1369. CIDFONTTYPE2: "CIDFONTTYPE2",
  1370. TYPE3: "TYPE3",
  1371. OPENTYPE: "OPENTYPE",
  1372. TYPE0: "TYPE0",
  1373. MMTYPE1: "MMTYPE1"
  1374. };
  1375. exports.FontType = FontType;
  1376. var VerbosityLevel = {
  1377. ERRORS: 0,
  1378. WARNINGS: 1,
  1379. INFOS: 5
  1380. };
  1381. exports.VerbosityLevel = VerbosityLevel;
  1382. var CMapCompressionType = {
  1383. NONE: 0,
  1384. BINARY: 1,
  1385. STREAM: 2
  1386. };
  1387. exports.CMapCompressionType = CMapCompressionType;
  1388. var OPS = {
  1389. dependency: 1,
  1390. setLineWidth: 2,
  1391. setLineCap: 3,
  1392. setLineJoin: 4,
  1393. setMiterLimit: 5,
  1394. setDash: 6,
  1395. setRenderingIntent: 7,
  1396. setFlatness: 8,
  1397. setGState: 9,
  1398. save: 10,
  1399. restore: 11,
  1400. transform: 12,
  1401. moveTo: 13,
  1402. lineTo: 14,
  1403. curveTo: 15,
  1404. curveTo2: 16,
  1405. curveTo3: 17,
  1406. closePath: 18,
  1407. rectangle: 19,
  1408. stroke: 20,
  1409. closeStroke: 21,
  1410. fill: 22,
  1411. eoFill: 23,
  1412. fillStroke: 24,
  1413. eoFillStroke: 25,
  1414. closeFillStroke: 26,
  1415. closeEOFillStroke: 27,
  1416. endPath: 28,
  1417. clip: 29,
  1418. eoClip: 30,
  1419. beginText: 31,
  1420. endText: 32,
  1421. setCharSpacing: 33,
  1422. setWordSpacing: 34,
  1423. setHScale: 35,
  1424. setLeading: 36,
  1425. setFont: 37,
  1426. setTextRenderingMode: 38,
  1427. setTextRise: 39,
  1428. moveText: 40,
  1429. setLeadingMoveText: 41,
  1430. setTextMatrix: 42,
  1431. nextLine: 43,
  1432. showText: 44,
  1433. showSpacedText: 45,
  1434. nextLineShowText: 46,
  1435. nextLineSetSpacingShowText: 47,
  1436. setCharWidth: 48,
  1437. setCharWidthAndBounds: 49,
  1438. setStrokeColorSpace: 50,
  1439. setFillColorSpace: 51,
  1440. setStrokeColor: 52,
  1441. setStrokeColorN: 53,
  1442. setFillColor: 54,
  1443. setFillColorN: 55,
  1444. setStrokeGray: 56,
  1445. setFillGray: 57,
  1446. setStrokeRGBColor: 58,
  1447. setFillRGBColor: 59,
  1448. setStrokeCMYKColor: 60,
  1449. setFillCMYKColor: 61,
  1450. shadingFill: 62,
  1451. beginInlineImage: 63,
  1452. beginImageData: 64,
  1453. endInlineImage: 65,
  1454. paintXObject: 66,
  1455. markPoint: 67,
  1456. markPointProps: 68,
  1457. beginMarkedContent: 69,
  1458. beginMarkedContentProps: 70,
  1459. endMarkedContent: 71,
  1460. beginCompat: 72,
  1461. endCompat: 73,
  1462. paintFormXObjectBegin: 74,
  1463. paintFormXObjectEnd: 75,
  1464. beginGroup: 76,
  1465. endGroup: 77,
  1466. beginAnnotations: 78,
  1467. endAnnotations: 79,
  1468. beginAnnotation: 80,
  1469. endAnnotation: 81,
  1470. paintJpegXObject: 82,
  1471. paintImageMaskXObject: 83,
  1472. paintImageMaskXObjectGroup: 84,
  1473. paintImageXObject: 85,
  1474. paintInlineImageXObject: 86,
  1475. paintInlineImageXObjectGroup: 87,
  1476. paintImageXObjectRepeat: 88,
  1477. paintImageMaskXObjectRepeat: 89,
  1478. paintSolidColorImageMask: 90,
  1479. constructPath: 91
  1480. };
  1481. exports.OPS = OPS;
  1482. var UNSUPPORTED_FEATURES = {
  1483. unknown: "unknown",
  1484. forms: "forms",
  1485. javaScript: "javaScript",
  1486. signatures: "signatures",
  1487. smask: "smask",
  1488. shadingPattern: "shadingPattern",
  1489. font: "font",
  1490. errorTilingPattern: "errorTilingPattern",
  1491. errorExtGState: "errorExtGState",
  1492. errorXObject: "errorXObject",
  1493. errorFontLoadType3: "errorFontLoadType3",
  1494. errorFontState: "errorFontState",
  1495. errorFontMissing: "errorFontMissing",
  1496. errorFontTranslate: "errorFontTranslate",
  1497. errorColorSpace: "errorColorSpace",
  1498. errorOperatorList: "errorOperatorList",
  1499. errorFontToUnicode: "errorFontToUnicode",
  1500. errorFontLoadNative: "errorFontLoadNative",
  1501. errorFontBuildPath: "errorFontBuildPath",
  1502. errorFontGetPath: "errorFontGetPath",
  1503. errorMarkedContent: "errorMarkedContent",
  1504. errorContentSubStream: "errorContentSubStream"
  1505. };
  1506. exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;
  1507. var PasswordResponses = {
  1508. NEED_PASSWORD: 1,
  1509. INCORRECT_PASSWORD: 2
  1510. };
  1511. exports.PasswordResponses = PasswordResponses;
  1512. var verbosity = VerbosityLevel.WARNINGS;
  1513. function setVerbosityLevel(level) {
  1514. if (Number.isInteger(level)) {
  1515. verbosity = level;
  1516. }
  1517. }
  1518. function getVerbosityLevel() {
  1519. return verbosity;
  1520. }
  1521. function info(msg) {
  1522. if (verbosity >= VerbosityLevel.INFOS) {
  1523. console.log("Info: ".concat(msg));
  1524. }
  1525. }
  1526. function warn(msg) {
  1527. if (verbosity >= VerbosityLevel.WARNINGS) {
  1528. console.log("Warning: ".concat(msg));
  1529. }
  1530. }
  1531. function unreachable(msg) {
  1532. throw new Error(msg);
  1533. }
  1534. function assert(cond, msg) {
  1535. if (!cond) {
  1536. unreachable(msg);
  1537. }
  1538. }
  1539. function isSameOrigin(baseUrl, otherUrl) {
  1540. var base;
  1541. try {
  1542. base = new URL(baseUrl);
  1543. if (!base.origin || base.origin === "null") {
  1544. return false;
  1545. }
  1546. } catch (e) {
  1547. return false;
  1548. }
  1549. var other = new URL(otherUrl, base);
  1550. return base.origin === other.origin;
  1551. }
  1552. function _isValidProtocol(url) {
  1553. if (!url) {
  1554. return false;
  1555. }
  1556. switch (url.protocol) {
  1557. case "http:":
  1558. case "https:":
  1559. case "ftp:":
  1560. case "mailto:":
  1561. case "tel:":
  1562. return true;
  1563. default:
  1564. return false;
  1565. }
  1566. }
  1567. function createValidAbsoluteUrl(url) {
  1568. var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
  1569. var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
  1570. if (!url) {
  1571. return null;
  1572. }
  1573. try {
  1574. if (options && typeof url === "string") {
  1575. if (options.addDefaultProtocol && url.startsWith("www.")) {
  1576. var dots = url.match(/\./g);
  1577. if (dots && dots.length >= 2) {
  1578. url = "http://".concat(url);
  1579. }
  1580. }
  1581. if (options.tryConvertEncoding) {
  1582. try {
  1583. url = stringToUTF8String(url);
  1584. } catch (ex) {}
  1585. }
  1586. }
  1587. var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);
  1588. if (_isValidProtocol(absoluteUrl)) {
  1589. return absoluteUrl;
  1590. }
  1591. } catch (ex) {}
  1592. return null;
  1593. }
  1594. function shadow(obj, prop, value) {
  1595. Object.defineProperty(obj, prop, {
  1596. value: value,
  1597. enumerable: true,
  1598. configurable: true,
  1599. writable: false
  1600. });
  1601. return value;
  1602. }
  1603. var BaseException = function BaseExceptionClosure() {
  1604. function BaseException(message, name) {
  1605. if (this.constructor === BaseException) {
  1606. unreachable("Cannot initialize BaseException.");
  1607. }
  1608. this.message = message;
  1609. this.name = name;
  1610. }
  1611. BaseException.prototype = new Error();
  1612. BaseException.constructor = BaseException;
  1613. return BaseException;
  1614. }();
  1615. exports.BaseException = BaseException;
  1616. var PasswordException = /*#__PURE__*/function (_BaseException) {
  1617. _inherits(PasswordException, _BaseException);
  1618. var _super = _createSuper(PasswordException);
  1619. function PasswordException(msg, code) {
  1620. var _this;
  1621. _classCallCheck(this, PasswordException);
  1622. _this = _super.call(this, msg, "PasswordException");
  1623. _this.code = code;
  1624. return _this;
  1625. }
  1626. return PasswordException;
  1627. }(BaseException);
  1628. exports.PasswordException = PasswordException;
  1629. var UnknownErrorException = /*#__PURE__*/function (_BaseException2) {
  1630. _inherits(UnknownErrorException, _BaseException2);
  1631. var _super2 = _createSuper(UnknownErrorException);
  1632. function UnknownErrorException(msg, details) {
  1633. var _this2;
  1634. _classCallCheck(this, UnknownErrorException);
  1635. _this2 = _super2.call(this, msg, "UnknownErrorException");
  1636. _this2.details = details;
  1637. return _this2;
  1638. }
  1639. return UnknownErrorException;
  1640. }(BaseException);
  1641. exports.UnknownErrorException = UnknownErrorException;
  1642. var InvalidPDFException = /*#__PURE__*/function (_BaseException3) {
  1643. _inherits(InvalidPDFException, _BaseException3);
  1644. var _super3 = _createSuper(InvalidPDFException);
  1645. function InvalidPDFException(msg) {
  1646. _classCallCheck(this, InvalidPDFException);
  1647. return _super3.call(this, msg, "InvalidPDFException");
  1648. }
  1649. return InvalidPDFException;
  1650. }(BaseException);
  1651. exports.InvalidPDFException = InvalidPDFException;
  1652. var MissingPDFException = /*#__PURE__*/function (_BaseException4) {
  1653. _inherits(MissingPDFException, _BaseException4);
  1654. var _super4 = _createSuper(MissingPDFException);
  1655. function MissingPDFException(msg) {
  1656. _classCallCheck(this, MissingPDFException);
  1657. return _super4.call(this, msg, "MissingPDFException");
  1658. }
  1659. return MissingPDFException;
  1660. }(BaseException);
  1661. exports.MissingPDFException = MissingPDFException;
  1662. var UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {
  1663. _inherits(UnexpectedResponseException, _BaseException5);
  1664. var _super5 = _createSuper(UnexpectedResponseException);
  1665. function UnexpectedResponseException(msg, status) {
  1666. var _this3;
  1667. _classCallCheck(this, UnexpectedResponseException);
  1668. _this3 = _super5.call(this, msg, "UnexpectedResponseException");
  1669. _this3.status = status;
  1670. return _this3;
  1671. }
  1672. return UnexpectedResponseException;
  1673. }(BaseException);
  1674. exports.UnexpectedResponseException = UnexpectedResponseException;
  1675. var FormatError = /*#__PURE__*/function (_BaseException6) {
  1676. _inherits(FormatError, _BaseException6);
  1677. var _super6 = _createSuper(FormatError);
  1678. function FormatError(msg) {
  1679. _classCallCheck(this, FormatError);
  1680. return _super6.call(this, msg, "FormatError");
  1681. }
  1682. return FormatError;
  1683. }(BaseException);
  1684. exports.FormatError = FormatError;
  1685. var AbortException = /*#__PURE__*/function (_BaseException7) {
  1686. _inherits(AbortException, _BaseException7);
  1687. var _super7 = _createSuper(AbortException);
  1688. function AbortException(msg) {
  1689. _classCallCheck(this, AbortException);
  1690. return _super7.call(this, msg, "AbortException");
  1691. }
  1692. return AbortException;
  1693. }(BaseException);
  1694. exports.AbortException = AbortException;
  1695. var NullCharactersRegExp = /\x00+/g;
  1696. var InvisibleCharactersRegExp = /[\x01-\x1F]/g;
  1697. function removeNullCharacters(str) {
  1698. var replaceInvisible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  1699. if (typeof str !== "string") {
  1700. warn("The argument for removeNullCharacters must be a string.");
  1701. return str;
  1702. }
  1703. if (replaceInvisible) {
  1704. str = str.replace(InvisibleCharactersRegExp, " ");
  1705. }
  1706. return str.replace(NullCharactersRegExp, "");
  1707. }
  1708. function bytesToString(bytes) {
  1709. assert(bytes !== null && _typeof(bytes) === "object" && bytes.length !== undefined, "Invalid argument for bytesToString");
  1710. var length = bytes.length;
  1711. var MAX_ARGUMENT_COUNT = 8192;
  1712. if (length < MAX_ARGUMENT_COUNT) {
  1713. return String.fromCharCode.apply(null, bytes);
  1714. }
  1715. var strBuf = [];
  1716. for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {
  1717. var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);
  1718. var chunk = bytes.subarray(i, chunkEnd);
  1719. strBuf.push(String.fromCharCode.apply(null, chunk));
  1720. }
  1721. return strBuf.join("");
  1722. }
  1723. function stringToBytes(str) {
  1724. assert(typeof str === "string", "Invalid argument for stringToBytes");
  1725. var length = str.length;
  1726. var bytes = new Uint8Array(length);
  1727. for (var i = 0; i < length; ++i) {
  1728. bytes[i] = str.charCodeAt(i) & 0xff;
  1729. }
  1730. return bytes;
  1731. }
  1732. function arrayByteLength(arr) {
  1733. if (arr.length !== undefined) {
  1734. return arr.length;
  1735. }
  1736. assert(arr.byteLength !== undefined, "arrayByteLength - invalid argument.");
  1737. return arr.byteLength;
  1738. }
  1739. function arraysToBytes(arr) {
  1740. var length = arr.length;
  1741. if (length === 1 && arr[0] instanceof Uint8Array) {
  1742. return arr[0];
  1743. }
  1744. var resultLength = 0;
  1745. for (var i = 0; i < length; i++) {
  1746. resultLength += arrayByteLength(arr[i]);
  1747. }
  1748. var pos = 0;
  1749. var data = new Uint8Array(resultLength);
  1750. for (var _i = 0; _i < length; _i++) {
  1751. var item = arr[_i];
  1752. if (!(item instanceof Uint8Array)) {
  1753. if (typeof item === "string") {
  1754. item = stringToBytes(item);
  1755. } else {
  1756. item = new Uint8Array(item);
  1757. }
  1758. }
  1759. var itemLength = item.byteLength;
  1760. data.set(item, pos);
  1761. pos += itemLength;
  1762. }
  1763. return data;
  1764. }
  1765. function string32(value) {
  1766. return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);
  1767. }
  1768. function objectSize(obj) {
  1769. return Object.keys(obj).length;
  1770. }
  1771. function objectFromMap(map) {
  1772. var obj = Object.create(null);
  1773. var _iterator = _createForOfIteratorHelper(map),
  1774. _step;
  1775. try {
  1776. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  1777. var _step$value = _slicedToArray(_step.value, 2),
  1778. key = _step$value[0],
  1779. value = _step$value[1];
  1780. obj[key] = value;
  1781. }
  1782. } catch (err) {
  1783. _iterator.e(err);
  1784. } finally {
  1785. _iterator.f();
  1786. }
  1787. return obj;
  1788. }
  1789. function isLittleEndian() {
  1790. var buffer8 = new Uint8Array(4);
  1791. buffer8[0] = 1;
  1792. var view32 = new Uint32Array(buffer8.buffer, 0, 1);
  1793. return view32[0] === 1;
  1794. }
  1795. var IsLittleEndianCached = {
  1796. get value() {
  1797. return shadow(this, "value", isLittleEndian());
  1798. }
  1799. };
  1800. exports.IsLittleEndianCached = IsLittleEndianCached;
  1801. function isEvalSupported() {
  1802. try {
  1803. new Function("");
  1804. return true;
  1805. } catch (e) {
  1806. return false;
  1807. }
  1808. }
  1809. var IsEvalSupportedCached = {
  1810. get value() {
  1811. return shadow(this, "value", isEvalSupported());
  1812. }
  1813. };
  1814. exports.IsEvalSupportedCached = IsEvalSupportedCached;
  1815. var hexNumbers = _toConsumableArray(Array(256).keys()).map(function (n) {
  1816. return n.toString(16).padStart(2, "0");
  1817. });
  1818. var Util = /*#__PURE__*/function () {
  1819. function Util() {
  1820. _classCallCheck(this, Util);
  1821. }
  1822. _createClass(Util, null, [{
  1823. key: "makeHexColor",
  1824. value: function makeHexColor(r, g, b) {
  1825. return "#".concat(hexNumbers[r]).concat(hexNumbers[g]).concat(hexNumbers[b]);
  1826. }
  1827. }, {
  1828. key: "transform",
  1829. value: function transform(m1, m2) {
  1830. return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];
  1831. }
  1832. }, {
  1833. key: "applyTransform",
  1834. value: function applyTransform(p, m) {
  1835. var xt = p[0] * m[0] + p[1] * m[2] + m[4];
  1836. var yt = p[0] * m[1] + p[1] * m[3] + m[5];
  1837. return [xt, yt];
  1838. }
  1839. }, {
  1840. key: "applyInverseTransform",
  1841. value: function applyInverseTransform(p, m) {
  1842. var d = m[0] * m[3] - m[1] * m[2];
  1843. var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;
  1844. var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;
  1845. return [xt, yt];
  1846. }
  1847. }, {
  1848. key: "getAxialAlignedBoundingBox",
  1849. value: function getAxialAlignedBoundingBox(r, m) {
  1850. var p1 = Util.applyTransform(r, m);
  1851. var p2 = Util.applyTransform(r.slice(2, 4), m);
  1852. var p3 = Util.applyTransform([r[0], r[3]], m);
  1853. var p4 = Util.applyTransform([r[2], r[1]], m);
  1854. return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];
  1855. }
  1856. }, {
  1857. key: "inverseTransform",
  1858. value: function inverseTransform(m) {
  1859. var d = m[0] * m[3] - m[1] * m[2];
  1860. return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];
  1861. }
  1862. }, {
  1863. key: "apply3dTransform",
  1864. value: function apply3dTransform(m, v) {
  1865. return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];
  1866. }
  1867. }, {
  1868. key: "singularValueDecompose2dScale",
  1869. value: function singularValueDecompose2dScale(m) {
  1870. var transpose = [m[0], m[2], m[1], m[3]];
  1871. var a = m[0] * transpose[0] + m[1] * transpose[2];
  1872. var b = m[0] * transpose[1] + m[1] * transpose[3];
  1873. var c = m[2] * transpose[0] + m[3] * transpose[2];
  1874. var d = m[2] * transpose[1] + m[3] * transpose[3];
  1875. var first = (a + d) / 2;
  1876. var second = Math.sqrt(Math.pow(a + d, 2) - 4 * (a * d - c * b)) / 2;
  1877. var sx = first + second || 1;
  1878. var sy = first - second || 1;
  1879. return [Math.sqrt(sx), Math.sqrt(sy)];
  1880. }
  1881. }, {
  1882. key: "normalizeRect",
  1883. value: function normalizeRect(rect) {
  1884. var r = rect.slice(0);
  1885. if (rect[0] > rect[2]) {
  1886. r[0] = rect[2];
  1887. r[2] = rect[0];
  1888. }
  1889. if (rect[1] > rect[3]) {
  1890. r[1] = rect[3];
  1891. r[3] = rect[1];
  1892. }
  1893. return r;
  1894. }
  1895. }, {
  1896. key: "intersect",
  1897. value: function intersect(rect1, rect2) {
  1898. function compare(a, b) {
  1899. return a - b;
  1900. }
  1901. var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);
  1902. var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);
  1903. var result = [];
  1904. rect1 = Util.normalizeRect(rect1);
  1905. rect2 = Util.normalizeRect(rect2);
  1906. if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {
  1907. result[0] = orderedX[1];
  1908. result[2] = orderedX[2];
  1909. } else {
  1910. return null;
  1911. }
  1912. if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {
  1913. result[1] = orderedY[1];
  1914. result[3] = orderedY[2];
  1915. } else {
  1916. return null;
  1917. }
  1918. return result;
  1919. }
  1920. }, {
  1921. key: "bezierBoundingBox",
  1922. value: function bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {
  1923. var tvalues = [],
  1924. bounds = [[], []];
  1925. var a, b, c, t, t1, t2, b2ac, sqrtb2ac;
  1926. for (var i = 0; i < 2; ++i) {
  1927. if (i === 0) {
  1928. b = 6 * x0 - 12 * x1 + 6 * x2;
  1929. a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;
  1930. c = 3 * x1 - 3 * x0;
  1931. } else {
  1932. b = 6 * y0 - 12 * y1 + 6 * y2;
  1933. a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;
  1934. c = 3 * y1 - 3 * y0;
  1935. }
  1936. if (Math.abs(a) < 1e-12) {
  1937. if (Math.abs(b) < 1e-12) {
  1938. continue;
  1939. }
  1940. t = -c / b;
  1941. if (0 < t && t < 1) {
  1942. tvalues.push(t);
  1943. }
  1944. continue;
  1945. }
  1946. b2ac = b * b - 4 * c * a;
  1947. sqrtb2ac = Math.sqrt(b2ac);
  1948. if (b2ac < 0) {
  1949. continue;
  1950. }
  1951. t1 = (-b + sqrtb2ac) / (2 * a);
  1952. if (0 < t1 && t1 < 1) {
  1953. tvalues.push(t1);
  1954. }
  1955. t2 = (-b - sqrtb2ac) / (2 * a);
  1956. if (0 < t2 && t2 < 1) {
  1957. tvalues.push(t2);
  1958. }
  1959. }
  1960. var j = tvalues.length,
  1961. mt;
  1962. var jlen = j;
  1963. while (j--) {
  1964. t = tvalues[j];
  1965. mt = 1 - t;
  1966. bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;
  1967. bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;
  1968. }
  1969. bounds[0][jlen] = x0;
  1970. bounds[1][jlen] = y0;
  1971. bounds[0][jlen + 1] = x3;
  1972. bounds[1][jlen + 1] = y3;
  1973. bounds[0].length = bounds[1].length = jlen + 2;
  1974. return [Math.min.apply(Math, _toConsumableArray(bounds[0])), Math.min.apply(Math, _toConsumableArray(bounds[1])), Math.max.apply(Math, _toConsumableArray(bounds[0])), Math.max.apply(Math, _toConsumableArray(bounds[1]))];
  1975. }
  1976. }]);
  1977. return Util;
  1978. }();
  1979. exports.Util = Util;
  1980. var PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 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, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac];
  1981. function stringToPDFString(str) {
  1982. var length = str.length,
  1983. strBuf = [];
  1984. if (str[0] === "\xFE" && str[1] === "\xFF") {
  1985. for (var i = 2; i < length; i += 2) {
  1986. strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));
  1987. }
  1988. } else if (str[0] === "\xFF" && str[1] === "\xFE") {
  1989. for (var _i2 = 2; _i2 < length; _i2 += 2) {
  1990. strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));
  1991. }
  1992. } else {
  1993. for (var _i3 = 0; _i3 < length; ++_i3) {
  1994. var code = PDFStringTranslateTable[str.charCodeAt(_i3)];
  1995. strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));
  1996. }
  1997. }
  1998. return strBuf.join("");
  1999. }
  2000. function escapeString(str) {
  2001. return str.replace(/([()\\\n\r])/g, function (match) {
  2002. if (match === "\n") {
  2003. return "\\n";
  2004. } else if (match === "\r") {
  2005. return "\\r";
  2006. }
  2007. return "\\".concat(match);
  2008. });
  2009. }
  2010. function isAscii(str) {
  2011. return /^[\x00-\x7F]*$/.test(str);
  2012. }
  2013. function stringToUTF16BEString(str) {
  2014. var buf = ["\xFE\xFF"];
  2015. for (var i = 0, ii = str.length; i < ii; i++) {
  2016. var _char = str.charCodeAt(i);
  2017. buf.push(String.fromCharCode(_char >> 8 & 0xff), String.fromCharCode(_char & 0xff));
  2018. }
  2019. return buf.join("");
  2020. }
  2021. function stringToUTF8String(str) {
  2022. return decodeURIComponent(escape(str));
  2023. }
  2024. function utf8StringToString(str) {
  2025. return unescape(encodeURIComponent(str));
  2026. }
  2027. function isBool(v) {
  2028. return typeof v === "boolean";
  2029. }
  2030. function isNum(v) {
  2031. return typeof v === "number";
  2032. }
  2033. function isString(v) {
  2034. return typeof v === "string";
  2035. }
  2036. function isArrayBuffer(v) {
  2037. return _typeof(v) === "object" && v !== null && v.byteLength !== undefined;
  2038. }
  2039. function isArrayEqual(arr1, arr2) {
  2040. if (arr1.length !== arr2.length) {
  2041. return false;
  2042. }
  2043. for (var i = 0, ii = arr1.length; i < ii; i++) {
  2044. if (arr1[i] !== arr2[i]) {
  2045. return false;
  2046. }
  2047. }
  2048. return true;
  2049. }
  2050. function getModificationDate() {
  2051. var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date();
  2052. var buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, "0"), date.getUTCDate().toString().padStart(2, "0"), date.getUTCHours().toString().padStart(2, "0"), date.getUTCMinutes().toString().padStart(2, "0"), date.getUTCSeconds().toString().padStart(2, "0")];
  2053. return buffer.join("");
  2054. }
  2055. function createPromiseCapability() {
  2056. var capability = Object.create(null);
  2057. var isSettled = false;
  2058. Object.defineProperty(capability, "settled", {
  2059. get: function get() {
  2060. return isSettled;
  2061. }
  2062. });
  2063. capability.promise = new Promise(function (resolve, reject) {
  2064. capability.resolve = function (data) {
  2065. isSettled = true;
  2066. resolve(data);
  2067. };
  2068. capability.reject = function (reason) {
  2069. isSettled = true;
  2070. reject(reason);
  2071. };
  2072. });
  2073. return capability;
  2074. }
  2075. function createObjectURL(data) {
  2076. var contentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
  2077. var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  2078. if (URL.createObjectURL && typeof Blob !== "undefined" && !forceDataSchema) {
  2079. return URL.createObjectURL(new Blob([data], {
  2080. type: contentType
  2081. }));
  2082. }
  2083. var digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
  2084. var buffer = "data:".concat(contentType, ";base64,");
  2085. for (var i = 0, ii = data.length; i < ii; i += 3) {
  2086. var b1 = data[i] & 0xff;
  2087. var b2 = data[i + 1] & 0xff;
  2088. var b3 = data[i + 2] & 0xff;
  2089. var d1 = b1 >> 2,
  2090. d2 = (b1 & 3) << 4 | b2 >> 4;
  2091. var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;
  2092. var d4 = i + 2 < ii ? b3 & 0x3f : 64;
  2093. buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];
  2094. }
  2095. return buffer;
  2096. }
  2097. /***/ }),
  2098. /* 5 */
  2099. /***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2100. "use strict";
  2101. var _is_node = __w_pdfjs_require__(6);
  2102. if (typeof globalThis === "undefined" || !globalThis._pdfjsCompatibilityChecked) {
  2103. if (typeof globalThis === "undefined" || globalThis.Math !== Math) {
  2104. globalThis = __w_pdfjs_require__(7);
  2105. }
  2106. globalThis._pdfjsCompatibilityChecked = true;
  2107. (function checkNodeBtoa() {
  2108. if (globalThis.btoa || !_is_node.isNodeJS) {
  2109. return;
  2110. }
  2111. globalThis.btoa = function (chars) {
  2112. return Buffer.from(chars, "binary").toString("base64");
  2113. };
  2114. })();
  2115. (function checkNodeAtob() {
  2116. if (globalThis.atob || !_is_node.isNodeJS) {
  2117. return;
  2118. }
  2119. globalThis.atob = function (input) {
  2120. return Buffer.from(input, "base64").toString("binary");
  2121. };
  2122. })();
  2123. (function checkDOMMatrix() {
  2124. if (globalThis.DOMMatrix || !_is_node.isNodeJS) {
  2125. return;
  2126. }
  2127. globalThis.DOMMatrix = __w_pdfjs_require__(69);
  2128. })();
  2129. (function checkObjectFromEntries() {
  2130. if (Object.fromEntries) {
  2131. return;
  2132. }
  2133. __w_pdfjs_require__(70);
  2134. })();
  2135. (function checkPromise() {
  2136. if (globalThis.Promise.allSettled) {
  2137. return;
  2138. }
  2139. globalThis.Promise = __w_pdfjs_require__(97);
  2140. })();
  2141. (function checkReadableStream() {
  2142. if (globalThis.ReadableStream || !_is_node.isNodeJS) {
  2143. return;
  2144. }
  2145. globalThis.ReadableStream = (__w_pdfjs_require__(134).ReadableStream);
  2146. })();
  2147. }
  2148. /***/ }),
  2149. /* 6 */
  2150. /***/ ((__unused_webpack_module, exports) => {
  2151. "use strict";
  2152. Object.defineProperty(exports, "__esModule", ({
  2153. value: true
  2154. }));
  2155. exports.isNodeJS = void 0;
  2156. function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  2157. var isNodeJS = (typeof process === "undefined" ? "undefined" : _typeof(process)) === "object" && process + "" === "[object process]" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== "browser");
  2158. exports.isNodeJS = isNodeJS;
  2159. /***/ }),
  2160. /* 7 */
  2161. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2162. __w_pdfjs_require__(8);
  2163. module.exports = __w_pdfjs_require__(10);
  2164. /***/ }),
  2165. /* 8 */
  2166. /***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2167. var $ = __w_pdfjs_require__(9);
  2168. var global = __w_pdfjs_require__(10);
  2169. $({ global: true }, { globalThis: global });
  2170. /***/ }),
  2171. /* 9 */
  2172. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2173. var global = __w_pdfjs_require__(10);
  2174. var getOwnPropertyDescriptor = (__w_pdfjs_require__(11).f);
  2175. var createNonEnumerableProperty = __w_pdfjs_require__(47);
  2176. var redefine = __w_pdfjs_require__(50);
  2177. var setGlobal = __w_pdfjs_require__(41);
  2178. var copyConstructorProperties = __w_pdfjs_require__(57);
  2179. var isForced = __w_pdfjs_require__(68);
  2180. module.exports = function (options, source) {
  2181. var TARGET = options.target;
  2182. var GLOBAL = options.global;
  2183. var STATIC = options.stat;
  2184. var FORCED, target, key, targetProperty, sourceProperty, descriptor;
  2185. if (GLOBAL) {
  2186. target = global;
  2187. } else if (STATIC) {
  2188. target = global[TARGET] || setGlobal(TARGET, {});
  2189. } else {
  2190. target = (global[TARGET] || {}).prototype;
  2191. }
  2192. if (target)
  2193. for (key in source) {
  2194. sourceProperty = source[key];
  2195. if (options.noTargetGet) {
  2196. descriptor = getOwnPropertyDescriptor(target, key);
  2197. targetProperty = descriptor && descriptor.value;
  2198. } else
  2199. targetProperty = target[key];
  2200. FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
  2201. if (!FORCED && targetProperty !== undefined) {
  2202. if (typeof sourceProperty == typeof targetProperty)
  2203. continue;
  2204. copyConstructorProperties(sourceProperty, targetProperty);
  2205. }
  2206. if (options.sham || targetProperty && targetProperty.sham) {
  2207. createNonEnumerableProperty(sourceProperty, 'sham', true);
  2208. }
  2209. redefine(target, key, sourceProperty, options);
  2210. }
  2211. };
  2212. /***/ }),
  2213. /* 10 */
  2214. /***/ ((module) => {
  2215. var check = function (it) {
  2216. return it && it.Math == Math && it;
  2217. };
  2218. module.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || (function () {
  2219. return this;
  2220. }()) || Function('return this')();
  2221. /***/ }),
  2222. /* 11 */
  2223. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  2224. var DESCRIPTORS = __w_pdfjs_require__(12);
  2225. var call = __w_pdfjs_require__(14);
  2226. var propertyIsEnumerableModule = __w_pdfjs_require__(15);
  2227. var createPropertyDescriptor = __w_pdfjs_require__(16);
  2228. var toIndexedObject = __w_pdfjs_require__(17);
  2229. var toPropertyKey = __w_pdfjs_require__(22);
  2230. var hasOwn = __w_pdfjs_require__(42);
  2231. var IE8_DOM_DEFINE = __w_pdfjs_require__(45);
  2232. var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
  2233. exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
  2234. O = toIndexedObject(O);
  2235. P = toPropertyKey(P);
  2236. if (IE8_DOM_DEFINE)
  2237. try {
  2238. return $getOwnPropertyDescriptor(O, P);
  2239. } catch (error) {
  2240. }
  2241. if (hasOwn(O, P))
  2242. return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
  2243. };
  2244. /***/ }),
  2245. /* 12 */
  2246. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2247. var fails = __w_pdfjs_require__(13);
  2248. module.exports = !fails(function () {
  2249. return Object.defineProperty({}, 1, {
  2250. get: function () {
  2251. return 7;
  2252. }
  2253. })[1] != 7;
  2254. });
  2255. /***/ }),
  2256. /* 13 */
  2257. /***/ ((module) => {
  2258. module.exports = function (exec) {
  2259. try {
  2260. return !!exec();
  2261. } catch (error) {
  2262. return true;
  2263. }
  2264. };
  2265. /***/ }),
  2266. /* 14 */
  2267. /***/ ((module) => {
  2268. var call = Function.prototype.call;
  2269. module.exports = call.bind ? call.bind(call) : function () {
  2270. return call.apply(call, arguments);
  2271. };
  2272. /***/ }),
  2273. /* 15 */
  2274. /***/ ((__unused_webpack_module, exports) => {
  2275. "use strict";
  2276. var $propertyIsEnumerable = {}.propertyIsEnumerable;
  2277. var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
  2278. var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
  2279. exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
  2280. var descriptor = getOwnPropertyDescriptor(this, V);
  2281. return !!descriptor && descriptor.enumerable;
  2282. } : $propertyIsEnumerable;
  2283. /***/ }),
  2284. /* 16 */
  2285. /***/ ((module) => {
  2286. module.exports = function (bitmap, value) {
  2287. return {
  2288. enumerable: !(bitmap & 1),
  2289. configurable: !(bitmap & 2),
  2290. writable: !(bitmap & 4),
  2291. value: value
  2292. };
  2293. };
  2294. /***/ }),
  2295. /* 17 */
  2296. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2297. var IndexedObject = __w_pdfjs_require__(18);
  2298. var requireObjectCoercible = __w_pdfjs_require__(21);
  2299. module.exports = function (it) {
  2300. return IndexedObject(requireObjectCoercible(it));
  2301. };
  2302. /***/ }),
  2303. /* 18 */
  2304. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2305. var global = __w_pdfjs_require__(10);
  2306. var uncurryThis = __w_pdfjs_require__(19);
  2307. var fails = __w_pdfjs_require__(13);
  2308. var classof = __w_pdfjs_require__(20);
  2309. var Object = global.Object;
  2310. var split = uncurryThis(''.split);
  2311. module.exports = fails(function () {
  2312. return !Object('z').propertyIsEnumerable(0);
  2313. }) ? function (it) {
  2314. return classof(it) == 'String' ? split(it, '') : Object(it);
  2315. } : Object;
  2316. /***/ }),
  2317. /* 19 */
  2318. /***/ ((module) => {
  2319. var FunctionPrototype = Function.prototype;
  2320. var bind = FunctionPrototype.bind;
  2321. var call = FunctionPrototype.call;
  2322. var callBind = bind && bind.bind(call);
  2323. module.exports = bind ? function (fn) {
  2324. return fn && callBind(call, fn);
  2325. } : function (fn) {
  2326. return fn && function () {
  2327. return call.apply(fn, arguments);
  2328. };
  2329. };
  2330. /***/ }),
  2331. /* 20 */
  2332. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2333. var uncurryThis = __w_pdfjs_require__(19);
  2334. var toString = uncurryThis({}.toString);
  2335. var stringSlice = uncurryThis(''.slice);
  2336. module.exports = function (it) {
  2337. return stringSlice(toString(it), 8, -1);
  2338. };
  2339. /***/ }),
  2340. /* 21 */
  2341. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2342. var global = __w_pdfjs_require__(10);
  2343. var TypeError = global.TypeError;
  2344. module.exports = function (it) {
  2345. if (it == undefined)
  2346. throw TypeError("Can't call method on " + it);
  2347. return it;
  2348. };
  2349. /***/ }),
  2350. /* 22 */
  2351. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2352. var toPrimitive = __w_pdfjs_require__(23);
  2353. var isSymbol = __w_pdfjs_require__(26);
  2354. module.exports = function (argument) {
  2355. var key = toPrimitive(argument, 'string');
  2356. return isSymbol(key) ? key : key + '';
  2357. };
  2358. /***/ }),
  2359. /* 23 */
  2360. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2361. var global = __w_pdfjs_require__(10);
  2362. var call = __w_pdfjs_require__(14);
  2363. var isObject = __w_pdfjs_require__(24);
  2364. var isSymbol = __w_pdfjs_require__(26);
  2365. var getMethod = __w_pdfjs_require__(33);
  2366. var ordinaryToPrimitive = __w_pdfjs_require__(36);
  2367. var wellKnownSymbol = __w_pdfjs_require__(37);
  2368. var TypeError = global.TypeError;
  2369. var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
  2370. module.exports = function (input, pref) {
  2371. if (!isObject(input) || isSymbol(input))
  2372. return input;
  2373. var exoticToPrim = getMethod(input, TO_PRIMITIVE);
  2374. var result;
  2375. if (exoticToPrim) {
  2376. if (pref === undefined)
  2377. pref = 'default';
  2378. result = call(exoticToPrim, input, pref);
  2379. if (!isObject(result) || isSymbol(result))
  2380. return result;
  2381. throw TypeError("Can't convert object to primitive value");
  2382. }
  2383. if (pref === undefined)
  2384. pref = 'number';
  2385. return ordinaryToPrimitive(input, pref);
  2386. };
  2387. /***/ }),
  2388. /* 24 */
  2389. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2390. var isCallable = __w_pdfjs_require__(25);
  2391. module.exports = function (it) {
  2392. return typeof it == 'object' ? it !== null : isCallable(it);
  2393. };
  2394. /***/ }),
  2395. /* 25 */
  2396. /***/ ((module) => {
  2397. module.exports = function (argument) {
  2398. return typeof argument == 'function';
  2399. };
  2400. /***/ }),
  2401. /* 26 */
  2402. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2403. var global = __w_pdfjs_require__(10);
  2404. var getBuiltIn = __w_pdfjs_require__(27);
  2405. var isCallable = __w_pdfjs_require__(25);
  2406. var isPrototypeOf = __w_pdfjs_require__(28);
  2407. var USE_SYMBOL_AS_UID = __w_pdfjs_require__(29);
  2408. var Object = global.Object;
  2409. module.exports = USE_SYMBOL_AS_UID ? function (it) {
  2410. return typeof it == 'symbol';
  2411. } : function (it) {
  2412. var $Symbol = getBuiltIn('Symbol');
  2413. return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));
  2414. };
  2415. /***/ }),
  2416. /* 27 */
  2417. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2418. var global = __w_pdfjs_require__(10);
  2419. var isCallable = __w_pdfjs_require__(25);
  2420. var aFunction = function (argument) {
  2421. return isCallable(argument) ? argument : undefined;
  2422. };
  2423. module.exports = function (namespace, method) {
  2424. return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];
  2425. };
  2426. /***/ }),
  2427. /* 28 */
  2428. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2429. var uncurryThis = __w_pdfjs_require__(19);
  2430. module.exports = uncurryThis({}.isPrototypeOf);
  2431. /***/ }),
  2432. /* 29 */
  2433. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2434. var NATIVE_SYMBOL = __w_pdfjs_require__(30);
  2435. module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';
  2436. /***/ }),
  2437. /* 30 */
  2438. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2439. var V8_VERSION = __w_pdfjs_require__(31);
  2440. var fails = __w_pdfjs_require__(13);
  2441. module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
  2442. var symbol = Symbol();
  2443. return !String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41;
  2444. });
  2445. /***/ }),
  2446. /* 31 */
  2447. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2448. var global = __w_pdfjs_require__(10);
  2449. var userAgent = __w_pdfjs_require__(32);
  2450. var process = global.process;
  2451. var Deno = global.Deno;
  2452. var versions = process && process.versions || Deno && Deno.version;
  2453. var v8 = versions && versions.v8;
  2454. var match, version;
  2455. if (v8) {
  2456. match = v8.split('.');
  2457. version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
  2458. }
  2459. if (!version && userAgent) {
  2460. match = userAgent.match(/Edge\/(\d+)/);
  2461. if (!match || match[1] >= 74) {
  2462. match = userAgent.match(/Chrome\/(\d+)/);
  2463. if (match)
  2464. version = +match[1];
  2465. }
  2466. }
  2467. module.exports = version;
  2468. /***/ }),
  2469. /* 32 */
  2470. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2471. var getBuiltIn = __w_pdfjs_require__(27);
  2472. module.exports = getBuiltIn('navigator', 'userAgent') || '';
  2473. /***/ }),
  2474. /* 33 */
  2475. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2476. var aCallable = __w_pdfjs_require__(34);
  2477. module.exports = function (V, P) {
  2478. var func = V[P];
  2479. return func == null ? undefined : aCallable(func);
  2480. };
  2481. /***/ }),
  2482. /* 34 */
  2483. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2484. var global = __w_pdfjs_require__(10);
  2485. var isCallable = __w_pdfjs_require__(25);
  2486. var tryToString = __w_pdfjs_require__(35);
  2487. var TypeError = global.TypeError;
  2488. module.exports = function (argument) {
  2489. if (isCallable(argument))
  2490. return argument;
  2491. throw TypeError(tryToString(argument) + ' is not a function');
  2492. };
  2493. /***/ }),
  2494. /* 35 */
  2495. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2496. var global = __w_pdfjs_require__(10);
  2497. var String = global.String;
  2498. module.exports = function (argument) {
  2499. try {
  2500. return String(argument);
  2501. } catch (error) {
  2502. return 'Object';
  2503. }
  2504. };
  2505. /***/ }),
  2506. /* 36 */
  2507. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2508. var global = __w_pdfjs_require__(10);
  2509. var call = __w_pdfjs_require__(14);
  2510. var isCallable = __w_pdfjs_require__(25);
  2511. var isObject = __w_pdfjs_require__(24);
  2512. var TypeError = global.TypeError;
  2513. module.exports = function (input, pref) {
  2514. var fn, val;
  2515. if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input)))
  2516. return val;
  2517. if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input)))
  2518. return val;
  2519. if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input)))
  2520. return val;
  2521. throw TypeError("Can't convert object to primitive value");
  2522. };
  2523. /***/ }),
  2524. /* 37 */
  2525. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2526. var global = __w_pdfjs_require__(10);
  2527. var shared = __w_pdfjs_require__(38);
  2528. var hasOwn = __w_pdfjs_require__(42);
  2529. var uid = __w_pdfjs_require__(44);
  2530. var NATIVE_SYMBOL = __w_pdfjs_require__(30);
  2531. var USE_SYMBOL_AS_UID = __w_pdfjs_require__(29);
  2532. var WellKnownSymbolsStore = shared('wks');
  2533. var Symbol = global.Symbol;
  2534. var symbolFor = Symbol && Symbol['for'];
  2535. var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
  2536. module.exports = function (name) {
  2537. if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
  2538. var description = 'Symbol.' + name;
  2539. if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {
  2540. WellKnownSymbolsStore[name] = Symbol[name];
  2541. } else if (USE_SYMBOL_AS_UID && symbolFor) {
  2542. WellKnownSymbolsStore[name] = symbolFor(description);
  2543. } else {
  2544. WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
  2545. }
  2546. }
  2547. return WellKnownSymbolsStore[name];
  2548. };
  2549. /***/ }),
  2550. /* 38 */
  2551. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2552. var IS_PURE = __w_pdfjs_require__(39);
  2553. var store = __w_pdfjs_require__(40);
  2554. (module.exports = function (key, value) {
  2555. return store[key] || (store[key] = value !== undefined ? value : {});
  2556. })('versions', []).push({
  2557. version: '3.19.3',
  2558. mode: IS_PURE ? 'pure' : 'global',
  2559. copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
  2560. });
  2561. /***/ }),
  2562. /* 39 */
  2563. /***/ ((module) => {
  2564. module.exports = false;
  2565. /***/ }),
  2566. /* 40 */
  2567. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2568. var global = __w_pdfjs_require__(10);
  2569. var setGlobal = __w_pdfjs_require__(41);
  2570. var SHARED = '__core-js_shared__';
  2571. var store = global[SHARED] || setGlobal(SHARED, {});
  2572. module.exports = store;
  2573. /***/ }),
  2574. /* 41 */
  2575. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2576. var global = __w_pdfjs_require__(10);
  2577. var defineProperty = Object.defineProperty;
  2578. module.exports = function (key, value) {
  2579. try {
  2580. defineProperty(global, key, {
  2581. value: value,
  2582. configurable: true,
  2583. writable: true
  2584. });
  2585. } catch (error) {
  2586. global[key] = value;
  2587. }
  2588. return value;
  2589. };
  2590. /***/ }),
  2591. /* 42 */
  2592. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2593. var uncurryThis = __w_pdfjs_require__(19);
  2594. var toObject = __w_pdfjs_require__(43);
  2595. var hasOwnProperty = uncurryThis({}.hasOwnProperty);
  2596. module.exports = Object.hasOwn || function hasOwn(it, key) {
  2597. return hasOwnProperty(toObject(it), key);
  2598. };
  2599. /***/ }),
  2600. /* 43 */
  2601. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2602. var global = __w_pdfjs_require__(10);
  2603. var requireObjectCoercible = __w_pdfjs_require__(21);
  2604. var Object = global.Object;
  2605. module.exports = function (argument) {
  2606. return Object(requireObjectCoercible(argument));
  2607. };
  2608. /***/ }),
  2609. /* 44 */
  2610. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2611. var uncurryThis = __w_pdfjs_require__(19);
  2612. var id = 0;
  2613. var postfix = Math.random();
  2614. var toString = uncurryThis(1.0.toString);
  2615. module.exports = function (key) {
  2616. return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
  2617. };
  2618. /***/ }),
  2619. /* 45 */
  2620. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2621. var DESCRIPTORS = __w_pdfjs_require__(12);
  2622. var fails = __w_pdfjs_require__(13);
  2623. var createElement = __w_pdfjs_require__(46);
  2624. module.exports = !DESCRIPTORS && !fails(function () {
  2625. return Object.defineProperty(createElement('div'), 'a', {
  2626. get: function () {
  2627. return 7;
  2628. }
  2629. }).a != 7;
  2630. });
  2631. /***/ }),
  2632. /* 46 */
  2633. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2634. var global = __w_pdfjs_require__(10);
  2635. var isObject = __w_pdfjs_require__(24);
  2636. var document = global.document;
  2637. var EXISTS = isObject(document) && isObject(document.createElement);
  2638. module.exports = function (it) {
  2639. return EXISTS ? document.createElement(it) : {};
  2640. };
  2641. /***/ }),
  2642. /* 47 */
  2643. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2644. var DESCRIPTORS = __w_pdfjs_require__(12);
  2645. var definePropertyModule = __w_pdfjs_require__(48);
  2646. var createPropertyDescriptor = __w_pdfjs_require__(16);
  2647. module.exports = DESCRIPTORS ? function (object, key, value) {
  2648. return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
  2649. } : function (object, key, value) {
  2650. object[key] = value;
  2651. return object;
  2652. };
  2653. /***/ }),
  2654. /* 48 */
  2655. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  2656. var global = __w_pdfjs_require__(10);
  2657. var DESCRIPTORS = __w_pdfjs_require__(12);
  2658. var IE8_DOM_DEFINE = __w_pdfjs_require__(45);
  2659. var anObject = __w_pdfjs_require__(49);
  2660. var toPropertyKey = __w_pdfjs_require__(22);
  2661. var TypeError = global.TypeError;
  2662. var $defineProperty = Object.defineProperty;
  2663. exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {
  2664. anObject(O);
  2665. P = toPropertyKey(P);
  2666. anObject(Attributes);
  2667. if (IE8_DOM_DEFINE)
  2668. try {
  2669. return $defineProperty(O, P, Attributes);
  2670. } catch (error) {
  2671. }
  2672. if ('get' in Attributes || 'set' in Attributes)
  2673. throw TypeError('Accessors not supported');
  2674. if ('value' in Attributes)
  2675. O[P] = Attributes.value;
  2676. return O;
  2677. };
  2678. /***/ }),
  2679. /* 49 */
  2680. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2681. var global = __w_pdfjs_require__(10);
  2682. var isObject = __w_pdfjs_require__(24);
  2683. var String = global.String;
  2684. var TypeError = global.TypeError;
  2685. module.exports = function (argument) {
  2686. if (isObject(argument))
  2687. return argument;
  2688. throw TypeError(String(argument) + ' is not an object');
  2689. };
  2690. /***/ }),
  2691. /* 50 */
  2692. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2693. var global = __w_pdfjs_require__(10);
  2694. var isCallable = __w_pdfjs_require__(25);
  2695. var hasOwn = __w_pdfjs_require__(42);
  2696. var createNonEnumerableProperty = __w_pdfjs_require__(47);
  2697. var setGlobal = __w_pdfjs_require__(41);
  2698. var inspectSource = __w_pdfjs_require__(51);
  2699. var InternalStateModule = __w_pdfjs_require__(52);
  2700. var CONFIGURABLE_FUNCTION_NAME = (__w_pdfjs_require__(56).CONFIGURABLE);
  2701. var getInternalState = InternalStateModule.get;
  2702. var enforceInternalState = InternalStateModule.enforce;
  2703. var TEMPLATE = String(String).split('String');
  2704. (module.exports = function (O, key, value, options) {
  2705. var unsafe = options ? !!options.unsafe : false;
  2706. var simple = options ? !!options.enumerable : false;
  2707. var noTargetGet = options ? !!options.noTargetGet : false;
  2708. var name = options && options.name !== undefined ? options.name : key;
  2709. var state;
  2710. if (isCallable(value)) {
  2711. if (String(name).slice(0, 7) === 'Symbol(') {
  2712. name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
  2713. }
  2714. if (!hasOwn(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) {
  2715. createNonEnumerableProperty(value, 'name', name);
  2716. }
  2717. state = enforceInternalState(value);
  2718. if (!state.source) {
  2719. state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
  2720. }
  2721. }
  2722. if (O === global) {
  2723. if (simple)
  2724. O[key] = value;
  2725. else
  2726. setGlobal(key, value);
  2727. return;
  2728. } else if (!unsafe) {
  2729. delete O[key];
  2730. } else if (!noTargetGet && O[key]) {
  2731. simple = true;
  2732. }
  2733. if (simple)
  2734. O[key] = value;
  2735. else
  2736. createNonEnumerableProperty(O, key, value);
  2737. })(Function.prototype, 'toString', function toString() {
  2738. return isCallable(this) && getInternalState(this).source || inspectSource(this);
  2739. });
  2740. /***/ }),
  2741. /* 51 */
  2742. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2743. var uncurryThis = __w_pdfjs_require__(19);
  2744. var isCallable = __w_pdfjs_require__(25);
  2745. var store = __w_pdfjs_require__(40);
  2746. var functionToString = uncurryThis(Function.toString);
  2747. if (!isCallable(store.inspectSource)) {
  2748. store.inspectSource = function (it) {
  2749. return functionToString(it);
  2750. };
  2751. }
  2752. module.exports = store.inspectSource;
  2753. /***/ }),
  2754. /* 52 */
  2755. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2756. var NATIVE_WEAK_MAP = __w_pdfjs_require__(53);
  2757. var global = __w_pdfjs_require__(10);
  2758. var uncurryThis = __w_pdfjs_require__(19);
  2759. var isObject = __w_pdfjs_require__(24);
  2760. var createNonEnumerableProperty = __w_pdfjs_require__(47);
  2761. var hasOwn = __w_pdfjs_require__(42);
  2762. var shared = __w_pdfjs_require__(40);
  2763. var sharedKey = __w_pdfjs_require__(54);
  2764. var hiddenKeys = __w_pdfjs_require__(55);
  2765. var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
  2766. var TypeError = global.TypeError;
  2767. var WeakMap = global.WeakMap;
  2768. var set, get, has;
  2769. var enforce = function (it) {
  2770. return has(it) ? get(it) : set(it, {});
  2771. };
  2772. var getterFor = function (TYPE) {
  2773. return function (it) {
  2774. var state;
  2775. if (!isObject(it) || (state = get(it)).type !== TYPE) {
  2776. throw TypeError('Incompatible receiver, ' + TYPE + ' required');
  2777. }
  2778. return state;
  2779. };
  2780. };
  2781. if (NATIVE_WEAK_MAP || shared.state) {
  2782. var store = shared.state || (shared.state = new WeakMap());
  2783. var wmget = uncurryThis(store.get);
  2784. var wmhas = uncurryThis(store.has);
  2785. var wmset = uncurryThis(store.set);
  2786. set = function (it, metadata) {
  2787. if (wmhas(store, it))
  2788. throw new TypeError(OBJECT_ALREADY_INITIALIZED);
  2789. metadata.facade = it;
  2790. wmset(store, it, metadata);
  2791. return metadata;
  2792. };
  2793. get = function (it) {
  2794. return wmget(store, it) || {};
  2795. };
  2796. has = function (it) {
  2797. return wmhas(store, it);
  2798. };
  2799. } else {
  2800. var STATE = sharedKey('state');
  2801. hiddenKeys[STATE] = true;
  2802. set = function (it, metadata) {
  2803. if (hasOwn(it, STATE))
  2804. throw new TypeError(OBJECT_ALREADY_INITIALIZED);
  2805. metadata.facade = it;
  2806. createNonEnumerableProperty(it, STATE, metadata);
  2807. return metadata;
  2808. };
  2809. get = function (it) {
  2810. return hasOwn(it, STATE) ? it[STATE] : {};
  2811. };
  2812. has = function (it) {
  2813. return hasOwn(it, STATE);
  2814. };
  2815. }
  2816. module.exports = {
  2817. set: set,
  2818. get: get,
  2819. has: has,
  2820. enforce: enforce,
  2821. getterFor: getterFor
  2822. };
  2823. /***/ }),
  2824. /* 53 */
  2825. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2826. var global = __w_pdfjs_require__(10);
  2827. var isCallable = __w_pdfjs_require__(25);
  2828. var inspectSource = __w_pdfjs_require__(51);
  2829. var WeakMap = global.WeakMap;
  2830. module.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));
  2831. /***/ }),
  2832. /* 54 */
  2833. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2834. var shared = __w_pdfjs_require__(38);
  2835. var uid = __w_pdfjs_require__(44);
  2836. var keys = shared('keys');
  2837. module.exports = function (key) {
  2838. return keys[key] || (keys[key] = uid(key));
  2839. };
  2840. /***/ }),
  2841. /* 55 */
  2842. /***/ ((module) => {
  2843. module.exports = {};
  2844. /***/ }),
  2845. /* 56 */
  2846. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2847. var DESCRIPTORS = __w_pdfjs_require__(12);
  2848. var hasOwn = __w_pdfjs_require__(42);
  2849. var FunctionPrototype = Function.prototype;
  2850. var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
  2851. var EXISTS = hasOwn(FunctionPrototype, 'name');
  2852. var PROPER = EXISTS && function something() {
  2853. }.name === 'something';
  2854. var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable);
  2855. module.exports = {
  2856. EXISTS: EXISTS,
  2857. PROPER: PROPER,
  2858. CONFIGURABLE: CONFIGURABLE
  2859. };
  2860. /***/ }),
  2861. /* 57 */
  2862. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2863. var hasOwn = __w_pdfjs_require__(42);
  2864. var ownKeys = __w_pdfjs_require__(58);
  2865. var getOwnPropertyDescriptorModule = __w_pdfjs_require__(11);
  2866. var definePropertyModule = __w_pdfjs_require__(48);
  2867. module.exports = function (target, source) {
  2868. var keys = ownKeys(source);
  2869. var defineProperty = definePropertyModule.f;
  2870. var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
  2871. for (var i = 0; i < keys.length; i++) {
  2872. var key = keys[i];
  2873. if (!hasOwn(target, key))
  2874. defineProperty(target, key, getOwnPropertyDescriptor(source, key));
  2875. }
  2876. };
  2877. /***/ }),
  2878. /* 58 */
  2879. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2880. var getBuiltIn = __w_pdfjs_require__(27);
  2881. var uncurryThis = __w_pdfjs_require__(19);
  2882. var getOwnPropertyNamesModule = __w_pdfjs_require__(59);
  2883. var getOwnPropertySymbolsModule = __w_pdfjs_require__(67);
  2884. var anObject = __w_pdfjs_require__(49);
  2885. var concat = uncurryThis([].concat);
  2886. module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
  2887. var keys = getOwnPropertyNamesModule.f(anObject(it));
  2888. var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
  2889. return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
  2890. };
  2891. /***/ }),
  2892. /* 59 */
  2893. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  2894. var internalObjectKeys = __w_pdfjs_require__(60);
  2895. var enumBugKeys = __w_pdfjs_require__(66);
  2896. var hiddenKeys = enumBugKeys.concat('length', 'prototype');
  2897. exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
  2898. return internalObjectKeys(O, hiddenKeys);
  2899. };
  2900. /***/ }),
  2901. /* 60 */
  2902. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2903. var uncurryThis = __w_pdfjs_require__(19);
  2904. var hasOwn = __w_pdfjs_require__(42);
  2905. var toIndexedObject = __w_pdfjs_require__(17);
  2906. var indexOf = (__w_pdfjs_require__(61).indexOf);
  2907. var hiddenKeys = __w_pdfjs_require__(55);
  2908. var push = uncurryThis([].push);
  2909. module.exports = function (object, names) {
  2910. var O = toIndexedObject(object);
  2911. var i = 0;
  2912. var result = [];
  2913. var key;
  2914. for (key in O)
  2915. !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);
  2916. while (names.length > i)
  2917. if (hasOwn(O, key = names[i++])) {
  2918. ~indexOf(result, key) || push(result, key);
  2919. }
  2920. return result;
  2921. };
  2922. /***/ }),
  2923. /* 61 */
  2924. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2925. var toIndexedObject = __w_pdfjs_require__(17);
  2926. var toAbsoluteIndex = __w_pdfjs_require__(62);
  2927. var lengthOfArrayLike = __w_pdfjs_require__(64);
  2928. var createMethod = function (IS_INCLUDES) {
  2929. return function ($this, el, fromIndex) {
  2930. var O = toIndexedObject($this);
  2931. var length = lengthOfArrayLike(O);
  2932. var index = toAbsoluteIndex(fromIndex, length);
  2933. var value;
  2934. if (IS_INCLUDES && el != el)
  2935. while (length > index) {
  2936. value = O[index++];
  2937. if (value != value)
  2938. return true;
  2939. }
  2940. else
  2941. for (; length > index; index++) {
  2942. if ((IS_INCLUDES || index in O) && O[index] === el)
  2943. return IS_INCLUDES || index || 0;
  2944. }
  2945. return !IS_INCLUDES && -1;
  2946. };
  2947. };
  2948. module.exports = {
  2949. includes: createMethod(true),
  2950. indexOf: createMethod(false)
  2951. };
  2952. /***/ }),
  2953. /* 62 */
  2954. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2955. var toIntegerOrInfinity = __w_pdfjs_require__(63);
  2956. var max = Math.max;
  2957. var min = Math.min;
  2958. module.exports = function (index, length) {
  2959. var integer = toIntegerOrInfinity(index);
  2960. return integer < 0 ? max(integer + length, 0) : min(integer, length);
  2961. };
  2962. /***/ }),
  2963. /* 63 */
  2964. /***/ ((module) => {
  2965. var ceil = Math.ceil;
  2966. var floor = Math.floor;
  2967. module.exports = function (argument) {
  2968. var number = +argument;
  2969. return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
  2970. };
  2971. /***/ }),
  2972. /* 64 */
  2973. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2974. var toLength = __w_pdfjs_require__(65);
  2975. module.exports = function (obj) {
  2976. return toLength(obj.length);
  2977. };
  2978. /***/ }),
  2979. /* 65 */
  2980. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  2981. var toIntegerOrInfinity = __w_pdfjs_require__(63);
  2982. var min = Math.min;
  2983. module.exports = function (argument) {
  2984. return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0;
  2985. };
  2986. /***/ }),
  2987. /* 66 */
  2988. /***/ ((module) => {
  2989. module.exports = [
  2990. 'constructor',
  2991. 'hasOwnProperty',
  2992. 'isPrototypeOf',
  2993. 'propertyIsEnumerable',
  2994. 'toLocaleString',
  2995. 'toString',
  2996. 'valueOf'
  2997. ];
  2998. /***/ }),
  2999. /* 67 */
  3000. /***/ ((__unused_webpack_module, exports) => {
  3001. exports.f = Object.getOwnPropertySymbols;
  3002. /***/ }),
  3003. /* 68 */
  3004. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3005. var fails = __w_pdfjs_require__(13);
  3006. var isCallable = __w_pdfjs_require__(25);
  3007. var replacement = /#|\.prototype\./;
  3008. var isForced = function (feature, detection) {
  3009. var value = data[normalize(feature)];
  3010. return value == POLYFILL ? true : value == NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection;
  3011. };
  3012. var normalize = isForced.normalize = function (string) {
  3013. return String(string).replace(replacement, '.').toLowerCase();
  3014. };
  3015. var data = isForced.data = {};
  3016. var NATIVE = isForced.NATIVE = 'N';
  3017. var POLYFILL = isForced.POLYFILL = 'P';
  3018. module.exports = isForced;
  3019. /***/ }),
  3020. /* 69 */
  3021. /***/ ((module, exports, __w_pdfjs_require__) => {
  3022. "use strict";
  3023. var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;
  3024. function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  3025. (function (global, factory) {
  3026. ( false ? 0 : _typeof(exports)) === 'object' && "object" !== 'undefined' ? module.exports = factory() : true ? !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
  3027. __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
  3028. (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __w_pdfjs_require__, exports, module)) :
  3029. __WEBPACK_AMD_DEFINE_FACTORY__),
  3030. __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : (0);
  3031. })(void 0, function () {
  3032. 'use strict';
  3033. function fromArray(array) {
  3034. var m = new CSSMatrix();
  3035. var a = Array.from(array);
  3036. if (!a.every(function (n) {
  3037. return !Number.isNaN(n);
  3038. })) {
  3039. throw TypeError("CSSMatrix: \"" + array + "\" must only have numbers.");
  3040. }
  3041. if (a.length === 16) {
  3042. var m11 = a[0];
  3043. var m12 = a[1];
  3044. var m13 = a[2];
  3045. var m14 = a[3];
  3046. var m21 = a[4];
  3047. var m22 = a[5];
  3048. var m23 = a[6];
  3049. var m24 = a[7];
  3050. var m31 = a[8];
  3051. var m32 = a[9];
  3052. var m33 = a[10];
  3053. var m34 = a[11];
  3054. var m41 = a[12];
  3055. var m42 = a[13];
  3056. var m43 = a[14];
  3057. var m44 = a[15];
  3058. m.m11 = m11;
  3059. m.a = m11;
  3060. m.m21 = m21;
  3061. m.c = m21;
  3062. m.m31 = m31;
  3063. m.m41 = m41;
  3064. m.e = m41;
  3065. m.m12 = m12;
  3066. m.b = m12;
  3067. m.m22 = m22;
  3068. m.d = m22;
  3069. m.m32 = m32;
  3070. m.m42 = m42;
  3071. m.f = m42;
  3072. m.m13 = m13;
  3073. m.m23 = m23;
  3074. m.m33 = m33;
  3075. m.m43 = m43;
  3076. m.m14 = m14;
  3077. m.m24 = m24;
  3078. m.m34 = m34;
  3079. m.m44 = m44;
  3080. } else if (a.length === 6) {
  3081. var M11 = a[0];
  3082. var M12 = a[1];
  3083. var M21 = a[2];
  3084. var M22 = a[3];
  3085. var M41 = a[4];
  3086. var M42 = a[5];
  3087. m.m11 = M11;
  3088. m.a = M11;
  3089. m.m12 = M12;
  3090. m.b = M12;
  3091. m.m21 = M21;
  3092. m.c = M21;
  3093. m.m22 = M22;
  3094. m.d = M22;
  3095. m.m41 = M41;
  3096. m.e = M41;
  3097. m.m42 = M42;
  3098. m.f = M42;
  3099. } else {
  3100. throw new TypeError('CSSMatrix: expecting an Array of 6/16 values.');
  3101. }
  3102. return m;
  3103. }
  3104. function fromMatrix(m) {
  3105. var keys = Object.keys(new CSSMatrix());
  3106. if (_typeof(m) === 'object' && keys.every(function (k) {
  3107. return k in m;
  3108. })) {
  3109. return fromArray([m.m11, m.m12, m.m13, m.m14, m.m21, m.m22, m.m23, m.m24, m.m31, m.m32, m.m33, m.m34, m.m41, m.m42, m.m43, m.m44]);
  3110. }
  3111. throw TypeError("CSSMatrix: \"" + m + "\" is not a DOMMatrix / CSSMatrix / JSON compatible object.");
  3112. }
  3113. function fromString(source) {
  3114. if (typeof source !== 'string') {
  3115. throw TypeError("CSSMatrix: \"" + source + "\" is not a string.");
  3116. }
  3117. var str = String(source).replace(/\s/g, '');
  3118. var m = new CSSMatrix();
  3119. var invalidStringError = "CSSMatrix: invalid transform string \"" + source + "\"";
  3120. str.split(')').filter(function (f) {
  3121. return f;
  3122. }).forEach(function (tf) {
  3123. var ref = tf.split('(');
  3124. var prop = ref[0];
  3125. var value = ref[1];
  3126. if (!value) {
  3127. throw TypeError(invalidStringError);
  3128. }
  3129. var components = value.split(',').map(function (n) {
  3130. return n.includes('rad') ? parseFloat(n) * (180 / Math.PI) : parseFloat(n);
  3131. });
  3132. var x = components[0];
  3133. var y = components[1];
  3134. var z = components[2];
  3135. var a = components[3];
  3136. var xyz = [x, y, z];
  3137. var xyza = [x, y, z, a];
  3138. if (prop === 'perspective' && x && [y, z].every(function (n) {
  3139. return n === undefined;
  3140. })) {
  3141. m.m34 = -1 / x;
  3142. } else if (prop.includes('matrix') && [6, 16].includes(components.length) && components.every(function (n) {
  3143. return !Number.isNaN(+n);
  3144. })) {
  3145. var values = components.map(function (n) {
  3146. return Math.abs(n) < 1e-6 ? 0 : n;
  3147. });
  3148. m = m.multiply(fromArray(values));
  3149. } else if (prop === 'translate3d' && xyz.every(function (n) {
  3150. return !Number.isNaN(+n);
  3151. })) {
  3152. m = m.translate(x, y, z);
  3153. } else if (prop === 'translate' && x && z === undefined) {
  3154. m = m.translate(x, y || 0, 0);
  3155. } else if (prop === 'rotate3d' && xyza.every(function (n) {
  3156. return !Number.isNaN(+n);
  3157. }) && a) {
  3158. m = m.rotateAxisAngle(x, y, z, a);
  3159. } else if (prop === 'rotate' && x && [y, z].every(function (n) {
  3160. return n === undefined;
  3161. })) {
  3162. m = m.rotate(0, 0, x);
  3163. } else if (prop === 'scale3d' && xyz.every(function (n) {
  3164. return !Number.isNaN(+n);
  3165. }) && xyz.some(function (n) {
  3166. return n !== 1;
  3167. })) {
  3168. m = m.scale(x, y, z);
  3169. } else if (prop === 'scale' && !Number.isNaN(x) && x !== 1 && z === undefined) {
  3170. var nosy = Number.isNaN(+y);
  3171. var sy = nosy ? x : y;
  3172. m = m.scale(x, sy, 1);
  3173. } else if (prop === 'skew' && x && z === undefined) {
  3174. m = m.skewX(x);
  3175. m = y ? m.skewY(y) : m;
  3176. } else if (/[XYZ]/.test(prop) && x && [y, z].every(function (n) {
  3177. return n === undefined;
  3178. }) && ['translate', 'rotate', 'scale', 'skew'].some(function (p) {
  3179. return prop.includes(p);
  3180. })) {
  3181. if (['skewX', 'skewY'].includes(prop)) {
  3182. m = m[prop](x);
  3183. } else {
  3184. var fn = prop.replace(/[XYZ]/, '');
  3185. var axis = prop.replace(fn, '');
  3186. var idx = ['X', 'Y', 'Z'].indexOf(axis);
  3187. var axeValues = [idx === 0 ? x : 0, idx === 1 ? x : 0, idx === 2 ? x : 0];
  3188. m = m[fn].apply(m, axeValues);
  3189. }
  3190. } else {
  3191. throw TypeError(invalidStringError);
  3192. }
  3193. });
  3194. return m;
  3195. }
  3196. function Translate(x, y, z) {
  3197. var m = new CSSMatrix();
  3198. m.m41 = x;
  3199. m.e = x;
  3200. m.m42 = y;
  3201. m.f = y;
  3202. m.m43 = z;
  3203. return m;
  3204. }
  3205. function Rotate(rx, ry, rz) {
  3206. var m = new CSSMatrix();
  3207. var degToRad = Math.PI / 180;
  3208. var radX = rx * degToRad;
  3209. var radY = ry * degToRad;
  3210. var radZ = rz * degToRad;
  3211. var cosx = Math.cos(radX);
  3212. var sinx = -Math.sin(radX);
  3213. var cosy = Math.cos(radY);
  3214. var siny = -Math.sin(radY);
  3215. var cosz = Math.cos(radZ);
  3216. var sinz = -Math.sin(radZ);
  3217. var m11 = cosy * cosz;
  3218. var m12 = -cosy * sinz;
  3219. m.m11 = m11;
  3220. m.a = m11;
  3221. m.m12 = m12;
  3222. m.b = m12;
  3223. m.m13 = siny;
  3224. var m21 = sinx * siny * cosz + cosx * sinz;
  3225. m.m21 = m21;
  3226. m.c = m21;
  3227. var m22 = cosx * cosz - sinx * siny * sinz;
  3228. m.m22 = m22;
  3229. m.d = m22;
  3230. m.m23 = -sinx * cosy;
  3231. m.m31 = sinx * sinz - cosx * siny * cosz;
  3232. m.m32 = sinx * cosz + cosx * siny * sinz;
  3233. m.m33 = cosx * cosy;
  3234. return m;
  3235. }
  3236. function RotateAxisAngle(x, y, z, alpha) {
  3237. var m = new CSSMatrix();
  3238. var angle = alpha * (Math.PI / 360);
  3239. var sinA = Math.sin(angle);
  3240. var cosA = Math.cos(angle);
  3241. var sinA2 = sinA * sinA;
  3242. var length = Math.sqrt(x * x + y * y + z * z);
  3243. var X = x;
  3244. var Y = y;
  3245. var Z = z;
  3246. if (length === 0) {
  3247. X = 0;
  3248. Y = 0;
  3249. Z = 1;
  3250. } else {
  3251. X /= length;
  3252. Y /= length;
  3253. Z /= length;
  3254. }
  3255. var x2 = X * X;
  3256. var y2 = Y * Y;
  3257. var z2 = Z * Z;
  3258. var m11 = 1 - 2 * (y2 + z2) * sinA2;
  3259. m.m11 = m11;
  3260. m.a = m11;
  3261. var m12 = 2 * (X * Y * sinA2 + Z * sinA * cosA);
  3262. m.m12 = m12;
  3263. m.b = m12;
  3264. m.m13 = 2 * (X * Z * sinA2 - Y * sinA * cosA);
  3265. var m21 = 2 * (Y * X * sinA2 - Z * sinA * cosA);
  3266. m.m21 = m21;
  3267. m.c = m21;
  3268. var m22 = 1 - 2 * (z2 + x2) * sinA2;
  3269. m.m22 = m22;
  3270. m.d = m22;
  3271. m.m23 = 2 * (Y * Z * sinA2 + X * sinA * cosA);
  3272. m.m31 = 2 * (Z * X * sinA2 + Y * sinA * cosA);
  3273. m.m32 = 2 * (Z * Y * sinA2 - X * sinA * cosA);
  3274. m.m33 = 1 - 2 * (x2 + y2) * sinA2;
  3275. return m;
  3276. }
  3277. function Scale(x, y, z) {
  3278. var m = new CSSMatrix();
  3279. m.m11 = x;
  3280. m.a = x;
  3281. m.m22 = y;
  3282. m.d = y;
  3283. m.m33 = z;
  3284. return m;
  3285. }
  3286. function SkewX(angle) {
  3287. var m = new CSSMatrix();
  3288. var radA = angle * Math.PI / 180;
  3289. var t = Math.tan(radA);
  3290. m.m21 = t;
  3291. m.c = t;
  3292. return m;
  3293. }
  3294. function SkewY(angle) {
  3295. var m = new CSSMatrix();
  3296. var radA = angle * Math.PI / 180;
  3297. var t = Math.tan(radA);
  3298. m.m12 = t;
  3299. m.b = t;
  3300. return m;
  3301. }
  3302. function Multiply(m1, m2) {
  3303. var m11 = m2.m11 * m1.m11 + m2.m12 * m1.m21 + m2.m13 * m1.m31 + m2.m14 * m1.m41;
  3304. var m12 = m2.m11 * m1.m12 + m2.m12 * m1.m22 + m2.m13 * m1.m32 + m2.m14 * m1.m42;
  3305. var m13 = m2.m11 * m1.m13 + m2.m12 * m1.m23 + m2.m13 * m1.m33 + m2.m14 * m1.m43;
  3306. var m14 = m2.m11 * m1.m14 + m2.m12 * m1.m24 + m2.m13 * m1.m34 + m2.m14 * m1.m44;
  3307. var m21 = m2.m21 * m1.m11 + m2.m22 * m1.m21 + m2.m23 * m1.m31 + m2.m24 * m1.m41;
  3308. var m22 = m2.m21 * m1.m12 + m2.m22 * m1.m22 + m2.m23 * m1.m32 + m2.m24 * m1.m42;
  3309. var m23 = m2.m21 * m1.m13 + m2.m22 * m1.m23 + m2.m23 * m1.m33 + m2.m24 * m1.m43;
  3310. var m24 = m2.m21 * m1.m14 + m2.m22 * m1.m24 + m2.m23 * m1.m34 + m2.m24 * m1.m44;
  3311. var m31 = m2.m31 * m1.m11 + m2.m32 * m1.m21 + m2.m33 * m1.m31 + m2.m34 * m1.m41;
  3312. var m32 = m2.m31 * m1.m12 + m2.m32 * m1.m22 + m2.m33 * m1.m32 + m2.m34 * m1.m42;
  3313. var m33 = m2.m31 * m1.m13 + m2.m32 * m1.m23 + m2.m33 * m1.m33 + m2.m34 * m1.m43;
  3314. var m34 = m2.m31 * m1.m14 + m2.m32 * m1.m24 + m2.m33 * m1.m34 + m2.m34 * m1.m44;
  3315. var m41 = m2.m41 * m1.m11 + m2.m42 * m1.m21 + m2.m43 * m1.m31 + m2.m44 * m1.m41;
  3316. var m42 = m2.m41 * m1.m12 + m2.m42 * m1.m22 + m2.m43 * m1.m32 + m2.m44 * m1.m42;
  3317. var m43 = m2.m41 * m1.m13 + m2.m42 * m1.m23 + m2.m43 * m1.m33 + m2.m44 * m1.m43;
  3318. var m44 = m2.m41 * m1.m14 + m2.m42 * m1.m24 + m2.m43 * m1.m34 + m2.m44 * m1.m44;
  3319. return fromArray([m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44]);
  3320. }
  3321. var CSSMatrix = function CSSMatrix() {
  3322. var args = [],
  3323. len = arguments.length;
  3324. while (len--) {
  3325. args[len] = arguments[len];
  3326. }
  3327. var m = this;
  3328. m.a = 1;
  3329. m.b = 0;
  3330. m.c = 0;
  3331. m.d = 1;
  3332. m.e = 0;
  3333. m.f = 0;
  3334. m.m11 = 1;
  3335. m.m12 = 0;
  3336. m.m13 = 0;
  3337. m.m14 = 0;
  3338. m.m21 = 0;
  3339. m.m22 = 1;
  3340. m.m23 = 0;
  3341. m.m24 = 0;
  3342. m.m31 = 0;
  3343. m.m32 = 0;
  3344. m.m33 = 1;
  3345. m.m34 = 0;
  3346. m.m41 = 0;
  3347. m.m42 = 0;
  3348. m.m43 = 0;
  3349. m.m44 = 1;
  3350. if (args && args.length) {
  3351. var ARGS = [16, 6].some(function (l) {
  3352. return l === args.length;
  3353. }) ? args : args[0];
  3354. return m.setMatrixValue(ARGS);
  3355. }
  3356. return m;
  3357. };
  3358. var prototypeAccessors = {
  3359. isIdentity: {
  3360. configurable: true
  3361. },
  3362. is2D: {
  3363. configurable: true
  3364. }
  3365. };
  3366. prototypeAccessors.isIdentity.set = function (value) {
  3367. this.isIdentity = value;
  3368. };
  3369. prototypeAccessors.isIdentity.get = function () {
  3370. var m = this;
  3371. return m.m11 === 1 && m.m12 === 0 && m.m13 === 0 && m.m14 === 0 && m.m21 === 0 && m.m22 === 1 && m.m23 === 0 && m.m24 === 0 && m.m31 === 0 && m.m32 === 0 && m.m33 === 1 && m.m34 === 0 && m.m41 === 0 && m.m42 === 0 && m.m43 === 0 && m.m44 === 1;
  3372. };
  3373. prototypeAccessors.is2D.get = function () {
  3374. var m = this;
  3375. return m.m31 === 0 && m.m32 === 0 && m.m33 === 1 && m.m34 === 0 && m.m43 === 0 && m.m44 === 1;
  3376. };
  3377. prototypeAccessors.is2D.set = function (value) {
  3378. this.is2D = value;
  3379. };
  3380. CSSMatrix.prototype.setMatrixValue = function setMatrixValue(source) {
  3381. var m = this;
  3382. if ([Array, Float64Array, Float32Array].some(function (a) {
  3383. return source instanceof a;
  3384. })) {
  3385. return fromArray(source);
  3386. }
  3387. if (typeof source === 'string' && source.length && source !== 'none') {
  3388. return fromString(source);
  3389. }
  3390. if (_typeof(source) === 'object') {
  3391. return fromMatrix(source);
  3392. }
  3393. return m;
  3394. };
  3395. CSSMatrix.prototype.toArray = function toArray() {
  3396. var m = this;
  3397. var pow = Math.pow(10, 6);
  3398. var result;
  3399. if (m.is2D) {
  3400. result = [m.a, m.b, m.c, m.d, m.e, m.f];
  3401. } else {
  3402. result = [m.m11, m.m12, m.m13, m.m14, m.m21, m.m22, m.m23, m.m24, m.m31, m.m32, m.m33, m.m34, m.m41, m.m42, m.m43, m.m44];
  3403. }
  3404. return result.map(function (n) {
  3405. return Math.abs(n) < 1e-6 ? 0 : (n * pow >> 0) / pow;
  3406. });
  3407. };
  3408. CSSMatrix.prototype.toString = function toString() {
  3409. var m = this;
  3410. var values = m.toArray();
  3411. var type = m.is2D ? 'matrix' : 'matrix3d';
  3412. return type + "(" + values + ")";
  3413. };
  3414. CSSMatrix.prototype.toJSON = function toJSON() {
  3415. var m = this;
  3416. var is2D = m.is2D;
  3417. var isIdentity = m.isIdentity;
  3418. return Object.assign({}, m, {
  3419. is2D: is2D,
  3420. isIdentity: isIdentity
  3421. });
  3422. };
  3423. CSSMatrix.prototype.multiply = function multiply(m2) {
  3424. return Multiply(this, m2);
  3425. };
  3426. CSSMatrix.prototype.translate = function translate(x, y, z) {
  3427. var X = x;
  3428. var Y = y;
  3429. var Z = z;
  3430. if (Z === undefined) {
  3431. Z = 0;
  3432. }
  3433. if (Y === undefined) {
  3434. Y = 0;
  3435. }
  3436. return Multiply(this, Translate(X, Y, Z));
  3437. };
  3438. CSSMatrix.prototype.scale = function scale(x, y, z) {
  3439. var X = x;
  3440. var Y = y;
  3441. var Z = z;
  3442. if (Y === undefined) {
  3443. Y = x;
  3444. }
  3445. if (Z === undefined) {
  3446. Z = 1;
  3447. }
  3448. return Multiply(this, Scale(X, Y, Z));
  3449. };
  3450. CSSMatrix.prototype.rotate = function rotate(rx, ry, rz) {
  3451. var RX = rx;
  3452. var RY = ry;
  3453. var RZ = rz;
  3454. if (RY === undefined) {
  3455. RY = 0;
  3456. }
  3457. if (RZ === undefined) {
  3458. RZ = RX;
  3459. RX = 0;
  3460. }
  3461. return Multiply(this, Rotate(RX, RY, RZ));
  3462. };
  3463. CSSMatrix.prototype.rotateAxisAngle = function rotateAxisAngle(x, y, z, angle) {
  3464. if ([x, y, z, angle].some(function (n) {
  3465. return Number.isNaN(n);
  3466. })) {
  3467. throw new TypeError('CSSMatrix: expecting 4 values');
  3468. }
  3469. return Multiply(this, RotateAxisAngle(x, y, z, angle));
  3470. };
  3471. CSSMatrix.prototype.skewX = function skewX(angle) {
  3472. return Multiply(this, SkewX(angle));
  3473. };
  3474. CSSMatrix.prototype.skewY = function skewY(angle) {
  3475. return Multiply(this, SkewY(angle));
  3476. };
  3477. CSSMatrix.prototype.transformPoint = function transformPoint(v) {
  3478. var M = this;
  3479. var m = Translate(v.x, v.y, v.z);
  3480. m.m44 = v.w || 1;
  3481. m = M.multiply(m);
  3482. return {
  3483. x: m.m41,
  3484. y: m.m42,
  3485. z: m.m43,
  3486. w: m.m44
  3487. };
  3488. };
  3489. CSSMatrix.prototype.transform = function transform(t) {
  3490. var m = this;
  3491. var x = m.m11 * t.x + m.m12 * t.y + m.m13 * t.z + m.m14 * t.w;
  3492. var y = m.m21 * t.x + m.m22 * t.y + m.m23 * t.z + m.m24 * t.w;
  3493. var z = m.m31 * t.x + m.m32 * t.y + m.m33 * t.z + m.m34 * t.w;
  3494. var w = m.m41 * t.x + m.m42 * t.y + m.m43 * t.z + m.m44 * t.w;
  3495. return {
  3496. x: x / w,
  3497. y: y / w,
  3498. z: z / w,
  3499. w: w
  3500. };
  3501. };
  3502. Object.defineProperties(CSSMatrix.prototype, prototypeAccessors);
  3503. Object.assign(CSSMatrix, {
  3504. Translate: Translate,
  3505. Rotate: Rotate,
  3506. RotateAxisAngle: RotateAxisAngle,
  3507. Scale: Scale,
  3508. SkewX: SkewX,
  3509. SkewY: SkewY,
  3510. Multiply: Multiply,
  3511. fromArray: fromArray,
  3512. fromMatrix: fromMatrix,
  3513. fromString: fromString
  3514. });
  3515. var version = "0.0.24";
  3516. var Version = version;
  3517. Object.assign(CSSMatrix, {
  3518. Version: Version
  3519. });
  3520. return CSSMatrix;
  3521. });
  3522. /***/ }),
  3523. /* 70 */
  3524. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3525. __w_pdfjs_require__(71);
  3526. __w_pdfjs_require__(86);
  3527. var path = __w_pdfjs_require__(96);
  3528. module.exports = path.Object.fromEntries;
  3529. /***/ }),
  3530. /* 71 */
  3531. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3532. "use strict";
  3533. var toIndexedObject = __w_pdfjs_require__(17);
  3534. var addToUnscopables = __w_pdfjs_require__(72);
  3535. var Iterators = __w_pdfjs_require__(77);
  3536. var InternalStateModule = __w_pdfjs_require__(52);
  3537. var defineIterator = __w_pdfjs_require__(78);
  3538. var ARRAY_ITERATOR = 'Array Iterator';
  3539. var setInternalState = InternalStateModule.set;
  3540. var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
  3541. module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
  3542. setInternalState(this, {
  3543. type: ARRAY_ITERATOR,
  3544. target: toIndexedObject(iterated),
  3545. index: 0,
  3546. kind: kind
  3547. });
  3548. }, function () {
  3549. var state = getInternalState(this);
  3550. var target = state.target;
  3551. var kind = state.kind;
  3552. var index = state.index++;
  3553. if (!target || index >= target.length) {
  3554. state.target = undefined;
  3555. return {
  3556. value: undefined,
  3557. done: true
  3558. };
  3559. }
  3560. if (kind == 'keys')
  3561. return {
  3562. value: index,
  3563. done: false
  3564. };
  3565. if (kind == 'values')
  3566. return {
  3567. value: target[index],
  3568. done: false
  3569. };
  3570. return {
  3571. value: [
  3572. index,
  3573. target[index]
  3574. ],
  3575. done: false
  3576. };
  3577. }, 'values');
  3578. Iterators.Arguments = Iterators.Array;
  3579. addToUnscopables('keys');
  3580. addToUnscopables('values');
  3581. addToUnscopables('entries');
  3582. /***/ }),
  3583. /* 72 */
  3584. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3585. var wellKnownSymbol = __w_pdfjs_require__(37);
  3586. var create = __w_pdfjs_require__(73);
  3587. var definePropertyModule = __w_pdfjs_require__(48);
  3588. var UNSCOPABLES = wellKnownSymbol('unscopables');
  3589. var ArrayPrototype = Array.prototype;
  3590. if (ArrayPrototype[UNSCOPABLES] == undefined) {
  3591. definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
  3592. configurable: true,
  3593. value: create(null)
  3594. });
  3595. }
  3596. module.exports = function (key) {
  3597. ArrayPrototype[UNSCOPABLES][key] = true;
  3598. };
  3599. /***/ }),
  3600. /* 73 */
  3601. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3602. var anObject = __w_pdfjs_require__(49);
  3603. var defineProperties = __w_pdfjs_require__(74);
  3604. var enumBugKeys = __w_pdfjs_require__(66);
  3605. var hiddenKeys = __w_pdfjs_require__(55);
  3606. var html = __w_pdfjs_require__(76);
  3607. var documentCreateElement = __w_pdfjs_require__(46);
  3608. var sharedKey = __w_pdfjs_require__(54);
  3609. var GT = '>';
  3610. var LT = '<';
  3611. var PROTOTYPE = 'prototype';
  3612. var SCRIPT = 'script';
  3613. var IE_PROTO = sharedKey('IE_PROTO');
  3614. var EmptyConstructor = function () {
  3615. };
  3616. var scriptTag = function (content) {
  3617. return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
  3618. };
  3619. var NullProtoObjectViaActiveX = function (activeXDocument) {
  3620. activeXDocument.write(scriptTag(''));
  3621. activeXDocument.close();
  3622. var temp = activeXDocument.parentWindow.Object;
  3623. activeXDocument = null;
  3624. return temp;
  3625. };
  3626. var NullProtoObjectViaIFrame = function () {
  3627. var iframe = documentCreateElement('iframe');
  3628. var JS = 'java' + SCRIPT + ':';
  3629. var iframeDocument;
  3630. iframe.style.display = 'none';
  3631. html.appendChild(iframe);
  3632. iframe.src = String(JS);
  3633. iframeDocument = iframe.contentWindow.document;
  3634. iframeDocument.open();
  3635. iframeDocument.write(scriptTag('document.F=Object'));
  3636. iframeDocument.close();
  3637. return iframeDocument.F;
  3638. };
  3639. var activeXDocument;
  3640. var NullProtoObject = function () {
  3641. try {
  3642. activeXDocument = new ActiveXObject('htmlfile');
  3643. } catch (error) {
  3644. }
  3645. NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument);
  3646. var length = enumBugKeys.length;
  3647. while (length--)
  3648. delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
  3649. return NullProtoObject();
  3650. };
  3651. hiddenKeys[IE_PROTO] = true;
  3652. module.exports = Object.create || function create(O, Properties) {
  3653. var result;
  3654. if (O !== null) {
  3655. EmptyConstructor[PROTOTYPE] = anObject(O);
  3656. result = new EmptyConstructor();
  3657. EmptyConstructor[PROTOTYPE] = null;
  3658. result[IE_PROTO] = O;
  3659. } else
  3660. result = NullProtoObject();
  3661. return Properties === undefined ? result : defineProperties(result, Properties);
  3662. };
  3663. /***/ }),
  3664. /* 74 */
  3665. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3666. var DESCRIPTORS = __w_pdfjs_require__(12);
  3667. var definePropertyModule = __w_pdfjs_require__(48);
  3668. var anObject = __w_pdfjs_require__(49);
  3669. var toIndexedObject = __w_pdfjs_require__(17);
  3670. var objectKeys = __w_pdfjs_require__(75);
  3671. module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
  3672. anObject(O);
  3673. var props = toIndexedObject(Properties);
  3674. var keys = objectKeys(Properties);
  3675. var length = keys.length;
  3676. var index = 0;
  3677. var key;
  3678. while (length > index)
  3679. definePropertyModule.f(O, key = keys[index++], props[key]);
  3680. return O;
  3681. };
  3682. /***/ }),
  3683. /* 75 */
  3684. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3685. var internalObjectKeys = __w_pdfjs_require__(60);
  3686. var enumBugKeys = __w_pdfjs_require__(66);
  3687. module.exports = Object.keys || function keys(O) {
  3688. return internalObjectKeys(O, enumBugKeys);
  3689. };
  3690. /***/ }),
  3691. /* 76 */
  3692. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3693. var getBuiltIn = __w_pdfjs_require__(27);
  3694. module.exports = getBuiltIn('document', 'documentElement');
  3695. /***/ }),
  3696. /* 77 */
  3697. /***/ ((module) => {
  3698. module.exports = {};
  3699. /***/ }),
  3700. /* 78 */
  3701. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3702. "use strict";
  3703. var $ = __w_pdfjs_require__(9);
  3704. var call = __w_pdfjs_require__(14);
  3705. var IS_PURE = __w_pdfjs_require__(39);
  3706. var FunctionName = __w_pdfjs_require__(56);
  3707. var isCallable = __w_pdfjs_require__(25);
  3708. var createIteratorConstructor = __w_pdfjs_require__(79);
  3709. var getPrototypeOf = __w_pdfjs_require__(81);
  3710. var setPrototypeOf = __w_pdfjs_require__(84);
  3711. var setToStringTag = __w_pdfjs_require__(83);
  3712. var createNonEnumerableProperty = __w_pdfjs_require__(47);
  3713. var redefine = __w_pdfjs_require__(50);
  3714. var wellKnownSymbol = __w_pdfjs_require__(37);
  3715. var Iterators = __w_pdfjs_require__(77);
  3716. var IteratorsCore = __w_pdfjs_require__(80);
  3717. var PROPER_FUNCTION_NAME = FunctionName.PROPER;
  3718. var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
  3719. var IteratorPrototype = IteratorsCore.IteratorPrototype;
  3720. var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
  3721. var ITERATOR = wellKnownSymbol('iterator');
  3722. var KEYS = 'keys';
  3723. var VALUES = 'values';
  3724. var ENTRIES = 'entries';
  3725. var returnThis = function () {
  3726. return this;
  3727. };
  3728. module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
  3729. createIteratorConstructor(IteratorConstructor, NAME, next);
  3730. var getIterationMethod = function (KIND) {
  3731. if (KIND === DEFAULT && defaultIterator)
  3732. return defaultIterator;
  3733. if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)
  3734. return IterablePrototype[KIND];
  3735. switch (KIND) {
  3736. case KEYS:
  3737. return function keys() {
  3738. return new IteratorConstructor(this, KIND);
  3739. };
  3740. case VALUES:
  3741. return function values() {
  3742. return new IteratorConstructor(this, KIND);
  3743. };
  3744. case ENTRIES:
  3745. return function entries() {
  3746. return new IteratorConstructor(this, KIND);
  3747. };
  3748. }
  3749. return function () {
  3750. return new IteratorConstructor(this);
  3751. };
  3752. };
  3753. var TO_STRING_TAG = NAME + ' Iterator';
  3754. var INCORRECT_VALUES_NAME = false;
  3755. var IterablePrototype = Iterable.prototype;
  3756. var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];
  3757. var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
  3758. var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
  3759. var CurrentIteratorPrototype, methods, KEY;
  3760. if (anyNativeIterator) {
  3761. CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
  3762. if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
  3763. if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
  3764. if (setPrototypeOf) {
  3765. setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
  3766. } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {
  3767. redefine(CurrentIteratorPrototype, ITERATOR, returnThis);
  3768. }
  3769. }
  3770. setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
  3771. if (IS_PURE)
  3772. Iterators[TO_STRING_TAG] = returnThis;
  3773. }
  3774. }
  3775. if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
  3776. if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {
  3777. createNonEnumerableProperty(IterablePrototype, 'name', VALUES);
  3778. } else {
  3779. INCORRECT_VALUES_NAME = true;
  3780. defaultIterator = function values() {
  3781. return call(nativeIterator, this);
  3782. };
  3783. }
  3784. }
  3785. if (DEFAULT) {
  3786. methods = {
  3787. values: getIterationMethod(VALUES),
  3788. keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
  3789. entries: getIterationMethod(ENTRIES)
  3790. };
  3791. if (FORCED)
  3792. for (KEY in methods) {
  3793. if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
  3794. redefine(IterablePrototype, KEY, methods[KEY]);
  3795. }
  3796. }
  3797. else
  3798. $({
  3799. target: NAME,
  3800. proto: true,
  3801. forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME
  3802. }, methods);
  3803. }
  3804. if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
  3805. redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });
  3806. }
  3807. Iterators[NAME] = defaultIterator;
  3808. return methods;
  3809. };
  3810. /***/ }),
  3811. /* 79 */
  3812. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3813. "use strict";
  3814. var IteratorPrototype = (__w_pdfjs_require__(80).IteratorPrototype);
  3815. var create = __w_pdfjs_require__(73);
  3816. var createPropertyDescriptor = __w_pdfjs_require__(16);
  3817. var setToStringTag = __w_pdfjs_require__(83);
  3818. var Iterators = __w_pdfjs_require__(77);
  3819. var returnThis = function () {
  3820. return this;
  3821. };
  3822. module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
  3823. var TO_STRING_TAG = NAME + ' Iterator';
  3824. IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });
  3825. setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
  3826. Iterators[TO_STRING_TAG] = returnThis;
  3827. return IteratorConstructor;
  3828. };
  3829. /***/ }),
  3830. /* 80 */
  3831. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3832. "use strict";
  3833. var fails = __w_pdfjs_require__(13);
  3834. var isCallable = __w_pdfjs_require__(25);
  3835. var create = __w_pdfjs_require__(73);
  3836. var getPrototypeOf = __w_pdfjs_require__(81);
  3837. var redefine = __w_pdfjs_require__(50);
  3838. var wellKnownSymbol = __w_pdfjs_require__(37);
  3839. var IS_PURE = __w_pdfjs_require__(39);
  3840. var ITERATOR = wellKnownSymbol('iterator');
  3841. var BUGGY_SAFARI_ITERATORS = false;
  3842. var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
  3843. if ([].keys) {
  3844. arrayIterator = [].keys();
  3845. if (!('next' in arrayIterator))
  3846. BUGGY_SAFARI_ITERATORS = true;
  3847. else {
  3848. PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
  3849. if (PrototypeOfArrayIteratorPrototype !== Object.prototype)
  3850. IteratorPrototype = PrototypeOfArrayIteratorPrototype;
  3851. }
  3852. }
  3853. var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {
  3854. var test = {};
  3855. return IteratorPrototype[ITERATOR].call(test) !== test;
  3856. });
  3857. if (NEW_ITERATOR_PROTOTYPE)
  3858. IteratorPrototype = {};
  3859. else if (IS_PURE)
  3860. IteratorPrototype = create(IteratorPrototype);
  3861. if (!isCallable(IteratorPrototype[ITERATOR])) {
  3862. redefine(IteratorPrototype, ITERATOR, function () {
  3863. return this;
  3864. });
  3865. }
  3866. module.exports = {
  3867. IteratorPrototype: IteratorPrototype,
  3868. BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
  3869. };
  3870. /***/ }),
  3871. /* 81 */
  3872. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3873. var global = __w_pdfjs_require__(10);
  3874. var hasOwn = __w_pdfjs_require__(42);
  3875. var isCallable = __w_pdfjs_require__(25);
  3876. var toObject = __w_pdfjs_require__(43);
  3877. var sharedKey = __w_pdfjs_require__(54);
  3878. var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(82);
  3879. var IE_PROTO = sharedKey('IE_PROTO');
  3880. var Object = global.Object;
  3881. var ObjectPrototype = Object.prototype;
  3882. module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
  3883. var object = toObject(O);
  3884. if (hasOwn(object, IE_PROTO))
  3885. return object[IE_PROTO];
  3886. var constructor = object.constructor;
  3887. if (isCallable(constructor) && object instanceof constructor) {
  3888. return constructor.prototype;
  3889. }
  3890. return object instanceof Object ? ObjectPrototype : null;
  3891. };
  3892. /***/ }),
  3893. /* 82 */
  3894. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3895. var fails = __w_pdfjs_require__(13);
  3896. module.exports = !fails(function () {
  3897. function F() {
  3898. }
  3899. F.prototype.constructor = null;
  3900. return Object.getPrototypeOf(new F()) !== F.prototype;
  3901. });
  3902. /***/ }),
  3903. /* 83 */
  3904. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3905. var defineProperty = (__w_pdfjs_require__(48).f);
  3906. var hasOwn = __w_pdfjs_require__(42);
  3907. var wellKnownSymbol = __w_pdfjs_require__(37);
  3908. var TO_STRING_TAG = wellKnownSymbol('toStringTag');
  3909. module.exports = function (it, TAG, STATIC) {
  3910. if (it && !hasOwn(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
  3911. defineProperty(it, TO_STRING_TAG, {
  3912. configurable: true,
  3913. value: TAG
  3914. });
  3915. }
  3916. };
  3917. /***/ }),
  3918. /* 84 */
  3919. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3920. var uncurryThis = __w_pdfjs_require__(19);
  3921. var anObject = __w_pdfjs_require__(49);
  3922. var aPossiblePrototype = __w_pdfjs_require__(85);
  3923. module.exports = Object.setPrototypeOf || ('__proto__' in {} ? (function () {
  3924. var CORRECT_SETTER = false;
  3925. var test = {};
  3926. var setter;
  3927. try {
  3928. setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
  3929. setter(test, []);
  3930. CORRECT_SETTER = test instanceof Array;
  3931. } catch (error) {
  3932. }
  3933. return function setPrototypeOf(O, proto) {
  3934. anObject(O);
  3935. aPossiblePrototype(proto);
  3936. if (CORRECT_SETTER)
  3937. setter(O, proto);
  3938. else
  3939. O.__proto__ = proto;
  3940. return O;
  3941. };
  3942. }()) : undefined);
  3943. /***/ }),
  3944. /* 85 */
  3945. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3946. var global = __w_pdfjs_require__(10);
  3947. var isCallable = __w_pdfjs_require__(25);
  3948. var String = global.String;
  3949. var TypeError = global.TypeError;
  3950. module.exports = function (argument) {
  3951. if (typeof argument == 'object' || isCallable(argument))
  3952. return argument;
  3953. throw TypeError("Can't set " + String(argument) + ' as a prototype');
  3954. };
  3955. /***/ }),
  3956. /* 86 */
  3957. /***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3958. var $ = __w_pdfjs_require__(9);
  3959. var iterate = __w_pdfjs_require__(87);
  3960. var createProperty = __w_pdfjs_require__(95);
  3961. $({
  3962. target: 'Object',
  3963. stat: true
  3964. }, {
  3965. fromEntries: function fromEntries(iterable) {
  3966. var obj = {};
  3967. iterate(iterable, function (k, v) {
  3968. createProperty(obj, k, v);
  3969. }, { AS_ENTRIES: true });
  3970. return obj;
  3971. }
  3972. });
  3973. /***/ }),
  3974. /* 87 */
  3975. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  3976. var global = __w_pdfjs_require__(10);
  3977. var bind = __w_pdfjs_require__(88);
  3978. var call = __w_pdfjs_require__(14);
  3979. var anObject = __w_pdfjs_require__(49);
  3980. var tryToString = __w_pdfjs_require__(35);
  3981. var isArrayIteratorMethod = __w_pdfjs_require__(89);
  3982. var lengthOfArrayLike = __w_pdfjs_require__(64);
  3983. var isPrototypeOf = __w_pdfjs_require__(28);
  3984. var getIterator = __w_pdfjs_require__(90);
  3985. var getIteratorMethod = __w_pdfjs_require__(91);
  3986. var iteratorClose = __w_pdfjs_require__(94);
  3987. var TypeError = global.TypeError;
  3988. var Result = function (stopped, result) {
  3989. this.stopped = stopped;
  3990. this.result = result;
  3991. };
  3992. var ResultPrototype = Result.prototype;
  3993. module.exports = function (iterable, unboundFunction, options) {
  3994. var that = options && options.that;
  3995. var AS_ENTRIES = !!(options && options.AS_ENTRIES);
  3996. var IS_ITERATOR = !!(options && options.IS_ITERATOR);
  3997. var INTERRUPTED = !!(options && options.INTERRUPTED);
  3998. var fn = bind(unboundFunction, that);
  3999. var iterator, iterFn, index, length, result, next, step;
  4000. var stop = function (condition) {
  4001. if (iterator)
  4002. iteratorClose(iterator, 'normal', condition);
  4003. return new Result(true, condition);
  4004. };
  4005. var callFn = function (value) {
  4006. if (AS_ENTRIES) {
  4007. anObject(value);
  4008. return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
  4009. }
  4010. return INTERRUPTED ? fn(value, stop) : fn(value);
  4011. };
  4012. if (IS_ITERATOR) {
  4013. iterator = iterable;
  4014. } else {
  4015. iterFn = getIteratorMethod(iterable);
  4016. if (!iterFn)
  4017. throw TypeError(tryToString(iterable) + ' is not iterable');
  4018. if (isArrayIteratorMethod(iterFn)) {
  4019. for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
  4020. result = callFn(iterable[index]);
  4021. if (result && isPrototypeOf(ResultPrototype, result))
  4022. return result;
  4023. }
  4024. return new Result(false);
  4025. }
  4026. iterator = getIterator(iterable, iterFn);
  4027. }
  4028. next = iterator.next;
  4029. while (!(step = call(next, iterator)).done) {
  4030. try {
  4031. result = callFn(step.value);
  4032. } catch (error) {
  4033. iteratorClose(iterator, 'throw', error);
  4034. }
  4035. if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result))
  4036. return result;
  4037. }
  4038. return new Result(false);
  4039. };
  4040. /***/ }),
  4041. /* 88 */
  4042. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4043. var uncurryThis = __w_pdfjs_require__(19);
  4044. var aCallable = __w_pdfjs_require__(34);
  4045. var bind = uncurryThis(uncurryThis.bind);
  4046. module.exports = function (fn, that) {
  4047. aCallable(fn);
  4048. return that === undefined ? fn : bind ? bind(fn, that) : function () {
  4049. return fn.apply(that, arguments);
  4050. };
  4051. };
  4052. /***/ }),
  4053. /* 89 */
  4054. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4055. var wellKnownSymbol = __w_pdfjs_require__(37);
  4056. var Iterators = __w_pdfjs_require__(77);
  4057. var ITERATOR = wellKnownSymbol('iterator');
  4058. var ArrayPrototype = Array.prototype;
  4059. module.exports = function (it) {
  4060. return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
  4061. };
  4062. /***/ }),
  4063. /* 90 */
  4064. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4065. var global = __w_pdfjs_require__(10);
  4066. var call = __w_pdfjs_require__(14);
  4067. var aCallable = __w_pdfjs_require__(34);
  4068. var anObject = __w_pdfjs_require__(49);
  4069. var tryToString = __w_pdfjs_require__(35);
  4070. var getIteratorMethod = __w_pdfjs_require__(91);
  4071. var TypeError = global.TypeError;
  4072. module.exports = function (argument, usingIterator) {
  4073. var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
  4074. if (aCallable(iteratorMethod))
  4075. return anObject(call(iteratorMethod, argument));
  4076. throw TypeError(tryToString(argument) + ' is not iterable');
  4077. };
  4078. /***/ }),
  4079. /* 91 */
  4080. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4081. var classof = __w_pdfjs_require__(92);
  4082. var getMethod = __w_pdfjs_require__(33);
  4083. var Iterators = __w_pdfjs_require__(77);
  4084. var wellKnownSymbol = __w_pdfjs_require__(37);
  4085. var ITERATOR = wellKnownSymbol('iterator');
  4086. module.exports = function (it) {
  4087. if (it != undefined)
  4088. return getMethod(it, ITERATOR) || getMethod(it, '@@iterator') || Iterators[classof(it)];
  4089. };
  4090. /***/ }),
  4091. /* 92 */
  4092. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4093. var global = __w_pdfjs_require__(10);
  4094. var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(93);
  4095. var isCallable = __w_pdfjs_require__(25);
  4096. var classofRaw = __w_pdfjs_require__(20);
  4097. var wellKnownSymbol = __w_pdfjs_require__(37);
  4098. var TO_STRING_TAG = wellKnownSymbol('toStringTag');
  4099. var Object = global.Object;
  4100. var CORRECT_ARGUMENTS = classofRaw((function () {
  4101. return arguments;
  4102. }())) == 'Arguments';
  4103. var tryGet = function (it, key) {
  4104. try {
  4105. return it[key];
  4106. } catch (error) {
  4107. }
  4108. };
  4109. module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
  4110. var O, tag, result;
  4111. return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
  4112. };
  4113. /***/ }),
  4114. /* 93 */
  4115. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4116. var wellKnownSymbol = __w_pdfjs_require__(37);
  4117. var TO_STRING_TAG = wellKnownSymbol('toStringTag');
  4118. var test = {};
  4119. test[TO_STRING_TAG] = 'z';
  4120. module.exports = String(test) === '[object z]';
  4121. /***/ }),
  4122. /* 94 */
  4123. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4124. var call = __w_pdfjs_require__(14);
  4125. var anObject = __w_pdfjs_require__(49);
  4126. var getMethod = __w_pdfjs_require__(33);
  4127. module.exports = function (iterator, kind, value) {
  4128. var innerResult, innerError;
  4129. anObject(iterator);
  4130. try {
  4131. innerResult = getMethod(iterator, 'return');
  4132. if (!innerResult) {
  4133. if (kind === 'throw')
  4134. throw value;
  4135. return value;
  4136. }
  4137. innerResult = call(innerResult, iterator);
  4138. } catch (error) {
  4139. innerError = true;
  4140. innerResult = error;
  4141. }
  4142. if (kind === 'throw')
  4143. throw value;
  4144. if (innerError)
  4145. throw innerResult;
  4146. anObject(innerResult);
  4147. return value;
  4148. };
  4149. /***/ }),
  4150. /* 95 */
  4151. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4152. "use strict";
  4153. var toPropertyKey = __w_pdfjs_require__(22);
  4154. var definePropertyModule = __w_pdfjs_require__(48);
  4155. var createPropertyDescriptor = __w_pdfjs_require__(16);
  4156. module.exports = function (object, key, value) {
  4157. var propertyKey = toPropertyKey(key);
  4158. if (propertyKey in object)
  4159. definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
  4160. else
  4161. object[propertyKey] = value;
  4162. };
  4163. /***/ }),
  4164. /* 96 */
  4165. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4166. var global = __w_pdfjs_require__(10);
  4167. module.exports = global;
  4168. /***/ }),
  4169. /* 97 */
  4170. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4171. __w_pdfjs_require__(98);
  4172. __w_pdfjs_require__(71);
  4173. __w_pdfjs_require__(105);
  4174. __w_pdfjs_require__(107);
  4175. __w_pdfjs_require__(129);
  4176. __w_pdfjs_require__(130);
  4177. __w_pdfjs_require__(131);
  4178. __w_pdfjs_require__(132);
  4179. var path = __w_pdfjs_require__(96);
  4180. module.exports = path.Promise;
  4181. /***/ }),
  4182. /* 98 */
  4183. /***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4184. "use strict";
  4185. var $ = __w_pdfjs_require__(9);
  4186. var global = __w_pdfjs_require__(10);
  4187. var isPrototypeOf = __w_pdfjs_require__(28);
  4188. var getPrototypeOf = __w_pdfjs_require__(81);
  4189. var setPrototypeOf = __w_pdfjs_require__(84);
  4190. var copyConstructorProperties = __w_pdfjs_require__(57);
  4191. var create = __w_pdfjs_require__(73);
  4192. var createNonEnumerableProperty = __w_pdfjs_require__(47);
  4193. var createPropertyDescriptor = __w_pdfjs_require__(16);
  4194. var clearErrorStack = __w_pdfjs_require__(99);
  4195. var installErrorCause = __w_pdfjs_require__(101);
  4196. var iterate = __w_pdfjs_require__(87);
  4197. var normalizeStringArgument = __w_pdfjs_require__(102);
  4198. var wellKnownSymbol = __w_pdfjs_require__(37);
  4199. var ERROR_STACK_INSTALLABLE = __w_pdfjs_require__(104);
  4200. var TO_STRING_TAG = wellKnownSymbol('toStringTag');
  4201. var Error = global.Error;
  4202. var push = [].push;
  4203. var $AggregateError = function AggregateError(errors, message) {
  4204. var options = arguments.length > 2 ? arguments[2] : undefined;
  4205. var isInstance = isPrototypeOf(AggregateErrorPrototype, this);
  4206. var that;
  4207. if (setPrototypeOf) {
  4208. that = setPrototypeOf(new Error(undefined), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);
  4209. } else {
  4210. that = isInstance ? this : create(AggregateErrorPrototype);
  4211. createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');
  4212. }
  4213. createNonEnumerableProperty(that, 'message', normalizeStringArgument(message, ''));
  4214. if (ERROR_STACK_INSTALLABLE)
  4215. createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1));
  4216. installErrorCause(that, options);
  4217. var errorsArray = [];
  4218. iterate(errors, push, { that: errorsArray });
  4219. createNonEnumerableProperty(that, 'errors', errorsArray);
  4220. return that;
  4221. };
  4222. if (setPrototypeOf)
  4223. setPrototypeOf($AggregateError, Error);
  4224. else
  4225. copyConstructorProperties($AggregateError, Error);
  4226. var AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype, {
  4227. constructor: createPropertyDescriptor(1, $AggregateError),
  4228. message: createPropertyDescriptor(1, ''),
  4229. name: createPropertyDescriptor(1, 'AggregateError')
  4230. });
  4231. $({ global: true }, { AggregateError: $AggregateError });
  4232. /***/ }),
  4233. /* 99 */
  4234. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4235. var uncurryThis = __w_pdfjs_require__(19);
  4236. var arraySlice = __w_pdfjs_require__(100);
  4237. var replace = uncurryThis(''.replace);
  4238. var split = uncurryThis(''.split);
  4239. var join = uncurryThis([].join);
  4240. var TEST = function (arg) {
  4241. return String(Error(arg).stack);
  4242. }('zxcasd');
  4243. var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
  4244. var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
  4245. var IS_FIREFOX_OR_SAFARI_STACK = /@[^\n]*\n/.test(TEST) && !/zxcasd/.test(TEST);
  4246. module.exports = function (stack, dropEntries) {
  4247. if (typeof stack != 'string')
  4248. return stack;
  4249. if (IS_V8_OR_CHAKRA_STACK) {
  4250. while (dropEntries--)
  4251. stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');
  4252. } else if (IS_FIREFOX_OR_SAFARI_STACK) {
  4253. return join(arraySlice(split(stack, '\n'), dropEntries), '\n');
  4254. }
  4255. return stack;
  4256. };
  4257. /***/ }),
  4258. /* 100 */
  4259. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4260. var global = __w_pdfjs_require__(10);
  4261. var toAbsoluteIndex = __w_pdfjs_require__(62);
  4262. var lengthOfArrayLike = __w_pdfjs_require__(64);
  4263. var createProperty = __w_pdfjs_require__(95);
  4264. var Array = global.Array;
  4265. var max = Math.max;
  4266. module.exports = function (O, start, end) {
  4267. var length = lengthOfArrayLike(O);
  4268. var k = toAbsoluteIndex(start, length);
  4269. var fin = toAbsoluteIndex(end === undefined ? length : end, length);
  4270. var result = Array(max(fin - k, 0));
  4271. for (var n = 0; k < fin; k++, n++)
  4272. createProperty(result, n, O[k]);
  4273. result.length = n;
  4274. return result;
  4275. };
  4276. /***/ }),
  4277. /* 101 */
  4278. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4279. var isObject = __w_pdfjs_require__(24);
  4280. var createNonEnumerableProperty = __w_pdfjs_require__(47);
  4281. module.exports = function (O, options) {
  4282. if (isObject(options) && 'cause' in options) {
  4283. createNonEnumerableProperty(O, 'cause', options.cause);
  4284. }
  4285. };
  4286. /***/ }),
  4287. /* 102 */
  4288. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4289. var toString = __w_pdfjs_require__(103);
  4290. module.exports = function (argument, $default) {
  4291. return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);
  4292. };
  4293. /***/ }),
  4294. /* 103 */
  4295. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4296. var global = __w_pdfjs_require__(10);
  4297. var classof = __w_pdfjs_require__(92);
  4298. var String = global.String;
  4299. module.exports = function (argument) {
  4300. if (classof(argument) === 'Symbol')
  4301. throw TypeError('Cannot convert a Symbol value to a string');
  4302. return String(argument);
  4303. };
  4304. /***/ }),
  4305. /* 104 */
  4306. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4307. var fails = __w_pdfjs_require__(13);
  4308. var createPropertyDescriptor = __w_pdfjs_require__(16);
  4309. module.exports = !fails(function () {
  4310. var error = Error('a');
  4311. if (!('stack' in error))
  4312. return true;
  4313. Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));
  4314. return error.stack !== 7;
  4315. });
  4316. /***/ }),
  4317. /* 105 */
  4318. /***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4319. var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(93);
  4320. var redefine = __w_pdfjs_require__(50);
  4321. var toString = __w_pdfjs_require__(106);
  4322. if (!TO_STRING_TAG_SUPPORT) {
  4323. redefine(Object.prototype, 'toString', toString, { unsafe: true });
  4324. }
  4325. /***/ }),
  4326. /* 106 */
  4327. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4328. "use strict";
  4329. var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(93);
  4330. var classof = __w_pdfjs_require__(92);
  4331. module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
  4332. return '[object ' + classof(this) + ']';
  4333. };
  4334. /***/ }),
  4335. /* 107 */
  4336. /***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4337. "use strict";
  4338. var $ = __w_pdfjs_require__(9);
  4339. var IS_PURE = __w_pdfjs_require__(39);
  4340. var global = __w_pdfjs_require__(10);
  4341. var getBuiltIn = __w_pdfjs_require__(27);
  4342. var call = __w_pdfjs_require__(14);
  4343. var NativePromise = __w_pdfjs_require__(108);
  4344. var redefine = __w_pdfjs_require__(50);
  4345. var redefineAll = __w_pdfjs_require__(109);
  4346. var setPrototypeOf = __w_pdfjs_require__(84);
  4347. var setToStringTag = __w_pdfjs_require__(83);
  4348. var setSpecies = __w_pdfjs_require__(110);
  4349. var aCallable = __w_pdfjs_require__(34);
  4350. var isCallable = __w_pdfjs_require__(25);
  4351. var isObject = __w_pdfjs_require__(24);
  4352. var anInstance = __w_pdfjs_require__(111);
  4353. var inspectSource = __w_pdfjs_require__(51);
  4354. var iterate = __w_pdfjs_require__(87);
  4355. var checkCorrectnessOfIteration = __w_pdfjs_require__(112);
  4356. var speciesConstructor = __w_pdfjs_require__(113);
  4357. var task = (__w_pdfjs_require__(116).set);
  4358. var microtask = __w_pdfjs_require__(121);
  4359. var promiseResolve = __w_pdfjs_require__(124);
  4360. var hostReportErrors = __w_pdfjs_require__(126);
  4361. var newPromiseCapabilityModule = __w_pdfjs_require__(125);
  4362. var perform = __w_pdfjs_require__(127);
  4363. var InternalStateModule = __w_pdfjs_require__(52);
  4364. var isForced = __w_pdfjs_require__(68);
  4365. var wellKnownSymbol = __w_pdfjs_require__(37);
  4366. var IS_BROWSER = __w_pdfjs_require__(128);
  4367. var IS_NODE = __w_pdfjs_require__(120);
  4368. var V8_VERSION = __w_pdfjs_require__(31);
  4369. var SPECIES = wellKnownSymbol('species');
  4370. var PROMISE = 'Promise';
  4371. var getInternalState = InternalStateModule.getterFor(PROMISE);
  4372. var setInternalState = InternalStateModule.set;
  4373. var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
  4374. var NativePromisePrototype = NativePromise && NativePromise.prototype;
  4375. var PromiseConstructor = NativePromise;
  4376. var PromisePrototype = NativePromisePrototype;
  4377. var TypeError = global.TypeError;
  4378. var document = global.document;
  4379. var process = global.process;
  4380. var newPromiseCapability = newPromiseCapabilityModule.f;
  4381. var newGenericPromiseCapability = newPromiseCapability;
  4382. var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
  4383. var NATIVE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);
  4384. var UNHANDLED_REJECTION = 'unhandledrejection';
  4385. var REJECTION_HANDLED = 'rejectionhandled';
  4386. var PENDING = 0;
  4387. var FULFILLED = 1;
  4388. var REJECTED = 2;
  4389. var HANDLED = 1;
  4390. var UNHANDLED = 2;
  4391. var SUBCLASSING = false;
  4392. var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
  4393. var FORCED = isForced(PROMISE, function () {
  4394. var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);
  4395. var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);
  4396. if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66)
  4397. return true;
  4398. if (IS_PURE && !PromisePrototype['finally'])
  4399. return true;
  4400. if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE))
  4401. return false;
  4402. var promise = new PromiseConstructor(function (resolve) {
  4403. resolve(1);
  4404. });
  4405. var FakePromise = function (exec) {
  4406. exec(function () {
  4407. }, function () {
  4408. });
  4409. };
  4410. var constructor = promise.constructor = {};
  4411. constructor[SPECIES] = FakePromise;
  4412. SUBCLASSING = promise.then(function () {
  4413. }) instanceof FakePromise;
  4414. if (!SUBCLASSING)
  4415. return true;
  4416. return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;
  4417. });
  4418. var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
  4419. PromiseConstructor.all(iterable)['catch'](function () {
  4420. });
  4421. });
  4422. var isThenable = function (it) {
  4423. var then;
  4424. return isObject(it) && isCallable(then = it.then) ? then : false;
  4425. };
  4426. var notify = function (state, isReject) {
  4427. if (state.notified)
  4428. return;
  4429. state.notified = true;
  4430. var chain = state.reactions;
  4431. microtask(function () {
  4432. var value = state.value;
  4433. var ok = state.state == FULFILLED;
  4434. var index = 0;
  4435. while (chain.length > index) {
  4436. var reaction = chain[index++];
  4437. var handler = ok ? reaction.ok : reaction.fail;
  4438. var resolve = reaction.resolve;
  4439. var reject = reaction.reject;
  4440. var domain = reaction.domain;
  4441. var result, then, exited;
  4442. try {
  4443. if (handler) {
  4444. if (!ok) {
  4445. if (state.rejection === UNHANDLED)
  4446. onHandleUnhandled(state);
  4447. state.rejection = HANDLED;
  4448. }
  4449. if (handler === true)
  4450. result = value;
  4451. else {
  4452. if (domain)
  4453. domain.enter();
  4454. result = handler(value);
  4455. if (domain) {
  4456. domain.exit();
  4457. exited = true;
  4458. }
  4459. }
  4460. if (result === reaction.promise) {
  4461. reject(TypeError('Promise-chain cycle'));
  4462. } else if (then = isThenable(result)) {
  4463. call(then, result, resolve, reject);
  4464. } else
  4465. resolve(result);
  4466. } else
  4467. reject(value);
  4468. } catch (error) {
  4469. if (domain && !exited)
  4470. domain.exit();
  4471. reject(error);
  4472. }
  4473. }
  4474. state.reactions = [];
  4475. state.notified = false;
  4476. if (isReject && !state.rejection)
  4477. onUnhandled(state);
  4478. });
  4479. };
  4480. var dispatchEvent = function (name, promise, reason) {
  4481. var event, handler;
  4482. if (DISPATCH_EVENT) {
  4483. event = document.createEvent('Event');
  4484. event.promise = promise;
  4485. event.reason = reason;
  4486. event.initEvent(name, false, true);
  4487. global.dispatchEvent(event);
  4488. } else
  4489. event = {
  4490. promise: promise,
  4491. reason: reason
  4492. };
  4493. if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name]))
  4494. handler(event);
  4495. else if (name === UNHANDLED_REJECTION)
  4496. hostReportErrors('Unhandled promise rejection', reason);
  4497. };
  4498. var onUnhandled = function (state) {
  4499. call(task, global, function () {
  4500. var promise = state.facade;
  4501. var value = state.value;
  4502. var IS_UNHANDLED = isUnhandled(state);
  4503. var result;
  4504. if (IS_UNHANDLED) {
  4505. result = perform(function () {
  4506. if (IS_NODE) {
  4507. process.emit('unhandledRejection', value, promise);
  4508. } else
  4509. dispatchEvent(UNHANDLED_REJECTION, promise, value);
  4510. });
  4511. state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
  4512. if (result.error)
  4513. throw result.value;
  4514. }
  4515. });
  4516. };
  4517. var isUnhandled = function (state) {
  4518. return state.rejection !== HANDLED && !state.parent;
  4519. };
  4520. var onHandleUnhandled = function (state) {
  4521. call(task, global, function () {
  4522. var promise = state.facade;
  4523. if (IS_NODE) {
  4524. process.emit('rejectionHandled', promise);
  4525. } else
  4526. dispatchEvent(REJECTION_HANDLED, promise, state.value);
  4527. });
  4528. };
  4529. var bind = function (fn, state, unwrap) {
  4530. return function (value) {
  4531. fn(state, value, unwrap);
  4532. };
  4533. };
  4534. var internalReject = function (state, value, unwrap) {
  4535. if (state.done)
  4536. return;
  4537. state.done = true;
  4538. if (unwrap)
  4539. state = unwrap;
  4540. state.value = value;
  4541. state.state = REJECTED;
  4542. notify(state, true);
  4543. };
  4544. var internalResolve = function (state, value, unwrap) {
  4545. if (state.done)
  4546. return;
  4547. state.done = true;
  4548. if (unwrap)
  4549. state = unwrap;
  4550. try {
  4551. if (state.facade === value)
  4552. throw TypeError("Promise can't be resolved itself");
  4553. var then = isThenable(value);
  4554. if (then) {
  4555. microtask(function () {
  4556. var wrapper = { done: false };
  4557. try {
  4558. call(then, value, bind(internalResolve, wrapper, state), bind(internalReject, wrapper, state));
  4559. } catch (error) {
  4560. internalReject(wrapper, error, state);
  4561. }
  4562. });
  4563. } else {
  4564. state.value = value;
  4565. state.state = FULFILLED;
  4566. notify(state, false);
  4567. }
  4568. } catch (error) {
  4569. internalReject({ done: false }, error, state);
  4570. }
  4571. };
  4572. if (FORCED) {
  4573. PromiseConstructor = function Promise(executor) {
  4574. anInstance(this, PromisePrototype);
  4575. aCallable(executor);
  4576. call(Internal, this);
  4577. var state = getInternalState(this);
  4578. try {
  4579. executor(bind(internalResolve, state), bind(internalReject, state));
  4580. } catch (error) {
  4581. internalReject(state, error);
  4582. }
  4583. };
  4584. PromisePrototype = PromiseConstructor.prototype;
  4585. Internal = function Promise(executor) {
  4586. setInternalState(this, {
  4587. type: PROMISE,
  4588. done: false,
  4589. notified: false,
  4590. parent: false,
  4591. reactions: [],
  4592. rejection: false,
  4593. state: PENDING,
  4594. value: undefined
  4595. });
  4596. };
  4597. Internal.prototype = redefineAll(PromisePrototype, {
  4598. then: function then(onFulfilled, onRejected) {
  4599. var state = getInternalPromiseState(this);
  4600. var reactions = state.reactions;
  4601. var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
  4602. reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;
  4603. reaction.fail = isCallable(onRejected) && onRejected;
  4604. reaction.domain = IS_NODE ? process.domain : undefined;
  4605. state.parent = true;
  4606. reactions[reactions.length] = reaction;
  4607. if (state.state != PENDING)
  4608. notify(state, false);
  4609. return reaction.promise;
  4610. },
  4611. 'catch': function (onRejected) {
  4612. return this.then(undefined, onRejected);
  4613. }
  4614. });
  4615. OwnPromiseCapability = function () {
  4616. var promise = new Internal();
  4617. var state = getInternalState(promise);
  4618. this.promise = promise;
  4619. this.resolve = bind(internalResolve, state);
  4620. this.reject = bind(internalReject, state);
  4621. };
  4622. newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
  4623. return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);
  4624. };
  4625. if (!IS_PURE && isCallable(NativePromise) && NativePromisePrototype !== Object.prototype) {
  4626. nativeThen = NativePromisePrototype.then;
  4627. if (!SUBCLASSING) {
  4628. redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {
  4629. var that = this;
  4630. return new PromiseConstructor(function (resolve, reject) {
  4631. call(nativeThen, that, resolve, reject);
  4632. }).then(onFulfilled, onRejected);
  4633. }, { unsafe: true });
  4634. redefine(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true });
  4635. }
  4636. try {
  4637. delete NativePromisePrototype.constructor;
  4638. } catch (error) {
  4639. }
  4640. if (setPrototypeOf) {
  4641. setPrototypeOf(NativePromisePrototype, PromisePrototype);
  4642. }
  4643. }
  4644. }
  4645. $({
  4646. global: true,
  4647. wrap: true,
  4648. forced: FORCED
  4649. }, { Promise: PromiseConstructor });
  4650. setToStringTag(PromiseConstructor, PROMISE, false, true);
  4651. setSpecies(PROMISE);
  4652. PromiseWrapper = getBuiltIn(PROMISE);
  4653. $({
  4654. target: PROMISE,
  4655. stat: true,
  4656. forced: FORCED
  4657. }, {
  4658. reject: function reject(r) {
  4659. var capability = newPromiseCapability(this);
  4660. call(capability.reject, undefined, r);
  4661. return capability.promise;
  4662. }
  4663. });
  4664. $({
  4665. target: PROMISE,
  4666. stat: true,
  4667. forced: IS_PURE || FORCED
  4668. }, {
  4669. resolve: function resolve(x) {
  4670. return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
  4671. }
  4672. });
  4673. $({
  4674. target: PROMISE,
  4675. stat: true,
  4676. forced: INCORRECT_ITERATION
  4677. }, {
  4678. all: function all(iterable) {
  4679. var C = this;
  4680. var capability = newPromiseCapability(C);
  4681. var resolve = capability.resolve;
  4682. var reject = capability.reject;
  4683. var result = perform(function () {
  4684. var $promiseResolve = aCallable(C.resolve);
  4685. var values = [];
  4686. var counter = 0;
  4687. var remaining = 1;
  4688. iterate(iterable, function (promise) {
  4689. var index = counter++;
  4690. var alreadyCalled = false;
  4691. remaining++;
  4692. call($promiseResolve, C, promise).then(function (value) {
  4693. if (alreadyCalled)
  4694. return;
  4695. alreadyCalled = true;
  4696. values[index] = value;
  4697. --remaining || resolve(values);
  4698. }, reject);
  4699. });
  4700. --remaining || resolve(values);
  4701. });
  4702. if (result.error)
  4703. reject(result.value);
  4704. return capability.promise;
  4705. },
  4706. race: function race(iterable) {
  4707. var C = this;
  4708. var capability = newPromiseCapability(C);
  4709. var reject = capability.reject;
  4710. var result = perform(function () {
  4711. var $promiseResolve = aCallable(C.resolve);
  4712. iterate(iterable, function (promise) {
  4713. call($promiseResolve, C, promise).then(capability.resolve, reject);
  4714. });
  4715. });
  4716. if (result.error)
  4717. reject(result.value);
  4718. return capability.promise;
  4719. }
  4720. });
  4721. /***/ }),
  4722. /* 108 */
  4723. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4724. var global = __w_pdfjs_require__(10);
  4725. module.exports = global.Promise;
  4726. /***/ }),
  4727. /* 109 */
  4728. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4729. var redefine = __w_pdfjs_require__(50);
  4730. module.exports = function (target, src, options) {
  4731. for (var key in src)
  4732. redefine(target, key, src[key], options);
  4733. return target;
  4734. };
  4735. /***/ }),
  4736. /* 110 */
  4737. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4738. "use strict";
  4739. var getBuiltIn = __w_pdfjs_require__(27);
  4740. var definePropertyModule = __w_pdfjs_require__(48);
  4741. var wellKnownSymbol = __w_pdfjs_require__(37);
  4742. var DESCRIPTORS = __w_pdfjs_require__(12);
  4743. var SPECIES = wellKnownSymbol('species');
  4744. module.exports = function (CONSTRUCTOR_NAME) {
  4745. var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
  4746. var defineProperty = definePropertyModule.f;
  4747. if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
  4748. defineProperty(Constructor, SPECIES, {
  4749. configurable: true,
  4750. get: function () {
  4751. return this;
  4752. }
  4753. });
  4754. }
  4755. };
  4756. /***/ }),
  4757. /* 111 */
  4758. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4759. var global = __w_pdfjs_require__(10);
  4760. var isPrototypeOf = __w_pdfjs_require__(28);
  4761. var TypeError = global.TypeError;
  4762. module.exports = function (it, Prototype) {
  4763. if (isPrototypeOf(Prototype, it))
  4764. return it;
  4765. throw TypeError('Incorrect invocation');
  4766. };
  4767. /***/ }),
  4768. /* 112 */
  4769. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4770. var wellKnownSymbol = __w_pdfjs_require__(37);
  4771. var ITERATOR = wellKnownSymbol('iterator');
  4772. var SAFE_CLOSING = false;
  4773. try {
  4774. var called = 0;
  4775. var iteratorWithReturn = {
  4776. next: function () {
  4777. return { done: !!called++ };
  4778. },
  4779. 'return': function () {
  4780. SAFE_CLOSING = true;
  4781. }
  4782. };
  4783. iteratorWithReturn[ITERATOR] = function () {
  4784. return this;
  4785. };
  4786. Array.from(iteratorWithReturn, function () {
  4787. throw 2;
  4788. });
  4789. } catch (error) {
  4790. }
  4791. module.exports = function (exec, SKIP_CLOSING) {
  4792. if (!SKIP_CLOSING && !SAFE_CLOSING)
  4793. return false;
  4794. var ITERATION_SUPPORT = false;
  4795. try {
  4796. var object = {};
  4797. object[ITERATOR] = function () {
  4798. return {
  4799. next: function () {
  4800. return { done: ITERATION_SUPPORT = true };
  4801. }
  4802. };
  4803. };
  4804. exec(object);
  4805. } catch (error) {
  4806. }
  4807. return ITERATION_SUPPORT;
  4808. };
  4809. /***/ }),
  4810. /* 113 */
  4811. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4812. var anObject = __w_pdfjs_require__(49);
  4813. var aConstructor = __w_pdfjs_require__(114);
  4814. var wellKnownSymbol = __w_pdfjs_require__(37);
  4815. var SPECIES = wellKnownSymbol('species');
  4816. module.exports = function (O, defaultConstructor) {
  4817. var C = anObject(O).constructor;
  4818. var S;
  4819. return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);
  4820. };
  4821. /***/ }),
  4822. /* 114 */
  4823. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4824. var global = __w_pdfjs_require__(10);
  4825. var isConstructor = __w_pdfjs_require__(115);
  4826. var tryToString = __w_pdfjs_require__(35);
  4827. var TypeError = global.TypeError;
  4828. module.exports = function (argument) {
  4829. if (isConstructor(argument))
  4830. return argument;
  4831. throw TypeError(tryToString(argument) + ' is not a constructor');
  4832. };
  4833. /***/ }),
  4834. /* 115 */
  4835. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4836. var uncurryThis = __w_pdfjs_require__(19);
  4837. var fails = __w_pdfjs_require__(13);
  4838. var isCallable = __w_pdfjs_require__(25);
  4839. var classof = __w_pdfjs_require__(92);
  4840. var getBuiltIn = __w_pdfjs_require__(27);
  4841. var inspectSource = __w_pdfjs_require__(51);
  4842. var noop = function () {
  4843. };
  4844. var empty = [];
  4845. var construct = getBuiltIn('Reflect', 'construct');
  4846. var constructorRegExp = /^\s*(?:class|function)\b/;
  4847. var exec = uncurryThis(constructorRegExp.exec);
  4848. var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
  4849. var isConstructorModern = function (argument) {
  4850. if (!isCallable(argument))
  4851. return false;
  4852. try {
  4853. construct(noop, empty, argument);
  4854. return true;
  4855. } catch (error) {
  4856. return false;
  4857. }
  4858. };
  4859. var isConstructorLegacy = function (argument) {
  4860. if (!isCallable(argument))
  4861. return false;
  4862. switch (classof(argument)) {
  4863. case 'AsyncFunction':
  4864. case 'GeneratorFunction':
  4865. case 'AsyncGeneratorFunction':
  4866. return false;
  4867. }
  4868. return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
  4869. };
  4870. module.exports = !construct || fails(function () {
  4871. var called;
  4872. return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function () {
  4873. called = true;
  4874. }) || called;
  4875. }) ? isConstructorLegacy : isConstructorModern;
  4876. /***/ }),
  4877. /* 116 */
  4878. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4879. var global = __w_pdfjs_require__(10);
  4880. var apply = __w_pdfjs_require__(117);
  4881. var bind = __w_pdfjs_require__(88);
  4882. var isCallable = __w_pdfjs_require__(25);
  4883. var hasOwn = __w_pdfjs_require__(42);
  4884. var fails = __w_pdfjs_require__(13);
  4885. var html = __w_pdfjs_require__(76);
  4886. var arraySlice = __w_pdfjs_require__(118);
  4887. var createElement = __w_pdfjs_require__(46);
  4888. var IS_IOS = __w_pdfjs_require__(119);
  4889. var IS_NODE = __w_pdfjs_require__(120);
  4890. var set = global.setImmediate;
  4891. var clear = global.clearImmediate;
  4892. var process = global.process;
  4893. var Dispatch = global.Dispatch;
  4894. var Function = global.Function;
  4895. var MessageChannel = global.MessageChannel;
  4896. var String = global.String;
  4897. var counter = 0;
  4898. var queue = {};
  4899. var ONREADYSTATECHANGE = 'onreadystatechange';
  4900. var location, defer, channel, port;
  4901. try {
  4902. location = global.location;
  4903. } catch (error) {
  4904. }
  4905. var run = function (id) {
  4906. if (hasOwn(queue, id)) {
  4907. var fn = queue[id];
  4908. delete queue[id];
  4909. fn();
  4910. }
  4911. };
  4912. var runner = function (id) {
  4913. return function () {
  4914. run(id);
  4915. };
  4916. };
  4917. var listener = function (event) {
  4918. run(event.data);
  4919. };
  4920. var post = function (id) {
  4921. global.postMessage(String(id), location.protocol + '//' + location.host);
  4922. };
  4923. if (!set || !clear) {
  4924. set = function setImmediate(fn) {
  4925. var args = arraySlice(arguments, 1);
  4926. queue[++counter] = function () {
  4927. apply(isCallable(fn) ? fn : Function(fn), undefined, args);
  4928. };
  4929. defer(counter);
  4930. return counter;
  4931. };
  4932. clear = function clearImmediate(id) {
  4933. delete queue[id];
  4934. };
  4935. if (IS_NODE) {
  4936. defer = function (id) {
  4937. process.nextTick(runner(id));
  4938. };
  4939. } else if (Dispatch && Dispatch.now) {
  4940. defer = function (id) {
  4941. Dispatch.now(runner(id));
  4942. };
  4943. } else if (MessageChannel && !IS_IOS) {
  4944. channel = new MessageChannel();
  4945. port = channel.port2;
  4946. channel.port1.onmessage = listener;
  4947. defer = bind(port.postMessage, port);
  4948. } else if (global.addEventListener && isCallable(global.postMessage) && !global.importScripts && location && location.protocol !== 'file:' && !fails(post)) {
  4949. defer = post;
  4950. global.addEventListener('message', listener, false);
  4951. } else if (ONREADYSTATECHANGE in createElement('script')) {
  4952. defer = function (id) {
  4953. html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
  4954. html.removeChild(this);
  4955. run(id);
  4956. };
  4957. };
  4958. } else {
  4959. defer = function (id) {
  4960. setTimeout(runner(id), 0);
  4961. };
  4962. }
  4963. }
  4964. module.exports = {
  4965. set: set,
  4966. clear: clear
  4967. };
  4968. /***/ }),
  4969. /* 117 */
  4970. /***/ ((module) => {
  4971. var FunctionPrototype = Function.prototype;
  4972. var apply = FunctionPrototype.apply;
  4973. var bind = FunctionPrototype.bind;
  4974. var call = FunctionPrototype.call;
  4975. module.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bind(apply) : function () {
  4976. return call.apply(apply, arguments);
  4977. });
  4978. /***/ }),
  4979. /* 118 */
  4980. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4981. var uncurryThis = __w_pdfjs_require__(19);
  4982. module.exports = uncurryThis([].slice);
  4983. /***/ }),
  4984. /* 119 */
  4985. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4986. var userAgent = __w_pdfjs_require__(32);
  4987. module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);
  4988. /***/ }),
  4989. /* 120 */
  4990. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4991. var classof = __w_pdfjs_require__(20);
  4992. var global = __w_pdfjs_require__(10);
  4993. module.exports = classof(global.process) == 'process';
  4994. /***/ }),
  4995. /* 121 */
  4996. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  4997. var global = __w_pdfjs_require__(10);
  4998. var bind = __w_pdfjs_require__(88);
  4999. var getOwnPropertyDescriptor = (__w_pdfjs_require__(11).f);
  5000. var macrotask = (__w_pdfjs_require__(116).set);
  5001. var IS_IOS = __w_pdfjs_require__(119);
  5002. var IS_IOS_PEBBLE = __w_pdfjs_require__(122);
  5003. var IS_WEBOS_WEBKIT = __w_pdfjs_require__(123);
  5004. var IS_NODE = __w_pdfjs_require__(120);
  5005. var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
  5006. var document = global.document;
  5007. var process = global.process;
  5008. var Promise = global.Promise;
  5009. var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
  5010. var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
  5011. var flush, head, last, notify, toggle, node, promise, then;
  5012. if (!queueMicrotask) {
  5013. flush = function () {
  5014. var parent, fn;
  5015. if (IS_NODE && (parent = process.domain))
  5016. parent.exit();
  5017. while (head) {
  5018. fn = head.fn;
  5019. head = head.next;
  5020. try {
  5021. fn();
  5022. } catch (error) {
  5023. if (head)
  5024. notify();
  5025. else
  5026. last = undefined;
  5027. throw error;
  5028. }
  5029. }
  5030. last = undefined;
  5031. if (parent)
  5032. parent.enter();
  5033. };
  5034. if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {
  5035. toggle = true;
  5036. node = document.createTextNode('');
  5037. new MutationObserver(flush).observe(node, { characterData: true });
  5038. notify = function () {
  5039. node.data = toggle = !toggle;
  5040. };
  5041. } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {
  5042. promise = Promise.resolve(undefined);
  5043. promise.constructor = Promise;
  5044. then = bind(promise.then, promise);
  5045. notify = function () {
  5046. then(flush);
  5047. };
  5048. } else if (IS_NODE) {
  5049. notify = function () {
  5050. process.nextTick(flush);
  5051. };
  5052. } else {
  5053. macrotask = bind(macrotask, global);
  5054. notify = function () {
  5055. macrotask(flush);
  5056. };
  5057. }
  5058. }
  5059. module.exports = queueMicrotask || function (fn) {
  5060. var task = {
  5061. fn: fn,
  5062. next: undefined
  5063. };
  5064. if (last)
  5065. last.next = task;
  5066. if (!head) {
  5067. head = task;
  5068. notify();
  5069. }
  5070. last = task;
  5071. };
  5072. /***/ }),
  5073. /* 122 */
  5074. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  5075. var userAgent = __w_pdfjs_require__(32);
  5076. var global = __w_pdfjs_require__(10);
  5077. module.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;
  5078. /***/ }),
  5079. /* 123 */
  5080. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  5081. var userAgent = __w_pdfjs_require__(32);
  5082. module.exports = /web0s(?!.*chrome)/i.test(userAgent);
  5083. /***/ }),
  5084. /* 124 */
  5085. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  5086. var anObject = __w_pdfjs_require__(49);
  5087. var isObject = __w_pdfjs_require__(24);
  5088. var newPromiseCapability = __w_pdfjs_require__(125);
  5089. module.exports = function (C, x) {
  5090. anObject(C);
  5091. if (isObject(x) && x.constructor === C)
  5092. return x;
  5093. var promiseCapability = newPromiseCapability.f(C);
  5094. var resolve = promiseCapability.resolve;
  5095. resolve(x);
  5096. return promiseCapability.promise;
  5097. };
  5098. /***/ }),
  5099. /* 125 */
  5100. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  5101. "use strict";
  5102. var aCallable = __w_pdfjs_require__(34);
  5103. var PromiseCapability = function (C) {
  5104. var resolve, reject;
  5105. this.promise = new C(function ($$resolve, $$reject) {
  5106. if (resolve !== undefined || reject !== undefined)
  5107. throw TypeError('Bad Promise constructor');
  5108. resolve = $$resolve;
  5109. reject = $$reject;
  5110. });
  5111. this.resolve = aCallable(resolve);
  5112. this.reject = aCallable(reject);
  5113. };
  5114. module.exports.f = function (C) {
  5115. return new PromiseCapability(C);
  5116. };
  5117. /***/ }),
  5118. /* 126 */
  5119. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  5120. var global = __w_pdfjs_require__(10);
  5121. module.exports = function (a, b) {
  5122. var console = global.console;
  5123. if (console && console.error) {
  5124. arguments.length == 1 ? console.error(a) : console.error(a, b);
  5125. }
  5126. };
  5127. /***/ }),
  5128. /* 127 */
  5129. /***/ ((module) => {
  5130. module.exports = function (exec) {
  5131. try {
  5132. return {
  5133. error: false,
  5134. value: exec()
  5135. };
  5136. } catch (error) {
  5137. return {
  5138. error: true,
  5139. value: error
  5140. };
  5141. }
  5142. };
  5143. /***/ }),
  5144. /* 128 */
  5145. /***/ ((module) => {
  5146. module.exports = typeof window == 'object';
  5147. /***/ }),
  5148. /* 129 */
  5149. /***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
  5150. "use strict";
  5151. var $ = __w_pdfjs_require__(9);
  5152. var call = __w_pdfjs_require__(14);
  5153. var aCallable = __w_pdfjs_require__(34);
  5154. var newPromiseCapabilityModule = __w_pdfjs_require__(125);
  5155. var perform = __w_pdfjs_require__(127);
  5156. var iterate = __w_pdfjs_require__(87);
  5157. $({
  5158. target: 'Promise',
  5159. stat: true
  5160. }, {
  5161. allSettled: function allSettled(iterable) {
  5162. var C = this;
  5163. var capability = newPromiseCapabilityModule.f(C);
  5164. var resolve = capability.resolve;
  5165. var reject = capability.reject;
  5166. var result = perform(function () {
  5167. var promiseResolve = aCallable(C.resolve);
  5168. var values = [];
  5169. var counter = 0;
  5170. var remaining = 1;
  5171. iterate(iterable, function (promise) {
  5172. var index = counter++;
  5173. var alreadyCalled = false;
  5174. remaining++;
  5175. call(promiseResolve, C, promise).then(function (value) {
  5176. if (alreadyCalled)
  5177. return;
  5178. alreadyCalled = true;
  5179. values[index] = {
  5180. status: 'fulfilled',
  5181. value: value
  5182. };
  5183. --remaining || resolve(values);
  5184. }, function (error) {
  5185. if (alreadyCalled)
  5186. return;
  5187. alreadyCalled = true;
  5188. values[index] = {
  5189. status: 'rejected',
  5190. reason: error
  5191. };
  5192. --remaining || resolve(values);
  5193. });
  5194. });
  5195. --remaining || resolve(values);
  5196. });
  5197. if (result.error)
  5198. reject(result.value);
  5199. return capability.promise;
  5200. }
  5201. });
  5202. /***/ }),
  5203. /* 130 */
  5204. /***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
  5205. "use strict";
  5206. var $ = __w_pdfjs_require__(9);
  5207. var aCallable = __w_pdfjs_require__(34);
  5208. var getBuiltIn = __w_pdfjs_require__(27);
  5209. var call = __w_pdfjs_require__(14);
  5210. var newPromiseCapabilityModule = __w_pdfjs_require__(125);
  5211. var perform = __w_pdfjs_require__(127);
  5212. var iterate = __w_pdfjs_require__(87);
  5213. var PROMISE_ANY_ERROR = 'No one promise resolved';
  5214. $({
  5215. target: 'Promise',
  5216. stat: true
  5217. }, {
  5218. any: function any(iterable) {
  5219. var C = this;
  5220. var AggregateError = getBuiltIn('AggregateError');
  5221. var capability = newPromiseCapabilityModule.f(C);
  5222. var resolve = capability.resolve;
  5223. var reject = capability.reject;
  5224. var result = perform(function () {
  5225. var promiseResolve = aCallable(C.resolve);
  5226. var errors = [];
  5227. var counter = 0;
  5228. var remaining = 1;
  5229. var alreadyResolved = false;
  5230. iterate(iterable, function (promise) {
  5231. var index = counter++;
  5232. var alreadyRejected = false;
  5233. remaining++;
  5234. call(promiseResolve, C, promise).then(function (value) {
  5235. if (alreadyRejected || alreadyResolved)
  5236. return;
  5237. alreadyResolved = true;
  5238. resolve(value);
  5239. }, function (error) {
  5240. if (alreadyRejected || alreadyResolved)
  5241. return;
  5242. alreadyRejected = true;
  5243. errors[index] = error;
  5244. --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));
  5245. });
  5246. });
  5247. --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));
  5248. });
  5249. if (result.error)
  5250. reject(result.value);
  5251. return capability.promise;
  5252. }
  5253. });
  5254. /***/ }),
  5255. /* 131 */
  5256. /***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
  5257. "use strict";
  5258. var $ = __w_pdfjs_require__(9);
  5259. var IS_PURE = __w_pdfjs_require__(39);
  5260. var NativePromise = __w_pdfjs_require__(108);
  5261. var fails = __w_pdfjs_require__(13);
  5262. var getBuiltIn = __w_pdfjs_require__(27);
  5263. var isCallable = __w_pdfjs_require__(25);
  5264. var speciesConstructor = __w_pdfjs_require__(113);
  5265. var promiseResolve = __w_pdfjs_require__(124);
  5266. var redefine = __w_pdfjs_require__(50);
  5267. var NON_GENERIC = !!NativePromise && fails(function () {
  5268. NativePromise.prototype['finally'].call({
  5269. then: function () {
  5270. }
  5271. }, function () {
  5272. });
  5273. });
  5274. $({
  5275. target: 'Promise',
  5276. proto: true,
  5277. real: true,
  5278. forced: NON_GENERIC
  5279. }, {
  5280. 'finally': function (onFinally) {
  5281. var C = speciesConstructor(this, getBuiltIn('Promise'));
  5282. var isFunction = isCallable(onFinally);
  5283. return this.then(isFunction ? function (x) {
  5284. return promiseResolve(C, onFinally()).then(function () {
  5285. return x;
  5286. });
  5287. } : onFinally, isFunction ? function (e) {
  5288. return promiseResolve(C, onFinally()).then(function () {
  5289. throw e;
  5290. });
  5291. } : onFinally);
  5292. }
  5293. });
  5294. if (!IS_PURE && isCallable(NativePromise)) {
  5295. var method = getBuiltIn('Promise').prototype['finally'];
  5296. if (NativePromise.prototype['finally'] !== method) {
  5297. redefine(NativePromise.prototype, 'finally', method, { unsafe: true });
  5298. }
  5299. }
  5300. /***/ }),
  5301. /* 132 */
  5302. /***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
  5303. "use strict";
  5304. var charAt = (__w_pdfjs_require__(133).charAt);
  5305. var toString = __w_pdfjs_require__(103);
  5306. var InternalStateModule = __w_pdfjs_require__(52);
  5307. var defineIterator = __w_pdfjs_require__(78);
  5308. var STRING_ITERATOR = 'String Iterator';
  5309. var setInternalState = InternalStateModule.set;
  5310. var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
  5311. defineIterator(String, 'String', function (iterated) {
  5312. setInternalState(this, {
  5313. type: STRING_ITERATOR,
  5314. string: toString(iterated),
  5315. index: 0
  5316. });
  5317. }, function next() {
  5318. var state = getInternalState(this);
  5319. var string = state.string;
  5320. var index = state.index;
  5321. var point;
  5322. if (index >= string.length)
  5323. return {
  5324. value: undefined,
  5325. done: true
  5326. };
  5327. point = charAt(string, index);
  5328. state.index += point.length;
  5329. return {
  5330. value: point,
  5331. done: false
  5332. };
  5333. });
  5334. /***/ }),
  5335. /* 133 */
  5336. /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
  5337. var uncurryThis = __w_pdfjs_require__(19);
  5338. var toIntegerOrInfinity = __w_pdfjs_require__(63);
  5339. var toString = __w_pdfjs_require__(103);
  5340. var requireObjectCoercible = __w_pdfjs_require__(21);
  5341. var charAt = uncurryThis(''.charAt);
  5342. var charCodeAt = uncurryThis(''.charCodeAt);
  5343. var stringSlice = uncurryThis(''.slice);
  5344. var createMethod = function (CONVERT_TO_STRING) {
  5345. return function ($this, pos) {
  5346. var S = toString(requireObjectCoercible($this));
  5347. var position = toIntegerOrInfinity(pos);
  5348. var size = S.length;
  5349. var first, second;
  5350. if (position < 0 || position >= size)
  5351. return CONVERT_TO_STRING ? '' : undefined;
  5352. first = charCodeAt(S, position);
  5353. return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? charAt(S, position) : first : CONVERT_TO_STRING ? stringSlice(S, position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
  5354. };
  5355. };
  5356. module.exports = {
  5357. codeAt: createMethod(false),
  5358. charAt: createMethod(true)
  5359. };
  5360. /***/ }),
  5361. /* 134 */
  5362. /***/ (function(__unused_webpack_module, exports) {
  5363. (function (global, factory) {
  5364. true ? factory(exports) : 0;
  5365. }(this, function (exports) {
  5366. 'use strict';
  5367. var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {
  5368. return "Symbol(" + description + ")";
  5369. };
  5370. function noop() {
  5371. return undefined;
  5372. }
  5373. function getGlobals() {
  5374. if (typeof self !== 'undefined') {
  5375. return self;
  5376. } else if (typeof window !== 'undefined') {
  5377. return window;
  5378. } else if (typeof global !== 'undefined') {
  5379. return global;
  5380. }
  5381. return undefined;
  5382. }
  5383. var globals = getGlobals();
  5384. function typeIsObject(x) {
  5385. return typeof x === 'object' && x !== null || typeof x === 'function';
  5386. }
  5387. var rethrowAssertionErrorRejection = noop;
  5388. var originalPromise = Promise;
  5389. var originalPromiseThen = Promise.prototype.then;
  5390. var originalPromiseResolve = Promise.resolve.bind(originalPromise);
  5391. var originalPromiseReject = Promise.reject.bind(originalPromise);
  5392. function newPromise(executor) {
  5393. return new originalPromise(executor);
  5394. }
  5395. function promiseResolvedWith(value) {
  5396. return originalPromiseResolve(value);
  5397. }
  5398. function promiseRejectedWith(reason) {
  5399. return originalPromiseReject(reason);
  5400. }
  5401. function PerformPromiseThen(promise, onFulfilled, onRejected) {
  5402. return originalPromiseThen.call(promise, onFulfilled, onRejected);
  5403. }
  5404. function uponPromise(promise, onFulfilled, onRejected) {
  5405. PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);
  5406. }
  5407. function uponFulfillment(promise, onFulfilled) {
  5408. uponPromise(promise, onFulfilled);
  5409. }
  5410. function uponRejection(promise, onRejected) {
  5411. uponPromise(promise, undefined, onRejected);
  5412. }
  5413. function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {
  5414. return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);
  5415. }
  5416. function setPromiseIsHandledToTrue(promise) {
  5417. PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);
  5418. }
  5419. var queueMicrotask = (function () {
  5420. var globalQueueMicrotask = globals && globals.queueMicrotask;
  5421. if (typeof globalQueueMicrotask === 'function') {
  5422. return globalQueueMicrotask;
  5423. }
  5424. var resolvedPromise = promiseResolvedWith(undefined);
  5425. return function (fn) {
  5426. return PerformPromiseThen(resolvedPromise, fn);
  5427. };
  5428. }());
  5429. function reflectCall(F, V, args) {
  5430. if (typeof F !== 'function') {
  5431. throw new TypeError('Argument is not a function');
  5432. }
  5433. return Function.prototype.apply.call(F, V, args);
  5434. }
  5435. function promiseCall(F, V, args) {
  5436. try {
  5437. return promiseResolvedWith(reflectCall(F, V, args));
  5438. } catch (value) {
  5439. return promiseRejectedWith(value);
  5440. }
  5441. }
  5442. var QUEUE_MAX_ARRAY_SIZE = 16384;
  5443. var SimpleQueue = (function () {
  5444. function SimpleQueue() {
  5445. this._cursor = 0;
  5446. this._size = 0;
  5447. this._front = {
  5448. _elements: [],
  5449. _next: undefined
  5450. };
  5451. this._back = this._front;
  5452. this._cursor = 0;
  5453. this._size = 0;
  5454. }
  5455. Object.defineProperty(SimpleQueue.prototype, "length", {
  5456. get: function () {
  5457. return this._size;
  5458. },
  5459. enumerable: false,
  5460. configurable: true
  5461. });
  5462. SimpleQueue.prototype.push = function (element) {
  5463. var oldBack = this._back;
  5464. var newBack = oldBack;
  5465. if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {
  5466. newBack = {
  5467. _elements: [],
  5468. _next: undefined
  5469. };
  5470. }
  5471. oldBack._elements.push(element);
  5472. if (newBack !== oldBack) {
  5473. this._back = newBack;
  5474. oldBack._next = newBack;
  5475. }
  5476. ++this._size;
  5477. };
  5478. SimpleQueue.prototype.shift = function () {
  5479. var oldFront = this._front;
  5480. var newFront = oldFront;
  5481. var oldCursor = this._cursor;
  5482. var newCursor = oldCursor + 1;
  5483. var elements = oldFront._elements;
  5484. var element = elements[oldCursor];
  5485. if (newCursor === QUEUE_MAX_ARRAY_SIZE) {
  5486. newFront = oldFront._next;
  5487. newCursor = 0;
  5488. }
  5489. --this._size;
  5490. this._cursor = newCursor;
  5491. if (oldFront !== newFront) {
  5492. this._front = newFront;
  5493. }
  5494. elements[oldCursor] = undefined;
  5495. return element;
  5496. };
  5497. SimpleQueue.prototype.forEach = function (callback) {
  5498. var i = this._cursor;
  5499. var node = this._front;
  5500. var elements = node._elements;
  5501. while (i !== elements.length || node._next !== undefined) {
  5502. if (i === elements.length) {
  5503. node = node._next;
  5504. elements = node._elements;
  5505. i = 0;
  5506. if (elements.length === 0) {
  5507. break;
  5508. }
  5509. }
  5510. callback(elements[i]);
  5511. ++i;
  5512. }
  5513. };
  5514. SimpleQueue.prototype.peek = function () {
  5515. var front = this._front;
  5516. var cursor = this._cursor;
  5517. return front._elements[cursor];
  5518. };
  5519. return SimpleQueue;
  5520. }());
  5521. function ReadableStreamReaderGenericInitialize(reader, stream) {
  5522. reader._ownerReadableStream = stream;
  5523. stream._reader = reader;
  5524. if (stream._state === 'readable') {
  5525. defaultReaderClosedPromiseInitialize(reader);
  5526. } else if (stream._state === 'closed') {
  5527. defaultReaderClosedPromiseInitializeAsResolved(reader);
  5528. } else {
  5529. defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);
  5530. }
  5531. }
  5532. function ReadableStreamReaderGenericCancel(reader, reason) {
  5533. var stream = reader._ownerReadableStream;
  5534. return ReadableStreamCancel(stream, reason);
  5535. }
  5536. function ReadableStreamReaderGenericRelease(reader) {
  5537. if (reader._ownerReadableStream._state === 'readable') {
  5538. defaultReaderClosedPromiseReject(reader, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness"));
  5539. } else {
  5540. defaultReaderClosedPromiseResetToRejected(reader, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness"));
  5541. }
  5542. reader._ownerReadableStream._reader = undefined;
  5543. reader._ownerReadableStream = undefined;
  5544. }
  5545. function readerLockException(name) {
  5546. return new TypeError('Cannot ' + name + ' a stream using a released reader');
  5547. }
  5548. function defaultReaderClosedPromiseInitialize(reader) {
  5549. reader._closedPromise = newPromise(function (resolve, reject) {
  5550. reader._closedPromise_resolve = resolve;
  5551. reader._closedPromise_reject = reject;
  5552. });
  5553. }
  5554. function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {
  5555. defaultReaderClosedPromiseInitialize(reader);
  5556. defaultReaderClosedPromiseReject(reader, reason);
  5557. }
  5558. function defaultReaderClosedPromiseInitializeAsResolved(reader) {
  5559. defaultReaderClosedPromiseInitialize(reader);
  5560. defaultReaderClosedPromiseResolve(reader);
  5561. }
  5562. function defaultReaderClosedPromiseReject(reader, reason) {
  5563. if (reader._closedPromise_reject === undefined) {
  5564. return;
  5565. }
  5566. setPromiseIsHandledToTrue(reader._closedPromise);
  5567. reader._closedPromise_reject(reason);
  5568. reader._closedPromise_resolve = undefined;
  5569. reader._closedPromise_reject = undefined;
  5570. }
  5571. function defaultReaderClosedPromiseResetToRejected(reader, reason) {
  5572. defaultReaderClosedPromiseInitializeAsRejected(reader, reason);
  5573. }
  5574. function defaultReaderClosedPromiseResolve(reader) {
  5575. if (reader._closedPromise_resolve === undefined) {
  5576. return;
  5577. }
  5578. reader._closedPromise_resolve(undefined);
  5579. reader._closedPromise_resolve = undefined;
  5580. reader._closedPromise_reject = undefined;
  5581. }
  5582. var AbortSteps = SymbolPolyfill('[[AbortSteps]]');
  5583. var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');
  5584. var CancelSteps = SymbolPolyfill('[[CancelSteps]]');
  5585. var PullSteps = SymbolPolyfill('[[PullSteps]]');
  5586. var NumberIsFinite = Number.isFinite || function (x) {
  5587. return typeof x === 'number' && isFinite(x);
  5588. };
  5589. var MathTrunc = Math.trunc || function (v) {
  5590. return v < 0 ? Math.ceil(v) : Math.floor(v);
  5591. };
  5592. function isDictionary(x) {
  5593. return typeof x === 'object' || typeof x === 'function';
  5594. }
  5595. function assertDictionary(obj, context) {
  5596. if (obj !== undefined && !isDictionary(obj)) {
  5597. throw new TypeError(context + " is not an object.");
  5598. }
  5599. }
  5600. function assertFunction(x, context) {
  5601. if (typeof x !== 'function') {
  5602. throw new TypeError(context + " is not a function.");
  5603. }
  5604. }
  5605. function isObject(x) {
  5606. return typeof x === 'object' && x !== null || typeof x === 'function';
  5607. }
  5608. function assertObject(x, context) {
  5609. if (!isObject(x)) {
  5610. throw new TypeError(context + " is not an object.");
  5611. }
  5612. }
  5613. function assertRequiredArgument(x, position, context) {
  5614. if (x === undefined) {
  5615. throw new TypeError("Parameter " + position + " is required in '" + context + "'.");
  5616. }
  5617. }
  5618. function assertRequiredField(x, field, context) {
  5619. if (x === undefined) {
  5620. throw new TypeError(field + " is required in '" + context + "'.");
  5621. }
  5622. }
  5623. function convertUnrestrictedDouble(value) {
  5624. return Number(value);
  5625. }
  5626. function censorNegativeZero(x) {
  5627. return x === 0 ? 0 : x;
  5628. }
  5629. function integerPart(x) {
  5630. return censorNegativeZero(MathTrunc(x));
  5631. }
  5632. function convertUnsignedLongLongWithEnforceRange(value, context) {
  5633. var lowerBound = 0;
  5634. var upperBound = Number.MAX_SAFE_INTEGER;
  5635. var x = Number(value);
  5636. x = censorNegativeZero(x);
  5637. if (!NumberIsFinite(x)) {
  5638. throw new TypeError(context + " is not a finite number");
  5639. }
  5640. x = integerPart(x);
  5641. if (x < lowerBound || x > upperBound) {
  5642. throw new TypeError(context + " is outside the accepted range of " + lowerBound + " to " + upperBound + ", inclusive");
  5643. }
  5644. if (!NumberIsFinite(x) || x === 0) {
  5645. return 0;
  5646. }
  5647. return x;
  5648. }
  5649. function assertReadableStream(x, context) {
  5650. if (!IsReadableStream(x)) {
  5651. throw new TypeError(context + " is not a ReadableStream.");
  5652. }
  5653. }
  5654. function AcquireReadableStreamDefaultReader(stream) {
  5655. return new ReadableStreamDefaultReader(stream);
  5656. }
  5657. function ReadableStreamAddReadRequest(stream, readRequest) {
  5658. stream._reader._readRequests.push(readRequest);
  5659. }
  5660. function ReadableStreamFulfillReadRequest(stream, chunk, done) {
  5661. var reader = stream._reader;
  5662. var readRequest = reader._readRequests.shift();
  5663. if (done) {
  5664. readRequest._closeSteps();
  5665. } else {
  5666. readRequest._chunkSteps(chunk);
  5667. }
  5668. }
  5669. function ReadableStreamGetNumReadRequests(stream) {
  5670. return stream._reader._readRequests.length;
  5671. }
  5672. function ReadableStreamHasDefaultReader(stream) {
  5673. var reader = stream._reader;
  5674. if (reader === undefined) {
  5675. return false;
  5676. }
  5677. if (!IsReadableStreamDefaultReader(reader)) {
  5678. return false;
  5679. }
  5680. return true;
  5681. }
  5682. var ReadableStreamDefaultReader = (function () {
  5683. function ReadableStreamDefaultReader(stream) {
  5684. assertRequiredArgument(stream, 1, 'ReadableStreamDefaultReader');
  5685. assertReadableStream(stream, 'First parameter');
  5686. if (IsReadableStreamLocked(stream)) {
  5687. throw new TypeError('This stream has already been locked for exclusive reading by another reader');
  5688. }
  5689. ReadableStreamReaderGenericInitialize(this, stream);
  5690. this._readRequests = new SimpleQueue();
  5691. }
  5692. Object.defineProperty(ReadableStreamDefaultReader.prototype, "closed", {
  5693. get: function () {
  5694. if (!IsReadableStreamDefaultReader(this)) {
  5695. return promiseRejectedWith(defaultReaderBrandCheckException('closed'));
  5696. }
  5697. return this._closedPromise;
  5698. },
  5699. enumerable: false,
  5700. configurable: true
  5701. });
  5702. ReadableStreamDefaultReader.prototype.cancel = function (reason) {
  5703. if (reason === void 0) {
  5704. reason = undefined;
  5705. }
  5706. if (!IsReadableStreamDefaultReader(this)) {
  5707. return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));
  5708. }
  5709. if (this._ownerReadableStream === undefined) {
  5710. return promiseRejectedWith(readerLockException('cancel'));
  5711. }
  5712. return ReadableStreamReaderGenericCancel(this, reason);
  5713. };
  5714. ReadableStreamDefaultReader.prototype.read = function () {
  5715. if (!IsReadableStreamDefaultReader(this)) {
  5716. return promiseRejectedWith(defaultReaderBrandCheckException('read'));
  5717. }
  5718. if (this._ownerReadableStream === undefined) {
  5719. return promiseRejectedWith(readerLockException('read from'));
  5720. }
  5721. var resolvePromise;
  5722. var rejectPromise;
  5723. var promise = newPromise(function (resolve, reject) {
  5724. resolvePromise = resolve;
  5725. rejectPromise = reject;
  5726. });
  5727. var readRequest = {
  5728. _chunkSteps: function (chunk) {
  5729. return resolvePromise({
  5730. value: chunk,
  5731. done: false
  5732. });
  5733. },
  5734. _closeSteps: function () {
  5735. return resolvePromise({
  5736. value: undefined,
  5737. done: true
  5738. });
  5739. },
  5740. _errorSteps: function (e) {
  5741. return rejectPromise(e);
  5742. }
  5743. };
  5744. ReadableStreamDefaultReaderRead(this, readRequest);
  5745. return promise;
  5746. };
  5747. ReadableStreamDefaultReader.prototype.releaseLock = function () {
  5748. if (!IsReadableStreamDefaultReader(this)) {
  5749. throw defaultReaderBrandCheckException('releaseLock');
  5750. }
  5751. if (this._ownerReadableStream === undefined) {
  5752. return;
  5753. }
  5754. if (this._readRequests.length > 0) {
  5755. throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');
  5756. }
  5757. ReadableStreamReaderGenericRelease(this);
  5758. };
  5759. return ReadableStreamDefaultReader;
  5760. }());
  5761. Object.defineProperties(ReadableStreamDefaultReader.prototype, {
  5762. cancel: { enumerable: true },
  5763. read: { enumerable: true },
  5764. releaseLock: { enumerable: true },
  5765. closed: { enumerable: true }
  5766. });
  5767. if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  5768. Object.defineProperty(ReadableStreamDefaultReader.prototype, SymbolPolyfill.toStringTag, {
  5769. value: 'ReadableStreamDefaultReader',
  5770. configurable: true
  5771. });
  5772. }
  5773. function IsReadableStreamDefaultReader(x) {
  5774. if (!typeIsObject(x)) {
  5775. return false;
  5776. }
  5777. if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {
  5778. return false;
  5779. }
  5780. return x instanceof ReadableStreamDefaultReader;
  5781. }
  5782. function ReadableStreamDefaultReaderRead(reader, readRequest) {
  5783. var stream = reader._ownerReadableStream;
  5784. stream._disturbed = true;
  5785. if (stream._state === 'closed') {
  5786. readRequest._closeSteps();
  5787. } else if (stream._state === 'errored') {
  5788. readRequest._errorSteps(stream._storedError);
  5789. } else {
  5790. stream._readableStreamController[PullSteps](readRequest);
  5791. }
  5792. }
  5793. function defaultReaderBrandCheckException(name) {
  5794. return new TypeError("ReadableStreamDefaultReader.prototype." + name + " can only be used on a ReadableStreamDefaultReader");
  5795. }
  5796. var _a;
  5797. var AsyncIteratorPrototype;
  5798. if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
  5799. AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {
  5800. return this;
  5801. }, _a);
  5802. Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });
  5803. }
  5804. var ReadableStreamAsyncIteratorImpl = (function () {
  5805. function ReadableStreamAsyncIteratorImpl(reader, preventCancel) {
  5806. this._ongoingPromise = undefined;
  5807. this._isFinished = false;
  5808. this._reader = reader;
  5809. this._preventCancel = preventCancel;
  5810. }
  5811. ReadableStreamAsyncIteratorImpl.prototype.next = function () {
  5812. var _this = this;
  5813. var nextSteps = function () {
  5814. return _this._nextSteps();
  5815. };
  5816. this._ongoingPromise = this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) : nextSteps();
  5817. return this._ongoingPromise;
  5818. };
  5819. ReadableStreamAsyncIteratorImpl.prototype.return = function (value) {
  5820. var _this = this;
  5821. var returnSteps = function () {
  5822. return _this._returnSteps(value);
  5823. };
  5824. return this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) : returnSteps();
  5825. };
  5826. ReadableStreamAsyncIteratorImpl.prototype._nextSteps = function () {
  5827. var _this = this;
  5828. if (this._isFinished) {
  5829. return Promise.resolve({
  5830. value: undefined,
  5831. done: true
  5832. });
  5833. }
  5834. var reader = this._reader;
  5835. if (reader._ownerReadableStream === undefined) {
  5836. return promiseRejectedWith(readerLockException('iterate'));
  5837. }
  5838. var resolvePromise;
  5839. var rejectPromise;
  5840. var promise = newPromise(function (resolve, reject) {
  5841. resolvePromise = resolve;
  5842. rejectPromise = reject;
  5843. });
  5844. var readRequest = {
  5845. _chunkSteps: function (chunk) {
  5846. _this._ongoingPromise = undefined;
  5847. queueMicrotask(function () {
  5848. return resolvePromise({
  5849. value: chunk,
  5850. done: false
  5851. });
  5852. });
  5853. },
  5854. _closeSteps: function () {
  5855. _this._ongoingPromise = undefined;
  5856. _this._isFinished = true;
  5857. ReadableStreamReaderGenericRelease(reader);
  5858. resolvePromise({
  5859. value: undefined,
  5860. done: true
  5861. });
  5862. },
  5863. _errorSteps: function (reason) {
  5864. _this._ongoingPromise = undefined;
  5865. _this._isFinished = true;
  5866. ReadableStreamReaderGenericRelease(reader);
  5867. rejectPromise(reason);
  5868. }
  5869. };
  5870. ReadableStreamDefaultReaderRead(reader, readRequest);
  5871. return promise;
  5872. };
  5873. ReadableStreamAsyncIteratorImpl.prototype._returnSteps = function (value) {
  5874. if (this._isFinished) {
  5875. return Promise.resolve({
  5876. value: value,
  5877. done: true
  5878. });
  5879. }
  5880. this._isFinished = true;
  5881. var reader = this._reader;
  5882. if (reader._ownerReadableStream === undefined) {
  5883. return promiseRejectedWith(readerLockException('finish iterating'));
  5884. }
  5885. if (!this._preventCancel) {
  5886. var result = ReadableStreamReaderGenericCancel(reader, value);
  5887. ReadableStreamReaderGenericRelease(reader);
  5888. return transformPromiseWith(result, function () {
  5889. return {
  5890. value: value,
  5891. done: true
  5892. };
  5893. });
  5894. }
  5895. ReadableStreamReaderGenericRelease(reader);
  5896. return promiseResolvedWith({
  5897. value: value,
  5898. done: true
  5899. });
  5900. };
  5901. return ReadableStreamAsyncIteratorImpl;
  5902. }());
  5903. var ReadableStreamAsyncIteratorPrototype = {
  5904. next: function () {
  5905. if (!IsReadableStreamAsyncIterator(this)) {
  5906. return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));
  5907. }
  5908. return this._asyncIteratorImpl.next();
  5909. },
  5910. return: function (value) {
  5911. if (!IsReadableStreamAsyncIterator(this)) {
  5912. return promiseRejectedWith(streamAsyncIteratorBrandCheckException('return'));
  5913. }
  5914. return this._asyncIteratorImpl.return(value);
  5915. }
  5916. };
  5917. if (AsyncIteratorPrototype !== undefined) {
  5918. Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);
  5919. }
  5920. function AcquireReadableStreamAsyncIterator(stream, preventCancel) {
  5921. var reader = AcquireReadableStreamDefaultReader(stream);
  5922. var impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel);
  5923. var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);
  5924. iterator._asyncIteratorImpl = impl;
  5925. return iterator;
  5926. }
  5927. function IsReadableStreamAsyncIterator(x) {
  5928. if (!typeIsObject(x)) {
  5929. return false;
  5930. }
  5931. if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorImpl')) {
  5932. return false;
  5933. }
  5934. try {
  5935. return x._asyncIteratorImpl instanceof ReadableStreamAsyncIteratorImpl;
  5936. } catch (_a) {
  5937. return false;
  5938. }
  5939. }
  5940. function streamAsyncIteratorBrandCheckException(name) {
  5941. return new TypeError("ReadableStreamAsyncIterator." + name + " can only be used on a ReadableSteamAsyncIterator");
  5942. }
  5943. var NumberIsNaN = Number.isNaN || function (x) {
  5944. return x !== x;
  5945. };
  5946. function CreateArrayFromList(elements) {
  5947. return elements.slice();
  5948. }
  5949. function CopyDataBlockBytes(dest, destOffset, src, srcOffset, n) {
  5950. new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);
  5951. }
  5952. function TransferArrayBuffer(O) {
  5953. return O;
  5954. }
  5955. function IsDetachedBuffer(O) {
  5956. return false;
  5957. }
  5958. function ArrayBufferSlice(buffer, begin, end) {
  5959. if (buffer.slice) {
  5960. return buffer.slice(begin, end);
  5961. }
  5962. var length = end - begin;
  5963. var slice = new ArrayBuffer(length);
  5964. CopyDataBlockBytes(slice, 0, buffer, begin, length);
  5965. return slice;
  5966. }
  5967. function IsNonNegativeNumber(v) {
  5968. if (typeof v !== 'number') {
  5969. return false;
  5970. }
  5971. if (NumberIsNaN(v)) {
  5972. return false;
  5973. }
  5974. if (v < 0) {
  5975. return false;
  5976. }
  5977. return true;
  5978. }
  5979. function CloneAsUint8Array(O) {
  5980. var buffer = ArrayBufferSlice(O.buffer, O.byteOffset, O.byteOffset + O.byteLength);
  5981. return new Uint8Array(buffer);
  5982. }
  5983. function DequeueValue(container) {
  5984. var pair = container._queue.shift();
  5985. container._queueTotalSize -= pair.size;
  5986. if (container._queueTotalSize < 0) {
  5987. container._queueTotalSize = 0;
  5988. }
  5989. return pair.value;
  5990. }
  5991. function EnqueueValueWithSize(container, value, size) {
  5992. if (!IsNonNegativeNumber(size) || size === Infinity) {
  5993. throw new RangeError('Size must be a finite, non-NaN, non-negative number.');
  5994. }
  5995. container._queue.push({
  5996. value: value,
  5997. size: size
  5998. });
  5999. container._queueTotalSize += size;
  6000. }
  6001. function PeekQueueValue(container) {
  6002. var pair = container._queue.peek();
  6003. return pair.value;
  6004. }
  6005. function ResetQueue(container) {
  6006. container._queue = new SimpleQueue();
  6007. container._queueTotalSize = 0;
  6008. }
  6009. var ReadableStreamBYOBRequest = (function () {
  6010. function ReadableStreamBYOBRequest() {
  6011. throw new TypeError('Illegal constructor');
  6012. }
  6013. Object.defineProperty(ReadableStreamBYOBRequest.prototype, "view", {
  6014. get: function () {
  6015. if (!IsReadableStreamBYOBRequest(this)) {
  6016. throw byobRequestBrandCheckException('view');
  6017. }
  6018. return this._view;
  6019. },
  6020. enumerable: false,
  6021. configurable: true
  6022. });
  6023. ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {
  6024. if (!IsReadableStreamBYOBRequest(this)) {
  6025. throw byobRequestBrandCheckException('respond');
  6026. }
  6027. assertRequiredArgument(bytesWritten, 1, 'respond');
  6028. bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, 'First parameter');
  6029. if (this._associatedReadableByteStreamController === undefined) {
  6030. throw new TypeError('This BYOB request has been invalidated');
  6031. }
  6032. if (IsDetachedBuffer(this._view.buffer));
  6033. ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);
  6034. };
  6035. ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {
  6036. if (!IsReadableStreamBYOBRequest(this)) {
  6037. throw byobRequestBrandCheckException('respondWithNewView');
  6038. }
  6039. assertRequiredArgument(view, 1, 'respondWithNewView');
  6040. if (!ArrayBuffer.isView(view)) {
  6041. throw new TypeError('You can only respond with array buffer views');
  6042. }
  6043. if (this._associatedReadableByteStreamController === undefined) {
  6044. throw new TypeError('This BYOB request has been invalidated');
  6045. }
  6046. if (IsDetachedBuffer(view.buffer));
  6047. ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);
  6048. };
  6049. return ReadableStreamBYOBRequest;
  6050. }());
  6051. Object.defineProperties(ReadableStreamBYOBRequest.prototype, {
  6052. respond: { enumerable: true },
  6053. respondWithNewView: { enumerable: true },
  6054. view: { enumerable: true }
  6055. });
  6056. if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  6057. Object.defineProperty(ReadableStreamBYOBRequest.prototype, SymbolPolyfill.toStringTag, {
  6058. value: 'ReadableStreamBYOBRequest',
  6059. configurable: true
  6060. });
  6061. }
  6062. var ReadableByteStreamController = (function () {
  6063. function ReadableByteStreamController() {
  6064. throw new TypeError('Illegal constructor');
  6065. }
  6066. Object.defineProperty(ReadableByteStreamController.prototype, "byobRequest", {
  6067. get: function () {
  6068. if (!IsReadableByteStreamController(this)) {
  6069. throw byteStreamControllerBrandCheckException('byobRequest');
  6070. }
  6071. return ReadableByteStreamControllerGetBYOBRequest(this);
  6072. },
  6073. enumerable: false,
  6074. configurable: true
  6075. });
  6076. Object.defineProperty(ReadableByteStreamController.prototype, "desiredSize", {
  6077. get: function () {
  6078. if (!IsReadableByteStreamController(this)) {
  6079. throw byteStreamControllerBrandCheckException('desiredSize');
  6080. }
  6081. return ReadableByteStreamControllerGetDesiredSize(this);
  6082. },
  6083. enumerable: false,
  6084. configurable: true
  6085. });
  6086. ReadableByteStreamController.prototype.close = function () {
  6087. if (!IsReadableByteStreamController(this)) {
  6088. throw byteStreamControllerBrandCheckException('close');
  6089. }
  6090. if (this._closeRequested) {
  6091. throw new TypeError('The stream has already been closed; do not close it again!');
  6092. }
  6093. var state = this._controlledReadableByteStream._state;
  6094. if (state !== 'readable') {
  6095. throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be closed");
  6096. }
  6097. ReadableByteStreamControllerClose(this);
  6098. };
  6099. ReadableByteStreamController.prototype.enqueue = function (chunk) {
  6100. if (!IsReadableByteStreamController(this)) {
  6101. throw byteStreamControllerBrandCheckException('enqueue');
  6102. }
  6103. assertRequiredArgument(chunk, 1, 'enqueue');
  6104. if (!ArrayBuffer.isView(chunk)) {
  6105. throw new TypeError('chunk must be an array buffer view');
  6106. }
  6107. if (chunk.byteLength === 0) {
  6108. throw new TypeError('chunk must have non-zero byteLength');
  6109. }
  6110. if (chunk.buffer.byteLength === 0) {
  6111. throw new TypeError("chunk's buffer must have non-zero byteLength");
  6112. }
  6113. if (this._closeRequested) {
  6114. throw new TypeError('stream is closed or draining');
  6115. }
  6116. var state = this._controlledReadableByteStream._state;
  6117. if (state !== 'readable') {
  6118. throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be enqueued to");
  6119. }
  6120. ReadableByteStreamControllerEnqueue(this, chunk);
  6121. };
  6122. ReadableByteStreamController.prototype.error = function (e) {
  6123. if (e === void 0) {
  6124. e = undefined;
  6125. }
  6126. if (!IsReadableByteStreamController(this)) {
  6127. throw byteStreamControllerBrandCheckException('error');
  6128. }
  6129. ReadableByteStreamControllerError(this, e);
  6130. };
  6131. ReadableByteStreamController.prototype[CancelSteps] = function (reason) {
  6132. ReadableByteStreamControllerClearPendingPullIntos(this);
  6133. ResetQueue(this);
  6134. var result = this._cancelAlgorithm(reason);
  6135. ReadableByteStreamControllerClearAlgorithms(this);
  6136. return result;
  6137. };
  6138. ReadableByteStreamController.prototype[PullSteps] = function (readRequest) {
  6139. var stream = this._controlledReadableByteStream;
  6140. if (this._queueTotalSize > 0) {
  6141. var entry = this._queue.shift();
  6142. this._queueTotalSize -= entry.byteLength;
  6143. ReadableByteStreamControllerHandleQueueDrain(this);
  6144. var view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);
  6145. readRequest._chunkSteps(view);
  6146. return;
  6147. }
  6148. var autoAllocateChunkSize = this._autoAllocateChunkSize;
  6149. if (autoAllocateChunkSize !== undefined) {
  6150. var buffer = void 0;
  6151. try {
  6152. buffer = new ArrayBuffer(autoAllocateChunkSize);
  6153. } catch (bufferE) {
  6154. readRequest._errorSteps(bufferE);
  6155. return;
  6156. }
  6157. var pullIntoDescriptor = {
  6158. buffer: buffer,
  6159. bufferByteLength: autoAllocateChunkSize,
  6160. byteOffset: 0,
  6161. byteLength: autoAllocateChunkSize,
  6162. bytesFilled: 0,
  6163. elementSize: 1,
  6164. viewConstructor: Uint8Array,
  6165. readerType: 'default'
  6166. };
  6167. this._pendingPullIntos.push(pullIntoDescriptor);
  6168. }
  6169. ReadableStreamAddReadRequest(stream, readRequest);
  6170. ReadableByteStreamControllerCallPullIfNeeded(this);
  6171. };
  6172. return ReadableByteStreamController;
  6173. }());
  6174. Object.defineProperties(ReadableByteStreamController.prototype, {
  6175. close: { enumerable: true },
  6176. enqueue: { enumerable: true },
  6177. error: { enumerable: true },
  6178. byobRequest: { enumerable: true },
  6179. desiredSize: { enumerable: true }
  6180. });
  6181. if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  6182. Object.defineProperty(ReadableByteStreamController.prototype, SymbolPolyfill.toStringTag, {
  6183. value: 'ReadableByteStreamController',
  6184. configurable: true
  6185. });
  6186. }
  6187. function IsReadableByteStreamController(x) {
  6188. if (!typeIsObject(x)) {
  6189. return false;
  6190. }
  6191. if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {
  6192. return false;
  6193. }
  6194. return x instanceof ReadableByteStreamController;
  6195. }
  6196. function IsReadableStreamBYOBRequest(x) {
  6197. if (!typeIsObject(x)) {
  6198. return false;
  6199. }
  6200. if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {
  6201. return false;
  6202. }
  6203. return x instanceof ReadableStreamBYOBRequest;
  6204. }
  6205. function ReadableByteStreamControllerCallPullIfNeeded(controller) {
  6206. var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);
  6207. if (!shouldPull) {
  6208. return;
  6209. }
  6210. if (controller._pulling) {
  6211. controller._pullAgain = true;
  6212. return;
  6213. }
  6214. controller._pulling = true;
  6215. var pullPromise = controller._pullAlgorithm();
  6216. uponPromise(pullPromise, function () {
  6217. controller._pulling = false;
  6218. if (controller._pullAgain) {
  6219. controller._pullAgain = false;
  6220. ReadableByteStreamControllerCallPullIfNeeded(controller);
  6221. }
  6222. }, function (e) {
  6223. ReadableByteStreamControllerError(controller, e);
  6224. });
  6225. }
  6226. function ReadableByteStreamControllerClearPendingPullIntos(controller) {
  6227. ReadableByteStreamControllerInvalidateBYOBRequest(controller);
  6228. controller._pendingPullIntos = new SimpleQueue();
  6229. }
  6230. function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {
  6231. var done = false;
  6232. if (stream._state === 'closed') {
  6233. done = true;
  6234. }
  6235. var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
  6236. if (pullIntoDescriptor.readerType === 'default') {
  6237. ReadableStreamFulfillReadRequest(stream, filledView, done);
  6238. } else {
  6239. ReadableStreamFulfillReadIntoRequest(stream, filledView, done);
  6240. }
  6241. }
  6242. function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {
  6243. var bytesFilled = pullIntoDescriptor.bytesFilled;
  6244. var elementSize = pullIntoDescriptor.elementSize;
  6245. return new pullIntoDescriptor.viewConstructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);
  6246. }
  6247. function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {
  6248. controller._queue.push({
  6249. buffer: buffer,
  6250. byteOffset: byteOffset,
  6251. byteLength: byteLength
  6252. });
  6253. controller._queueTotalSize += byteLength;
  6254. }
  6255. function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {
  6256. var elementSize = pullIntoDescriptor.elementSize;
  6257. var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;
  6258. var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);
  6259. var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;
  6260. var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;
  6261. var totalBytesToCopyRemaining = maxBytesToCopy;
  6262. var ready = false;
  6263. if (maxAlignedBytes > currentAlignedBytes) {
  6264. totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;
  6265. ready = true;
  6266. }
  6267. var queue = controller._queue;
  6268. while (totalBytesToCopyRemaining > 0) {
  6269. var headOfQueue = queue.peek();
  6270. var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);
  6271. var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
  6272. CopyDataBlockBytes(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);
  6273. if (headOfQueue.byteLength === bytesToCopy) {
  6274. queue.shift();
  6275. } else {
  6276. headOfQueue.byteOffset += bytesToCopy;
  6277. headOfQueue.byteLength -= bytesToCopy;
  6278. }
  6279. controller._queueTotalSize -= bytesToCopy;
  6280. ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);
  6281. totalBytesToCopyRemaining -= bytesToCopy;
  6282. }
  6283. return ready;
  6284. }
  6285. function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {
  6286. pullIntoDescriptor.bytesFilled += size;
  6287. }
  6288. function ReadableByteStreamControllerHandleQueueDrain(controller) {
  6289. if (controller._queueTotalSize === 0 && controller._closeRequested) {
  6290. ReadableByteStreamControllerClearAlgorithms(controller);
  6291. ReadableStreamClose(controller._controlledReadableByteStream);
  6292. } else {
  6293. ReadableByteStreamControllerCallPullIfNeeded(controller);
  6294. }
  6295. }
  6296. function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {
  6297. if (controller._byobRequest === null) {
  6298. return;
  6299. }
  6300. controller._byobRequest._associatedReadableByteStreamController = undefined;
  6301. controller._byobRequest._view = null;
  6302. controller._byobRequest = null;
  6303. }
  6304. function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {
  6305. while (controller._pendingPullIntos.length > 0) {
  6306. if (controller._queueTotalSize === 0) {
  6307. return;
  6308. }
  6309. var pullIntoDescriptor = controller._pendingPullIntos.peek();
  6310. if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {
  6311. ReadableByteStreamControllerShiftPendingPullInto(controller);
  6312. ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
  6313. }
  6314. }
  6315. }
  6316. function ReadableByteStreamControllerPullInto(controller, view, readIntoRequest) {
  6317. var stream = controller._controlledReadableByteStream;
  6318. var elementSize = 1;
  6319. if (view.constructor !== DataView) {
  6320. elementSize = view.constructor.BYTES_PER_ELEMENT;
  6321. }
  6322. var ctor = view.constructor;
  6323. var buffer = TransferArrayBuffer(view.buffer);
  6324. var pullIntoDescriptor = {
  6325. buffer: buffer,
  6326. bufferByteLength: buffer.byteLength,
  6327. byteOffset: view.byteOffset,
  6328. byteLength: view.byteLength,
  6329. bytesFilled: 0,
  6330. elementSize: elementSize,
  6331. viewConstructor: ctor,
  6332. readerType: 'byob'
  6333. };
  6334. if (controller._pendingPullIntos.length > 0) {
  6335. controller._pendingPullIntos.push(pullIntoDescriptor);
  6336. ReadableStreamAddReadIntoRequest(stream, readIntoRequest);
  6337. return;
  6338. }
  6339. if (stream._state === 'closed') {
  6340. var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);
  6341. readIntoRequest._closeSteps(emptyView);
  6342. return;
  6343. }
  6344. if (controller._queueTotalSize > 0) {
  6345. if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {
  6346. var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
  6347. ReadableByteStreamControllerHandleQueueDrain(controller);
  6348. readIntoRequest._chunkSteps(filledView);
  6349. return;
  6350. }
  6351. if (controller._closeRequested) {
  6352. var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
  6353. ReadableByteStreamControllerError(controller, e);
  6354. readIntoRequest._errorSteps(e);
  6355. return;
  6356. }
  6357. }
  6358. controller._pendingPullIntos.push(pullIntoDescriptor);
  6359. ReadableStreamAddReadIntoRequest(stream, readIntoRequest);
  6360. ReadableByteStreamControllerCallPullIfNeeded(controller);
  6361. }
  6362. function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {
  6363. var stream = controller._controlledReadableByteStream;
  6364. if (ReadableStreamHasBYOBReader(stream)) {
  6365. while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {
  6366. var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);
  6367. ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);
  6368. }
  6369. }
  6370. }
  6371. function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {
  6372. ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);
  6373. if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {
  6374. return;
  6375. }
  6376. ReadableByteStreamControllerShiftPendingPullInto(controller);
  6377. var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;
  6378. if (remainderSize > 0) {
  6379. var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
  6380. var remainder = ArrayBufferSlice(pullIntoDescriptor.buffer, end - remainderSize, end);
  6381. ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);
  6382. }
  6383. pullIntoDescriptor.bytesFilled -= remainderSize;
  6384. ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
  6385. ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
  6386. }
  6387. function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {
  6388. var firstDescriptor = controller._pendingPullIntos.peek();
  6389. ReadableByteStreamControllerInvalidateBYOBRequest(controller);
  6390. var state = controller._controlledReadableByteStream._state;
  6391. if (state === 'closed') {
  6392. ReadableByteStreamControllerRespondInClosedState(controller);
  6393. } else {
  6394. ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);
  6395. }
  6396. ReadableByteStreamControllerCallPullIfNeeded(controller);
  6397. }
  6398. function ReadableByteStreamControllerShiftPendingPullInto(controller) {
  6399. var descriptor = controller._pendingPullIntos.shift();
  6400. return descriptor;
  6401. }
  6402. function ReadableByteStreamControllerShouldCallPull(controller) {
  6403. var stream = controller._controlledReadableByteStream;
  6404. if (stream._state !== 'readable') {
  6405. return false;
  6406. }
  6407. if (controller._closeRequested) {
  6408. return false;
  6409. }
  6410. if (!controller._started) {
  6411. return false;
  6412. }
  6413. if (ReadableStreamHasDefaultReader(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {
  6414. return true;
  6415. }
  6416. if (ReadableStreamHasBYOBReader(stream) && ReadableStreamGetNumReadIntoRequests(stream) > 0) {
  6417. return true;
  6418. }
  6419. var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);
  6420. if (desiredSize > 0) {
  6421. return true;
  6422. }
  6423. return false;
  6424. }
  6425. function ReadableByteStreamControllerClearAlgorithms(controller) {
  6426. controller._pullAlgorithm = undefined;
  6427. controller._cancelAlgorithm = undefined;
  6428. }
  6429. function ReadableByteStreamControllerClose(controller) {
  6430. var stream = controller._controlledReadableByteStream;
  6431. if (controller._closeRequested || stream._state !== 'readable') {
  6432. return;
  6433. }
  6434. if (controller._queueTotalSize > 0) {
  6435. controller._closeRequested = true;
  6436. return;
  6437. }
  6438. if (controller._pendingPullIntos.length > 0) {
  6439. var firstPendingPullInto = controller._pendingPullIntos.peek();
  6440. if (firstPendingPullInto.bytesFilled > 0) {
  6441. var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
  6442. ReadableByteStreamControllerError(controller, e);
  6443. throw e;
  6444. }
  6445. }
  6446. ReadableByteStreamControllerClearAlgorithms(controller);
  6447. ReadableStreamClose(stream);
  6448. }
  6449. function ReadableByteStreamControllerEnqueue(controller, chunk) {
  6450. var stream = controller._controlledReadableByteStream;
  6451. if (controller._closeRequested || stream._state !== 'readable') {
  6452. return;
  6453. }
  6454. var buffer = chunk.buffer;
  6455. var byteOffset = chunk.byteOffset;
  6456. var byteLength = chunk.byteLength;
  6457. var transferredBuffer = TransferArrayBuffer(buffer);
  6458. if (controller._pendingPullIntos.length > 0) {
  6459. var firstPendingPullInto = controller._pendingPullIntos.peek();
  6460. if (IsDetachedBuffer(firstPendingPullInto.buffer));
  6461. firstPendingPullInto.buffer = TransferArrayBuffer(firstPendingPullInto.buffer);
  6462. }
  6463. ReadableByteStreamControllerInvalidateBYOBRequest(controller);
  6464. if (ReadableStreamHasDefaultReader(stream)) {
  6465. if (ReadableStreamGetNumReadRequests(stream) === 0) {
  6466. ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
  6467. } else {
  6468. if (controller._pendingPullIntos.length > 0) {
  6469. ReadableByteStreamControllerShiftPendingPullInto(controller);
  6470. }
  6471. var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);
  6472. ReadableStreamFulfillReadRequest(stream, transferredView, false);
  6473. }
  6474. } else if (ReadableStreamHasBYOBReader(stream)) {
  6475. ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
  6476. ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
  6477. } else {
  6478. ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
  6479. }
  6480. ReadableByteStreamControllerCallPullIfNeeded(controller);
  6481. }
  6482. function ReadableByteStreamControllerError(controller, e) {
  6483. var stream = controller._controlledReadableByteStream;
  6484. if (stream._state !== 'readable') {
  6485. return;
  6486. }
  6487. ReadableByteStreamControllerClearPendingPullIntos(controller);
  6488. ResetQueue(controller);
  6489. ReadableByteStreamControllerClearAlgorithms(controller);
  6490. ReadableStreamError(stream, e);
  6491. }
  6492. function ReadableByteStreamControllerGetBYOBRequest(controller) {
  6493. if (controller._byobRequest === null && controller._pendingPullIntos.length > 0) {
  6494. var firstDescriptor = controller._pendingPullIntos.peek();
  6495. var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);
  6496. var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);
  6497. SetUpReadableStreamBYOBRequest(byobRequest, controller, view);
  6498. controller._byobRequest = byobRequest;
  6499. }
  6500. return controller._byobRequest;
  6501. }
  6502. function ReadableByteStreamControllerGetDesiredSize(controller) {
  6503. var state = controller._controlledReadableByteStream._state;
  6504. if (state === 'errored') {
  6505. return null;
  6506. }
  6507. if (state === 'closed') {
  6508. return 0;
  6509. }
  6510. return controller._strategyHWM - controller._queueTotalSize;
  6511. }
  6512. function ReadableByteStreamControllerRespond(controller, bytesWritten) {
  6513. var firstDescriptor = controller._pendingPullIntos.peek();
  6514. var state = controller._controlledReadableByteStream._state;
  6515. if (state === 'closed') {
  6516. if (bytesWritten !== 0) {
  6517. throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');
  6518. }
  6519. } else {
  6520. if (bytesWritten === 0) {
  6521. throw new TypeError('bytesWritten must be greater than 0 when calling respond() on a readable stream');
  6522. }
  6523. if (firstDescriptor.bytesFilled + bytesWritten > firstDescriptor.byteLength) {
  6524. throw new RangeError('bytesWritten out of range');
  6525. }
  6526. }
  6527. firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);
  6528. ReadableByteStreamControllerRespondInternal(controller, bytesWritten);
  6529. }
  6530. function ReadableByteStreamControllerRespondWithNewView(controller, view) {
  6531. var firstDescriptor = controller._pendingPullIntos.peek();
  6532. var state = controller._controlledReadableByteStream._state;
  6533. if (state === 'closed') {
  6534. if (view.byteLength !== 0) {
  6535. throw new TypeError('The view\'s length must be 0 when calling respondWithNewView() on a closed stream');
  6536. }
  6537. } else {
  6538. if (view.byteLength === 0) {
  6539. throw new TypeError('The view\'s length must be greater than 0 when calling respondWithNewView() on a readable stream');
  6540. }
  6541. }
  6542. if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {
  6543. throw new RangeError('The region specified by view does not match byobRequest');
  6544. }
  6545. if (firstDescriptor.bufferByteLength !== view.buffer.byteLength) {
  6546. throw new RangeError('The buffer of view has different capacity than byobRequest');
  6547. }
  6548. if (firstDescriptor.bytesFilled + view.byteLength > firstDescriptor.byteLength) {
  6549. throw new RangeError('The region specified by view is larger than byobRequest');
  6550. }
  6551. var viewByteLength = view.byteLength;
  6552. firstDescriptor.buffer = TransferArrayBuffer(view.buffer);
  6553. ReadableByteStreamControllerRespondInternal(controller, viewByteLength);
  6554. }
  6555. function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {
  6556. controller._controlledReadableByteStream = stream;
  6557. controller._pullAgain = false;
  6558. controller._pulling = false;
  6559. controller._byobRequest = null;
  6560. controller._queue = controller._queueTotalSize = undefined;
  6561. ResetQueue(controller);
  6562. controller._closeRequested = false;
  6563. controller._started = false;
  6564. controller._strategyHWM = highWaterMark;
  6565. controller._pullAlgorithm = pullAlgorithm;
  6566. controller._cancelAlgorithm = cancelAlgorithm;
  6567. controller._autoAllocateChunkSize = autoAllocateChunkSize;
  6568. controller._pendingPullIntos = new SimpleQueue();
  6569. stream._readableStreamController = controller;
  6570. var startResult = startAlgorithm();
  6571. uponPromise(promiseResolvedWith(startResult), function () {
  6572. controller._started = true;
  6573. ReadableByteStreamControllerCallPullIfNeeded(controller);
  6574. }, function (r) {
  6575. ReadableByteStreamControllerError(controller, r);
  6576. });
  6577. }
  6578. function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {
  6579. var controller = Object.create(ReadableByteStreamController.prototype);
  6580. var startAlgorithm = function () {
  6581. return undefined;
  6582. };
  6583. var pullAlgorithm = function () {
  6584. return promiseResolvedWith(undefined);
  6585. };
  6586. var cancelAlgorithm = function () {
  6587. return promiseResolvedWith(undefined);
  6588. };
  6589. if (underlyingByteSource.start !== undefined) {
  6590. startAlgorithm = function () {
  6591. return underlyingByteSource.start(controller);
  6592. };
  6593. }
  6594. if (underlyingByteSource.pull !== undefined) {
  6595. pullAlgorithm = function () {
  6596. return underlyingByteSource.pull(controller);
  6597. };
  6598. }
  6599. if (underlyingByteSource.cancel !== undefined) {
  6600. cancelAlgorithm = function (reason) {
  6601. return underlyingByteSource.cancel(reason);
  6602. };
  6603. }
  6604. var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;
  6605. if (autoAllocateChunkSize === 0) {
  6606. throw new TypeError('autoAllocateChunkSize must be greater than 0');
  6607. }
  6608. SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);
  6609. }
  6610. function SetUpReadableStreamBYOBRequest(request, controller, view) {
  6611. request._associatedReadableByteStreamController = controller;
  6612. request._view = view;
  6613. }
  6614. function byobRequestBrandCheckException(name) {
  6615. return new TypeError("ReadableStreamBYOBRequest.prototype." + name + " can only be used on a ReadableStreamBYOBRequest");
  6616. }
  6617. function byteStreamControllerBrandCheckException(name) {
  6618. return new TypeError("ReadableByteStreamController.prototype." + name + " can only be used on a ReadableByteStreamController");
  6619. }
  6620. function AcquireReadableStreamBYOBReader(stream) {
  6621. return new ReadableStreamBYOBReader(stream);
  6622. }
  6623. function ReadableStreamAddReadIntoRequest(stream, readIntoRequest) {
  6624. stream._reader._readIntoRequests.push(readIntoRequest);
  6625. }
  6626. function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {
  6627. var reader = stream._reader;
  6628. var readIntoRequest = reader._readIntoRequests.shift();
  6629. if (done) {
  6630. readIntoRequest._closeSteps(chunk);
  6631. } else {
  6632. readIntoRequest._chunkSteps(chunk);
  6633. }
  6634. }
  6635. function ReadableStreamGetNumReadIntoRequests(stream) {
  6636. return stream._reader._readIntoRequests.length;
  6637. }
  6638. function ReadableStreamHasBYOBReader(stream) {
  6639. var reader = stream._reader;
  6640. if (reader === undefined) {
  6641. return false;
  6642. }
  6643. if (!IsReadableStreamBYOBReader(reader)) {
  6644. return false;
  6645. }
  6646. return true;
  6647. }
  6648. var ReadableStreamBYOBReader = (function () {
  6649. function ReadableStreamBYOBReader(stream) {
  6650. assertRequiredArgument(stream, 1, 'ReadableStreamBYOBReader');
  6651. assertReadableStream(stream, 'First parameter');
  6652. if (IsReadableStreamLocked(stream)) {
  6653. throw new TypeError('This stream has already been locked for exclusive reading by another reader');
  6654. }
  6655. if (!IsReadableByteStreamController(stream._readableStreamController)) {
  6656. throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');
  6657. }
  6658. ReadableStreamReaderGenericInitialize(this, stream);
  6659. this._readIntoRequests = new SimpleQueue();
  6660. }
  6661. Object.defineProperty(ReadableStreamBYOBReader.prototype, "closed", {
  6662. get: function () {
  6663. if (!IsReadableStreamBYOBReader(this)) {
  6664. return promiseRejectedWith(byobReaderBrandCheckException('closed'));
  6665. }
  6666. return this._closedPromise;
  6667. },
  6668. enumerable: false,
  6669. configurable: true
  6670. });
  6671. ReadableStreamBYOBReader.prototype.cancel = function (reason) {
  6672. if (reason === void 0) {
  6673. reason = undefined;
  6674. }
  6675. if (!IsReadableStreamBYOBReader(this)) {
  6676. return promiseRejectedWith(byobReaderBrandCheckException('cancel'));
  6677. }
  6678. if (this._ownerReadableStream === undefined) {
  6679. return promiseRejectedWith(readerLockException('cancel'));
  6680. }
  6681. return ReadableStreamReaderGenericCancel(this, reason);
  6682. };
  6683. ReadableStreamBYOBReader.prototype.read = function (view) {
  6684. if (!IsReadableStreamBYOBReader(this)) {
  6685. return promiseRejectedWith(byobReaderBrandCheckException('read'));
  6686. }
  6687. if (!ArrayBuffer.isView(view)) {
  6688. return promiseRejectedWith(new TypeError('view must be an array buffer view'));
  6689. }
  6690. if (view.byteLength === 0) {
  6691. return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));
  6692. }
  6693. if (view.buffer.byteLength === 0) {
  6694. return promiseRejectedWith(new TypeError("view's buffer must have non-zero byteLength"));
  6695. }
  6696. if (IsDetachedBuffer(view.buffer));
  6697. if (this._ownerReadableStream === undefined) {
  6698. return promiseRejectedWith(readerLockException('read from'));
  6699. }
  6700. var resolvePromise;
  6701. var rejectPromise;
  6702. var promise = newPromise(function (resolve, reject) {
  6703. resolvePromise = resolve;
  6704. rejectPromise = reject;
  6705. });
  6706. var readIntoRequest = {
  6707. _chunkSteps: function (chunk) {
  6708. return resolvePromise({
  6709. value: chunk,
  6710. done: false
  6711. });
  6712. },
  6713. _closeSteps: function (chunk) {
  6714. return resolvePromise({
  6715. value: chunk,
  6716. done: true
  6717. });
  6718. },
  6719. _errorSteps: function (e) {
  6720. return rejectPromise(e);
  6721. }
  6722. };
  6723. ReadableStreamBYOBReaderRead(this, view, readIntoRequest);
  6724. return promise;
  6725. };
  6726. ReadableStreamBYOBReader.prototype.releaseLock = function () {
  6727. if (!IsReadableStreamBYOBReader(this)) {
  6728. throw byobReaderBrandCheckException('releaseLock');
  6729. }
  6730. if (this._ownerReadableStream === undefined) {
  6731. return;
  6732. }
  6733. if (this._readIntoRequests.length > 0) {
  6734. throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');
  6735. }
  6736. ReadableStreamReaderGenericRelease(this);
  6737. };
  6738. return ReadableStreamBYOBReader;
  6739. }());
  6740. Object.defineProperties(ReadableStreamBYOBReader.prototype, {
  6741. cancel: { enumerable: true },
  6742. read: { enumerable: true },
  6743. releaseLock: { enumerable: true },
  6744. closed: { enumerable: true }
  6745. });
  6746. if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  6747. Object.defineProperty(ReadableStreamBYOBReader.prototype, SymbolPolyfill.toStringTag, {
  6748. value: 'ReadableStreamBYOBReader',
  6749. configurable: true
  6750. });
  6751. }
  6752. function IsReadableStreamBYOBReader(x) {
  6753. if (!typeIsObject(x)) {
  6754. return false;
  6755. }
  6756. if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {
  6757. return false;
  6758. }
  6759. return x instanceof ReadableStreamBYOBReader;
  6760. }
  6761. function ReadableStreamBYOBReaderRead(reader, view, readIntoRequest) {
  6762. var stream = reader._ownerReadableStream;
  6763. stream._disturbed = true;
  6764. if (stream._state === 'errored') {
  6765. readIntoRequest._errorSteps(stream._storedError);
  6766. } else {
  6767. ReadableByteStreamControllerPullInto(stream._readableStreamController, view, readIntoRequest);
  6768. }
  6769. }
  6770. function byobReaderBrandCheckException(name) {
  6771. return new TypeError("ReadableStreamBYOBReader.prototype." + name + " can only be used on a ReadableStreamBYOBReader");
  6772. }
  6773. function ExtractHighWaterMark(strategy, defaultHWM) {
  6774. var highWaterMark = strategy.highWaterMark;
  6775. if (highWaterMark === undefined) {
  6776. return defaultHWM;
  6777. }
  6778. if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {
  6779. throw new RangeError('Invalid highWaterMark');
  6780. }
  6781. return highWaterMark;
  6782. }
  6783. function ExtractSizeAlgorithm(strategy) {
  6784. var size = strategy.size;
  6785. if (!size) {
  6786. return function () {
  6787. return 1;
  6788. };
  6789. }
  6790. return size;
  6791. }
  6792. function convertQueuingStrategy(init, context) {
  6793. assertDictionary(init, context);
  6794. var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark;
  6795. var size = init === null || init === void 0 ? void 0 : init.size;
  6796. return {
  6797. highWaterMark: highWaterMark === undefined ? undefined : convertUnrestrictedDouble(highWaterMark),
  6798. size: size === undefined ? undefined : convertQueuingStrategySize(size, context + " has member 'size' that")
  6799. };
  6800. }
  6801. function convertQueuingStrategySize(fn, context) {
  6802. assertFunction(fn, context);
  6803. return function (chunk) {
  6804. return convertUnrestrictedDouble(fn(chunk));
  6805. };
  6806. }
  6807. function convertUnderlyingSink(original, context) {
  6808. assertDictionary(original, context);
  6809. var abort = original === null || original === void 0 ? void 0 : original.abort;
  6810. var close = original === null || original === void 0 ? void 0 : original.close;
  6811. var start = original === null || original === void 0 ? void 0 : original.start;
  6812. var type = original === null || original === void 0 ? void 0 : original.type;
  6813. var write = original === null || original === void 0 ? void 0 : original.write;
  6814. return {
  6815. abort: abort === undefined ? undefined : convertUnderlyingSinkAbortCallback(abort, original, context + " has member 'abort' that"),
  6816. close: close === undefined ? undefined : convertUnderlyingSinkCloseCallback(close, original, context + " has member 'close' that"),
  6817. start: start === undefined ? undefined : convertUnderlyingSinkStartCallback(start, original, context + " has member 'start' that"),
  6818. write: write === undefined ? undefined : convertUnderlyingSinkWriteCallback(write, original, context + " has member 'write' that"),
  6819. type: type
  6820. };
  6821. }
  6822. function convertUnderlyingSinkAbortCallback(fn, original, context) {
  6823. assertFunction(fn, context);
  6824. return function (reason) {
  6825. return promiseCall(fn, original, [reason]);
  6826. };
  6827. }
  6828. function convertUnderlyingSinkCloseCallback(fn, original, context) {
  6829. assertFunction(fn, context);
  6830. return function () {
  6831. return promiseCall(fn, original, []);
  6832. };
  6833. }
  6834. function convertUnderlyingSinkStartCallback(fn, original, context) {
  6835. assertFunction(fn, context);
  6836. return function (controller) {
  6837. return reflectCall(fn, original, [controller]);
  6838. };
  6839. }
  6840. function convertUnderlyingSinkWriteCallback(fn, original, context) {
  6841. assertFunction(fn, context);
  6842. return function (chunk, controller) {
  6843. return promiseCall(fn, original, [
  6844. chunk,
  6845. controller
  6846. ]);
  6847. };
  6848. }
  6849. function assertWritableStream(x, context) {
  6850. if (!IsWritableStream(x)) {
  6851. throw new TypeError(context + " is not a WritableStream.");
  6852. }
  6853. }
  6854. function isAbortSignal(value) {
  6855. if (typeof value !== 'object' || value === null) {
  6856. return false;
  6857. }
  6858. try {
  6859. return typeof value.aborted === 'boolean';
  6860. } catch (_a) {
  6861. return false;
  6862. }
  6863. }
  6864. var supportsAbortController = typeof AbortController === 'function';
  6865. function createAbortController() {
  6866. if (supportsAbortController) {
  6867. return new AbortController();
  6868. }
  6869. return undefined;
  6870. }
  6871. var WritableStream = (function () {
  6872. function WritableStream(rawUnderlyingSink, rawStrategy) {
  6873. if (rawUnderlyingSink === void 0) {
  6874. rawUnderlyingSink = {};
  6875. }
  6876. if (rawStrategy === void 0) {
  6877. rawStrategy = {};
  6878. }
  6879. if (rawUnderlyingSink === undefined) {
  6880. rawUnderlyingSink = null;
  6881. } else {
  6882. assertObject(rawUnderlyingSink, 'First parameter');
  6883. }
  6884. var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');
  6885. var underlyingSink = convertUnderlyingSink(rawUnderlyingSink, 'First parameter');
  6886. InitializeWritableStream(this);
  6887. var type = underlyingSink.type;
  6888. if (type !== undefined) {
  6889. throw new RangeError('Invalid type is specified');
  6890. }
  6891. var sizeAlgorithm = ExtractSizeAlgorithm(strategy);
  6892. var highWaterMark = ExtractHighWaterMark(strategy, 1);
  6893. SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);
  6894. }
  6895. Object.defineProperty(WritableStream.prototype, "locked", {
  6896. get: function () {
  6897. if (!IsWritableStream(this)) {
  6898. throw streamBrandCheckException$2('locked');
  6899. }
  6900. return IsWritableStreamLocked(this);
  6901. },
  6902. enumerable: false,
  6903. configurable: true
  6904. });
  6905. WritableStream.prototype.abort = function (reason) {
  6906. if (reason === void 0) {
  6907. reason = undefined;
  6908. }
  6909. if (!IsWritableStream(this)) {
  6910. return promiseRejectedWith(streamBrandCheckException$2('abort'));
  6911. }
  6912. if (IsWritableStreamLocked(this)) {
  6913. return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));
  6914. }
  6915. return WritableStreamAbort(this, reason);
  6916. };
  6917. WritableStream.prototype.close = function () {
  6918. if (!IsWritableStream(this)) {
  6919. return promiseRejectedWith(streamBrandCheckException$2('close'));
  6920. }
  6921. if (IsWritableStreamLocked(this)) {
  6922. return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));
  6923. }
  6924. if (WritableStreamCloseQueuedOrInFlight(this)) {
  6925. return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));
  6926. }
  6927. return WritableStreamClose(this);
  6928. };
  6929. WritableStream.prototype.getWriter = function () {
  6930. if (!IsWritableStream(this)) {
  6931. throw streamBrandCheckException$2('getWriter');
  6932. }
  6933. return AcquireWritableStreamDefaultWriter(this);
  6934. };
  6935. return WritableStream;
  6936. }());
  6937. Object.defineProperties(WritableStream.prototype, {
  6938. abort: { enumerable: true },
  6939. close: { enumerable: true },
  6940. getWriter: { enumerable: true },
  6941. locked: { enumerable: true }
  6942. });
  6943. if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  6944. Object.defineProperty(WritableStream.prototype, SymbolPolyfill.toStringTag, {
  6945. value: 'WritableStream',
  6946. configurable: true
  6947. });
  6948. }
  6949. function AcquireWritableStreamDefaultWriter(stream) {
  6950. return new WritableStreamDefaultWriter(stream);
  6951. }
  6952. function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
  6953. if (highWaterMark === void 0) {
  6954. highWaterMark = 1;
  6955. }
  6956. if (sizeAlgorithm === void 0) {
  6957. sizeAlgorithm = function () {
  6958. return 1;
  6959. };
  6960. }
  6961. var stream = Object.create(WritableStream.prototype);
  6962. InitializeWritableStream(stream);
  6963. var controller = Object.create(WritableStreamDefaultController.prototype);
  6964. SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
  6965. return stream;
  6966. }
  6967. function InitializeWritableStream(stream) {
  6968. stream._state = 'writable';
  6969. stream._storedError = undefined;
  6970. stream._writer = undefined;
  6971. stream._writableStreamController = undefined;
  6972. stream._writeRequests = new SimpleQueue();
  6973. stream._inFlightWriteRequest = undefined;
  6974. stream._closeRequest = undefined;
  6975. stream._inFlightCloseRequest = undefined;
  6976. stream._pendingAbortRequest = undefined;
  6977. stream._backpressure = false;
  6978. }
  6979. function IsWritableStream(x) {
  6980. if (!typeIsObject(x)) {
  6981. return false;
  6982. }
  6983. if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {
  6984. return false;
  6985. }
  6986. return x instanceof WritableStream;
  6987. }
  6988. function IsWritableStreamLocked(stream) {
  6989. if (stream._writer === undefined) {
  6990. return false;
  6991. }
  6992. return true;
  6993. }
  6994. function WritableStreamAbort(stream, reason) {
  6995. var _a;
  6996. if (stream._state === 'closed' || stream._state === 'errored') {
  6997. return promiseResolvedWith(undefined);
  6998. }
  6999. stream._writableStreamController._abortReason = reason;
  7000. (_a = stream._writableStreamController._abortController) === null || _a === void 0 ? void 0 : _a.abort();
  7001. var state = stream._state;
  7002. if (state === 'closed' || state === 'errored') {
  7003. return promiseResolvedWith(undefined);
  7004. }
  7005. if (stream._pendingAbortRequest !== undefined) {
  7006. return stream._pendingAbortRequest._promise;
  7007. }
  7008. var wasAlreadyErroring = false;
  7009. if (state === 'erroring') {
  7010. wasAlreadyErroring = true;
  7011. reason = undefined;
  7012. }
  7013. var promise = newPromise(function (resolve, reject) {
  7014. stream._pendingAbortRequest = {
  7015. _promise: undefined,
  7016. _resolve: resolve,
  7017. _reject: reject,
  7018. _reason: reason,
  7019. _wasAlreadyErroring: wasAlreadyErroring
  7020. };
  7021. });
  7022. stream._pendingAbortRequest._promise = promise;
  7023. if (!wasAlreadyErroring) {
  7024. WritableStreamStartErroring(stream, reason);
  7025. }
  7026. return promise;
  7027. }
  7028. function WritableStreamClose(stream) {
  7029. var state = stream._state;
  7030. if (state === 'closed' || state === 'errored') {
  7031. return promiseRejectedWith(new TypeError("The stream (in " + state + " state) is not in the writable state and cannot be closed"));
  7032. }
  7033. var promise = newPromise(function (resolve, reject) {
  7034. var closeRequest = {
  7035. _resolve: resolve,
  7036. _reject: reject
  7037. };
  7038. stream._closeRequest = closeRequest;
  7039. });
  7040. var writer = stream._writer;
  7041. if (writer !== undefined && stream._backpressure && state === 'writable') {
  7042. defaultWriterReadyPromiseResolve(writer);
  7043. }
  7044. WritableStreamDefaultControllerClose(stream._writableStreamController);
  7045. return promise;
  7046. }
  7047. function WritableStreamAddWriteRequest(stream) {
  7048. var promise = newPromise(function (resolve, reject) {
  7049. var writeRequest = {
  7050. _resolve: resolve,
  7051. _reject: reject
  7052. };
  7053. stream._writeRequests.push(writeRequest);
  7054. });
  7055. return promise;
  7056. }
  7057. function WritableStreamDealWithRejection(stream, error) {
  7058. var state = stream._state;
  7059. if (state === 'writable') {
  7060. WritableStreamStartErroring(stream, error);
  7061. return;
  7062. }
  7063. WritableStreamFinishErroring(stream);
  7064. }
  7065. function WritableStreamStartErroring(stream, reason) {
  7066. var controller = stream._writableStreamController;
  7067. stream._state = 'erroring';
  7068. stream._storedError = reason;
  7069. var writer = stream._writer;
  7070. if (writer !== undefined) {
  7071. WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);
  7072. }
  7073. if (!WritableStreamHasOperationMarkedInFlight(stream) && controller._started) {
  7074. WritableStreamFinishErroring(stream);
  7075. }
  7076. }
  7077. function WritableStreamFinishErroring(stream) {
  7078. stream._state = 'errored';
  7079. stream._writableStreamController[ErrorSteps]();
  7080. var storedError = stream._storedError;
  7081. stream._writeRequests.forEach(function (writeRequest) {
  7082. writeRequest._reject(storedError);
  7083. });
  7084. stream._writeRequests = new SimpleQueue();
  7085. if (stream._pendingAbortRequest === undefined) {
  7086. WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
  7087. return;
  7088. }
  7089. var abortRequest = stream._pendingAbortRequest;
  7090. stream._pendingAbortRequest = undefined;
  7091. if (abortRequest._wasAlreadyErroring) {
  7092. abortRequest._reject(storedError);
  7093. WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
  7094. return;
  7095. }
  7096. var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);
  7097. uponPromise(promise, function () {
  7098. abortRequest._resolve();
  7099. WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
  7100. }, function (reason) {
  7101. abortRequest._reject(reason);
  7102. WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
  7103. });
  7104. }
  7105. function WritableStreamFinishInFlightWrite(stream) {
  7106. stream._inFlightWriteRequest._resolve(undefined);
  7107. stream._inFlightWriteRequest = undefined;
  7108. }
  7109. function WritableStreamFinishInFlightWriteWithError(stream, error) {
  7110. stream._inFlightWriteRequest._reject(error);
  7111. stream._inFlightWriteRequest = undefined;
  7112. WritableStreamDealWithRejection(stream, error);
  7113. }
  7114. function WritableStreamFinishInFlightClose(stream) {
  7115. stream._inFlightCloseRequest._resolve(undefined);
  7116. stream._inFlightCloseRequest = undefined;
  7117. var state = stream._state;
  7118. if (state === 'erroring') {
  7119. stream._storedError = undefined;
  7120. if (stream._pendingAbortRequest !== undefined) {
  7121. stream._pendingAbortRequest._resolve();
  7122. stream._pendingAbortRequest = undefined;
  7123. }
  7124. }
  7125. stream._state = 'closed';
  7126. var writer = stream._writer;
  7127. if (writer !== undefined) {
  7128. defaultWriterClosedPromiseResolve(writer);
  7129. }
  7130. }
  7131. function WritableStreamFinishInFlightCloseWithError(stream, error) {
  7132. stream._inFlightCloseRequest._reject(error);
  7133. stream._inFlightCloseRequest = undefined;
  7134. if (stream._pendingAbortRequest !== undefined) {
  7135. stream._pendingAbortRequest._reject(error);
  7136. stream._pendingAbortRequest = undefined;
  7137. }
  7138. WritableStreamDealWithRejection(stream, error);
  7139. }
  7140. function WritableStreamCloseQueuedOrInFlight(stream) {
  7141. if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {
  7142. return false;
  7143. }
  7144. return true;
  7145. }
  7146. function WritableStreamHasOperationMarkedInFlight(stream) {
  7147. if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {
  7148. return false;
  7149. }
  7150. return true;
  7151. }
  7152. function WritableStreamMarkCloseRequestInFlight(stream) {
  7153. stream._inFlightCloseRequest = stream._closeRequest;
  7154. stream._closeRequest = undefined;
  7155. }
  7156. function WritableStreamMarkFirstWriteRequestInFlight(stream) {
  7157. stream._inFlightWriteRequest = stream._writeRequests.shift();
  7158. }
  7159. function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {
  7160. if (stream._closeRequest !== undefined) {
  7161. stream._closeRequest._reject(stream._storedError);
  7162. stream._closeRequest = undefined;
  7163. }
  7164. var writer = stream._writer;
  7165. if (writer !== undefined) {
  7166. defaultWriterClosedPromiseReject(writer, stream._storedError);
  7167. }
  7168. }
  7169. function WritableStreamUpdateBackpressure(stream, backpressure) {
  7170. var writer = stream._writer;
  7171. if (writer !== undefined && backpressure !== stream._backpressure) {
  7172. if (backpressure) {
  7173. defaultWriterReadyPromiseReset(writer);
  7174. } else {
  7175. defaultWriterReadyPromiseResolve(writer);
  7176. }
  7177. }
  7178. stream._backpressure = backpressure;
  7179. }
  7180. var WritableStreamDefaultWriter = (function () {
  7181. function WritableStreamDefaultWriter(stream) {
  7182. assertRequiredArgument(stream, 1, 'WritableStreamDefaultWriter');
  7183. assertWritableStream(stream, 'First parameter');
  7184. if (IsWritableStreamLocked(stream)) {
  7185. throw new TypeError('This stream has already been locked for exclusive writing by another writer');
  7186. }
  7187. this._ownerWritableStream = stream;
  7188. stream._writer = this;
  7189. var state = stream._state;
  7190. if (state === 'writable') {
  7191. if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._backpressure) {
  7192. defaultWriterReadyPromiseInitialize(this);
  7193. } else {
  7194. defaultWriterReadyPromiseInitializeAsResolved(this);
  7195. }
  7196. defaultWriterClosedPromiseInitialize(this);
  7197. } else if (state === 'erroring') {
  7198. defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);
  7199. defaultWriterClosedPromiseInitialize(this);
  7200. } else if (state === 'closed') {
  7201. defaultWriterReadyPromiseInitializeAsResolved(this);
  7202. defaultWriterClosedPromiseInitializeAsResolved(this);
  7203. } else {
  7204. var storedError = stream._storedError;
  7205. defaultWriterReadyPromiseInitializeAsRejected(this, storedError);
  7206. defaultWriterClosedPromiseInitializeAsRejected(this, storedError);
  7207. }
  7208. }
  7209. Object.defineProperty(WritableStreamDefaultWriter.prototype, "closed", {
  7210. get: function () {
  7211. if (!IsWritableStreamDefaultWriter(this)) {
  7212. return promiseRejectedWith(defaultWriterBrandCheckException('closed'));
  7213. }
  7214. return this._closedPromise;
  7215. },
  7216. enumerable: false,
  7217. configurable: true
  7218. });
  7219. Object.defineProperty(WritableStreamDefaultWriter.prototype, "desiredSize", {
  7220. get: function () {
  7221. if (!IsWritableStreamDefaultWriter(this)) {
  7222. throw defaultWriterBrandCheckException('desiredSize');
  7223. }
  7224. if (this._ownerWritableStream === undefined) {
  7225. throw defaultWriterLockException('desiredSize');
  7226. }
  7227. return WritableStreamDefaultWriterGetDesiredSize(this);
  7228. },
  7229. enumerable: false,
  7230. configurable: true
  7231. });
  7232. Object.defineProperty(WritableStreamDefaultWriter.prototype, "ready", {
  7233. get: function () {
  7234. if (!IsWritableStreamDefaultWriter(this)) {
  7235. return promiseRejectedWith(defaultWriterBrandCheckException('ready'));
  7236. }
  7237. return this._readyPromise;
  7238. },
  7239. enumerable: false,
  7240. configurable: true
  7241. });
  7242. WritableStreamDefaultWriter.prototype.abort = function (reason) {
  7243. if (reason === void 0) {
  7244. reason = undefined;
  7245. }
  7246. if (!IsWritableStreamDefaultWriter(this)) {
  7247. return promiseRejectedWith(defaultWriterBrandCheckException('abort'));
  7248. }
  7249. if (this._ownerWritableStream === undefined) {
  7250. return promiseRejectedWith(defaultWriterLockException('abort'));
  7251. }
  7252. return WritableStreamDefaultWriterAbort(this, reason);
  7253. };
  7254. WritableStreamDefaultWriter.prototype.close = function () {
  7255. if (!IsWritableStreamDefaultWriter(this)) {
  7256. return promiseRejectedWith(defaultWriterBrandCheckException('close'));
  7257. }
  7258. var stream = this._ownerWritableStream;
  7259. if (stream === undefined) {
  7260. return promiseRejectedWith(defaultWriterLockException('close'));
  7261. }
  7262. if (WritableStreamCloseQueuedOrInFlight(stream)) {
  7263. return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));
  7264. }
  7265. return WritableStreamDefaultWriterClose(this);
  7266. };
  7267. WritableStreamDefaultWriter.prototype.releaseLock = function () {
  7268. if (!IsWritableStreamDefaultWriter(this)) {
  7269. throw defaultWriterBrandCheckException('releaseLock');
  7270. }
  7271. var stream = this._ownerWritableStream;
  7272. if (stream === undefined) {
  7273. return;
  7274. }
  7275. WritableStreamDefaultWriterRelease(this);
  7276. };
  7277. WritableStreamDefaultWriter.prototype.write = function (chunk) {
  7278. if (chunk === void 0) {
  7279. chunk = undefined;
  7280. }
  7281. if (!IsWritableStreamDefaultWriter(this)) {
  7282. return promiseRejectedWith(defaultWriterBrandCheckException('write'));
  7283. }
  7284. if (this._ownerWritableStream === undefined) {
  7285. return promiseRejectedWith(defaultWriterLockException('write to'));
  7286. }
  7287. return WritableStreamDefaultWriterWrite(this, chunk);
  7288. };
  7289. return WritableStreamDefaultWriter;
  7290. }());
  7291. Object.defineProperties(WritableStreamDefaultWriter.prototype, {
  7292. abort: { enumerable: true },
  7293. close: { enumerable: true },
  7294. releaseLock: { enumerable: true },
  7295. write: { enumerable: true },
  7296. closed: { enumerable: true },
  7297. desiredSize: { enumerable: true },
  7298. ready: { enumerable: true }
  7299. });
  7300. if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  7301. Object.defineProperty(WritableStreamDefaultWriter.prototype, SymbolPolyfill.toStringTag, {
  7302. value: 'WritableStreamDefaultWriter',
  7303. configurable: true
  7304. });
  7305. }
  7306. function IsWritableStreamDefaultWriter(x) {
  7307. if (!typeIsObject(x)) {
  7308. return false;
  7309. }
  7310. if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {
  7311. return false;
  7312. }
  7313. return x instanceof WritableStreamDefaultWriter;
  7314. }
  7315. function WritableStreamDefaultWriterAbort(writer, reason) {
  7316. var stream = writer._ownerWritableStream;
  7317. return WritableStreamAbort(stream, reason);
  7318. }
  7319. function WritableStreamDefaultWriterClose(writer) {
  7320. var stream = writer._ownerWritableStream;
  7321. return WritableStreamClose(stream);
  7322. }
  7323. function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {
  7324. var stream = writer._ownerWritableStream;
  7325. var state = stream._state;
  7326. if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {
  7327. return promiseResolvedWith(undefined);
  7328. }
  7329. if (state === 'errored') {
  7330. return promiseRejectedWith(stream._storedError);
  7331. }
  7332. return WritableStreamDefaultWriterClose(writer);
  7333. }
  7334. function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {
  7335. if (writer._closedPromiseState === 'pending') {
  7336. defaultWriterClosedPromiseReject(writer, error);
  7337. } else {
  7338. defaultWriterClosedPromiseResetToRejected(writer, error);
  7339. }
  7340. }
  7341. function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {
  7342. if (writer._readyPromiseState === 'pending') {
  7343. defaultWriterReadyPromiseReject(writer, error);
  7344. } else {
  7345. defaultWriterReadyPromiseResetToRejected(writer, error);
  7346. }
  7347. }
  7348. function WritableStreamDefaultWriterGetDesiredSize(writer) {
  7349. var stream = writer._ownerWritableStream;
  7350. var state = stream._state;
  7351. if (state === 'errored' || state === 'erroring') {
  7352. return null;
  7353. }
  7354. if (state === 'closed') {
  7355. return 0;
  7356. }
  7357. return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);
  7358. }
  7359. function WritableStreamDefaultWriterRelease(writer) {
  7360. var stream = writer._ownerWritableStream;
  7361. var releasedError = new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");
  7362. WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);
  7363. WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);
  7364. stream._writer = undefined;
  7365. writer._ownerWritableStream = undefined;
  7366. }
  7367. function WritableStreamDefaultWriterWrite(writer, chunk) {
  7368. var stream = writer._ownerWritableStream;
  7369. var controller = stream._writableStreamController;
  7370. var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);
  7371. if (stream !== writer._ownerWritableStream) {
  7372. return promiseRejectedWith(defaultWriterLockException('write to'));
  7373. }
  7374. var state = stream._state;
  7375. if (state === 'errored') {
  7376. return promiseRejectedWith(stream._storedError);
  7377. }
  7378. if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {
  7379. return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));
  7380. }
  7381. if (state === 'erroring') {
  7382. return promiseRejectedWith(stream._storedError);
  7383. }
  7384. var promise = WritableStreamAddWriteRequest(stream);
  7385. WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);
  7386. return promise;
  7387. }
  7388. var closeSentinel = {};
  7389. var WritableStreamDefaultController = (function () {
  7390. function WritableStreamDefaultController() {
  7391. throw new TypeError('Illegal constructor');
  7392. }
  7393. Object.defineProperty(WritableStreamDefaultController.prototype, "abortReason", {
  7394. get: function () {
  7395. if (!IsWritableStreamDefaultController(this)) {
  7396. throw defaultControllerBrandCheckException$2('abortReason');
  7397. }
  7398. return this._abortReason;
  7399. },
  7400. enumerable: false,
  7401. configurable: true
  7402. });
  7403. Object.defineProperty(WritableStreamDefaultController.prototype, "signal", {
  7404. get: function () {
  7405. if (!IsWritableStreamDefaultController(this)) {
  7406. throw defaultControllerBrandCheckException$2('signal');
  7407. }
  7408. if (this._abortController === undefined) {
  7409. throw new TypeError('WritableStreamDefaultController.prototype.signal is not supported');
  7410. }
  7411. return this._abortController.signal;
  7412. },
  7413. enumerable: false,
  7414. configurable: true
  7415. });
  7416. WritableStreamDefaultController.prototype.error = function (e) {
  7417. if (e === void 0) {
  7418. e = undefined;
  7419. }
  7420. if (!IsWritableStreamDefaultController(this)) {
  7421. throw defaultControllerBrandCheckException$2('error');
  7422. }
  7423. var state = this._controlledWritableStream._state;
  7424. if (state !== 'writable') {
  7425. return;
  7426. }
  7427. WritableStreamDefaultControllerError(this, e);
  7428. };
  7429. WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {
  7430. var result = this._abortAlgorithm(reason);
  7431. WritableStreamDefaultControllerClearAlgorithms(this);
  7432. return result;
  7433. };
  7434. WritableStreamDefaultController.prototype[ErrorSteps] = function () {
  7435. ResetQueue(this);
  7436. };
  7437. return WritableStreamDefaultController;
  7438. }());
  7439. Object.defineProperties(WritableStreamDefaultController.prototype, {
  7440. abortReason: { enumerable: true },
  7441. signal: { enumerable: true },
  7442. error: { enumerable: true }
  7443. });
  7444. if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  7445. Object.defineProperty(WritableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {
  7446. value: 'WritableStreamDefaultController',
  7447. configurable: true
  7448. });
  7449. }
  7450. function IsWritableStreamDefaultController(x) {
  7451. if (!typeIsObject(x)) {
  7452. return false;
  7453. }
  7454. if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {
  7455. return false;
  7456. }
  7457. return x instanceof WritableStreamDefaultController;
  7458. }
  7459. function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
  7460. controller._controlledWritableStream = stream;
  7461. stream._writableStreamController = controller;
  7462. controller._queue = undefined;
  7463. controller._queueTotalSize = undefined;
  7464. ResetQueue(controller);
  7465. controller._abortReason = undefined;
  7466. controller._abortController = createAbortController();
  7467. controller._started = false;
  7468. controller._strategySizeAlgorithm = sizeAlgorithm;
  7469. controller._strategyHWM = highWaterMark;
  7470. controller._writeAlgorithm = writeAlgorithm;
  7471. controller._closeAlgorithm = closeAlgorithm;
  7472. controller._abortAlgorithm = abortAlgorithm;
  7473. var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
  7474. WritableStreamUpdateBackpressure(stream, backpressure);
  7475. var startResult = startAlgorithm();
  7476. var startPromise = promiseResolvedWith(startResult);
  7477. uponPromise(startPromise, function () {
  7478. controller._started = true;
  7479. WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
  7480. }, function (r) {
  7481. controller._started = true;
  7482. WritableStreamDealWithRejection(stream, r);
  7483. });
  7484. }
  7485. function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {
  7486. var controller = Object.create(WritableStreamDefaultController.prototype);
  7487. var startAlgorithm = function () {
  7488. return undefined;
  7489. };
  7490. var writeAlgorithm = function () {
  7491. return promiseResolvedWith(undefined);
  7492. };
  7493. var closeAlgorithm = function () {
  7494. return promiseResolvedWith(undefined);
  7495. };
  7496. var abortAlgorithm = function () {
  7497. return promiseResolvedWith(undefined);
  7498. };
  7499. if (underlyingSink.start !== undefined) {
  7500. startAlgorithm = function () {
  7501. return underlyingSink.start(controller);
  7502. };
  7503. }
  7504. if (underlyingSink.write !== undefined) {
  7505. writeAlgorithm = function (chunk) {
  7506. return underlyingSink.write(chunk, controller);
  7507. };
  7508. }
  7509. if (underlyingSink.close !== undefined) {
  7510. closeAlgorithm = function () {
  7511. return underlyingSink.close();
  7512. };
  7513. }
  7514. if (underlyingSink.abort !== undefined) {
  7515. abortAlgorithm = function (reason) {
  7516. return underlyingSink.abort(reason);
  7517. };
  7518. }
  7519. SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
  7520. }
  7521. function WritableStreamDefaultControllerClearAlgorithms(controller) {
  7522. controller._writeAlgorithm = undefined;
  7523. controller._closeAlgorithm = undefined;
  7524. controller._abortAlgorithm = undefined;
  7525. controller._strategySizeAlgorithm = undefined;
  7526. }
  7527. function WritableStreamDefaultControllerClose(controller) {
  7528. EnqueueValueWithSize(controller, closeSentinel, 0);
  7529. WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
  7530. }
  7531. function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {
  7532. try {
  7533. return controller._strategySizeAlgorithm(chunk);
  7534. } catch (chunkSizeE) {
  7535. WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);
  7536. return 1;
  7537. }
  7538. }
  7539. function WritableStreamDefaultControllerGetDesiredSize(controller) {
  7540. return controller._strategyHWM - controller._queueTotalSize;
  7541. }
  7542. function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {
  7543. try {
  7544. EnqueueValueWithSize(controller, chunk, chunkSize);
  7545. } catch (enqueueE) {
  7546. WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);
  7547. return;
  7548. }
  7549. var stream = controller._controlledWritableStream;
  7550. if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._state === 'writable') {
  7551. var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
  7552. WritableStreamUpdateBackpressure(stream, backpressure);
  7553. }
  7554. WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
  7555. }
  7556. function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {
  7557. var stream = controller._controlledWritableStream;
  7558. if (!controller._started) {
  7559. return;
  7560. }
  7561. if (stream._inFlightWriteRequest !== undefined) {
  7562. return;
  7563. }
  7564. var state = stream._state;
  7565. if (state === 'erroring') {
  7566. WritableStreamFinishErroring(stream);
  7567. return;
  7568. }
  7569. if (controller._queue.length === 0) {
  7570. return;
  7571. }
  7572. var value = PeekQueueValue(controller);
  7573. if (value === closeSentinel) {
  7574. WritableStreamDefaultControllerProcessClose(controller);
  7575. } else {
  7576. WritableStreamDefaultControllerProcessWrite(controller, value);
  7577. }
  7578. }
  7579. function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {
  7580. if (controller._controlledWritableStream._state === 'writable') {
  7581. WritableStreamDefaultControllerError(controller, error);
  7582. }
  7583. }
  7584. function WritableStreamDefaultControllerProcessClose(controller) {
  7585. var stream = controller._controlledWritableStream;
  7586. WritableStreamMarkCloseRequestInFlight(stream);
  7587. DequeueValue(controller);
  7588. var sinkClosePromise = controller._closeAlgorithm();
  7589. WritableStreamDefaultControllerClearAlgorithms(controller);
  7590. uponPromise(sinkClosePromise, function () {
  7591. WritableStreamFinishInFlightClose(stream);
  7592. }, function (reason) {
  7593. WritableStreamFinishInFlightCloseWithError(stream, reason);
  7594. });
  7595. }
  7596. function WritableStreamDefaultControllerProcessWrite(controller, chunk) {
  7597. var stream = controller._controlledWritableStream;
  7598. WritableStreamMarkFirstWriteRequestInFlight(stream);
  7599. var sinkWritePromise = controller._writeAlgorithm(chunk);
  7600. uponPromise(sinkWritePromise, function () {
  7601. WritableStreamFinishInFlightWrite(stream);
  7602. var state = stream._state;
  7603. DequeueValue(controller);
  7604. if (!WritableStreamCloseQueuedOrInFlight(stream) && state === 'writable') {
  7605. var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
  7606. WritableStreamUpdateBackpressure(stream, backpressure);
  7607. }
  7608. WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
  7609. }, function (reason) {
  7610. if (stream._state === 'writable') {
  7611. WritableStreamDefaultControllerClearAlgorithms(controller);
  7612. }
  7613. WritableStreamFinishInFlightWriteWithError(stream, reason);
  7614. });
  7615. }
  7616. function WritableStreamDefaultControllerGetBackpressure(controller) {
  7617. var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);
  7618. return desiredSize <= 0;
  7619. }
  7620. function WritableStreamDefaultControllerError(controller, error) {
  7621. var stream = controller._controlledWritableStream;
  7622. WritableStreamDefaultControllerClearAlgorithms(controller);
  7623. WritableStreamStartErroring(stream, error);
  7624. }
  7625. function streamBrandCheckException$2(name) {
  7626. return new TypeError("WritableStream.prototype." + name + " can only be used on a WritableStream");
  7627. }
  7628. function defaultControllerBrandCheckException$2(name) {
  7629. return new TypeError("WritableStreamDefaultController.prototype." + name + " can only be used on a WritableStreamDefaultController");
  7630. }
  7631. function defaultWriterBrandCheckException(name) {
  7632. return new TypeError("WritableStreamDefaultWriter.prototype." + name + " can only be used on a WritableStreamDefaultWriter");
  7633. }
  7634. function defaultWriterLockException(name) {
  7635. return new TypeError('Cannot ' + name + ' a stream using a released writer');
  7636. }
  7637. function defaultWriterClosedPromiseInitialize(writer) {
  7638. writer._closedPromise = newPromise(function (resolve, reject) {
  7639. writer._closedPromise_resolve = resolve;
  7640. writer._closedPromise_reject = reject;
  7641. writer._closedPromiseState = 'pending';
  7642. });
  7643. }
  7644. function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {
  7645. defaultWriterClosedPromiseInitialize(writer);
  7646. defaultWriterClosedPromiseReject(writer, reason);
  7647. }
  7648. function defaultWriterClosedPromiseInitializeAsResolved(writer) {
  7649. defaultWriterClosedPromiseInitialize(writer);
  7650. defaultWriterClosedPromiseResolve(writer);
  7651. }
  7652. function defaultWriterClosedPromiseReject(writer, reason) {
  7653. if (writer._closedPromise_reject === undefined) {
  7654. return;
  7655. }
  7656. setPromiseIsHandledToTrue(writer._closedPromise);
  7657. writer._closedPromise_reject(reason);
  7658. writer._closedPromise_resolve = undefined;
  7659. writer._closedPromise_reject = undefined;
  7660. writer._closedPromiseState = 'rejected';
  7661. }
  7662. function defaultWriterClosedPromiseResetToRejected(writer, reason) {
  7663. defaultWriterClosedPromiseInitializeAsRejected(writer, reason);
  7664. }
  7665. function defaultWriterClosedPromiseResolve(writer) {
  7666. if (writer._closedPromise_resolve === undefined) {
  7667. return;
  7668. }
  7669. writer._closedPromise_resolve(undefined);
  7670. writer._closedPromise_resolve = undefined;
  7671. writer._closedPromise_reject = undefined;
  7672. writer._closedPromiseState = 'resolved';
  7673. }
  7674. function defaultWriterReadyPromiseInitialize(writer) {
  7675. writer._readyPromise = newPromise(function (resolve, reject) {
  7676. writer._readyPromise_resolve = resolve;
  7677. writer._readyPromise_reject = reject;
  7678. });
  7679. writer._readyPromiseState = 'pending';
  7680. }
  7681. function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {
  7682. defaultWriterReadyPromiseInitialize(writer);
  7683. defaultWriterReadyPromiseReject(writer, reason);
  7684. }
  7685. function defaultWriterReadyPromiseInitializeAsResolved(writer) {
  7686. defaultWriterReadyPromiseInitialize(writer);
  7687. defaultWriterReadyPromiseResolve(writer);
  7688. }
  7689. function defaultWriterReadyPromiseReject(writer, reason) {
  7690. if (writer._readyPromise_reject === undefined) {
  7691. return;
  7692. }
  7693. setPromiseIsHandledToTrue(writer._readyPromise);
  7694. writer._readyPromise_reject(reason);
  7695. writer._readyPromise_resolve = undefined;
  7696. writer._readyPromise_reject = undefined;
  7697. writer._readyPromiseState = 'rejected';
  7698. }
  7699. function defaultWriterReadyPromiseReset(writer) {
  7700. defaultWriterReadyPromiseInitialize(writer);
  7701. }
  7702. function defaultWriterReadyPromiseResetToRejected(writer, reason) {
  7703. defaultWriterReadyPromiseInitializeAsRejected(writer, reason);
  7704. }
  7705. function defaultWriterReadyPromiseResolve(writer) {
  7706. if (writer._readyPromise_resolve === undefined) {
  7707. return;
  7708. }
  7709. writer._readyPromise_resolve(undefined);
  7710. writer._readyPromise_resolve = undefined;
  7711. writer._readyPromise_reject = undefined;
  7712. writer._readyPromiseState = 'fulfilled';
  7713. }
  7714. var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;
  7715. function isDOMExceptionConstructor(ctor) {
  7716. if (!(typeof ctor === 'function' || typeof ctor === 'object')) {
  7717. return false;
  7718. }
  7719. try {
  7720. new ctor();
  7721. return true;
  7722. } catch (_a) {
  7723. return false;
  7724. }
  7725. }
  7726. function createDOMExceptionPolyfill() {
  7727. var ctor = function DOMException(message, name) {
  7728. this.message = message || '';
  7729. this.name = name || 'Error';
  7730. if (Error.captureStackTrace) {
  7731. Error.captureStackTrace(this, this.constructor);
  7732. }
  7733. };
  7734. ctor.prototype = Object.create(Error.prototype);
  7735. Object.defineProperty(ctor.prototype, 'constructor', {
  7736. value: ctor,
  7737. writable: true,
  7738. configurable: true
  7739. });
  7740. return ctor;
  7741. }
  7742. var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();
  7743. function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {
  7744. var reader = AcquireReadableStreamDefaultReader(source);
  7745. var writer = AcquireWritableStreamDefaultWriter(dest);
  7746. source._disturbed = true;
  7747. var shuttingDown = false;
  7748. var currentWrite = promiseResolvedWith(undefined);
  7749. return newPromise(function (resolve, reject) {
  7750. var abortAlgorithm;
  7751. if (signal !== undefined) {
  7752. abortAlgorithm = function () {
  7753. var error = new DOMException$1('Aborted', 'AbortError');
  7754. var actions = [];
  7755. if (!preventAbort) {
  7756. actions.push(function () {
  7757. if (dest._state === 'writable') {
  7758. return WritableStreamAbort(dest, error);
  7759. }
  7760. return promiseResolvedWith(undefined);
  7761. });
  7762. }
  7763. if (!preventCancel) {
  7764. actions.push(function () {
  7765. if (source._state === 'readable') {
  7766. return ReadableStreamCancel(source, error);
  7767. }
  7768. return promiseResolvedWith(undefined);
  7769. });
  7770. }
  7771. shutdownWithAction(function () {
  7772. return Promise.all(actions.map(function (action) {
  7773. return action();
  7774. }));
  7775. }, true, error);
  7776. };
  7777. if (signal.aborted) {
  7778. abortAlgorithm();
  7779. return;
  7780. }
  7781. signal.addEventListener('abort', abortAlgorithm);
  7782. }
  7783. function pipeLoop() {
  7784. return newPromise(function (resolveLoop, rejectLoop) {
  7785. function next(done) {
  7786. if (done) {
  7787. resolveLoop();
  7788. } else {
  7789. PerformPromiseThen(pipeStep(), next, rejectLoop);
  7790. }
  7791. }
  7792. next(false);
  7793. });
  7794. }
  7795. function pipeStep() {
  7796. if (shuttingDown) {
  7797. return promiseResolvedWith(true);
  7798. }
  7799. return PerformPromiseThen(writer._readyPromise, function () {
  7800. return newPromise(function (resolveRead, rejectRead) {
  7801. ReadableStreamDefaultReaderRead(reader, {
  7802. _chunkSteps: function (chunk) {
  7803. currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), undefined, noop);
  7804. resolveRead(false);
  7805. },
  7806. _closeSteps: function () {
  7807. return resolveRead(true);
  7808. },
  7809. _errorSteps: rejectRead
  7810. });
  7811. });
  7812. });
  7813. }
  7814. isOrBecomesErrored(source, reader._closedPromise, function (storedError) {
  7815. if (!preventAbort) {
  7816. shutdownWithAction(function () {
  7817. return WritableStreamAbort(dest, storedError);
  7818. }, true, storedError);
  7819. } else {
  7820. shutdown(true, storedError);
  7821. }
  7822. });
  7823. isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {
  7824. if (!preventCancel) {
  7825. shutdownWithAction(function () {
  7826. return ReadableStreamCancel(source, storedError);
  7827. }, true, storedError);
  7828. } else {
  7829. shutdown(true, storedError);
  7830. }
  7831. });
  7832. isOrBecomesClosed(source, reader._closedPromise, function () {
  7833. if (!preventClose) {
  7834. shutdownWithAction(function () {
  7835. return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);
  7836. });
  7837. } else {
  7838. shutdown();
  7839. }
  7840. });
  7841. if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === 'closed') {
  7842. var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');
  7843. if (!preventCancel) {
  7844. shutdownWithAction(function () {
  7845. return ReadableStreamCancel(source, destClosed_1);
  7846. }, true, destClosed_1);
  7847. } else {
  7848. shutdown(true, destClosed_1);
  7849. }
  7850. }
  7851. setPromiseIsHandledToTrue(pipeLoop());
  7852. function waitForWritesToFinish() {
  7853. var oldCurrentWrite = currentWrite;
  7854. return PerformPromiseThen(currentWrite, function () {
  7855. return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;
  7856. });
  7857. }
  7858. function isOrBecomesErrored(stream, promise, action) {
  7859. if (stream._state === 'errored') {
  7860. action(stream._storedError);
  7861. } else {
  7862. uponRejection(promise, action);
  7863. }
  7864. }
  7865. function isOrBecomesClosed(stream, promise, action) {
  7866. if (stream._state === 'closed') {
  7867. action();
  7868. } else {
  7869. uponFulfillment(promise, action);
  7870. }
  7871. }
  7872. function shutdownWithAction(action, originalIsError, originalError) {
  7873. if (shuttingDown) {
  7874. return;
  7875. }
  7876. shuttingDown = true;
  7877. if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {
  7878. uponFulfillment(waitForWritesToFinish(), doTheRest);
  7879. } else {
  7880. doTheRest();
  7881. }
  7882. function doTheRest() {
  7883. uponPromise(action(), function () {
  7884. return finalize(originalIsError, originalError);
  7885. }, function (newError) {
  7886. return finalize(true, newError);
  7887. });
  7888. }
  7889. }
  7890. function shutdown(isError, error) {
  7891. if (shuttingDown) {
  7892. return;
  7893. }
  7894. shuttingDown = true;
  7895. if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {
  7896. uponFulfillment(waitForWritesToFinish(), function () {
  7897. return finalize(isError, error);
  7898. });
  7899. } else {
  7900. finalize(isError, error);
  7901. }
  7902. }
  7903. function finalize(isError, error) {
  7904. WritableStreamDefaultWriterRelease(writer);
  7905. ReadableStreamReaderGenericRelease(reader);
  7906. if (signal !== undefined) {
  7907. signal.removeEventListener('abort', abortAlgorithm);
  7908. }
  7909. if (isError) {
  7910. reject(error);
  7911. } else {
  7912. resolve(undefined);
  7913. }
  7914. }
  7915. });
  7916. }
  7917. var ReadableStreamDefaultController = (function () {
  7918. function ReadableStreamDefaultController() {
  7919. throw new TypeError('Illegal constructor');
  7920. }
  7921. Object.defineProperty(ReadableStreamDefaultController.prototype, "desiredSize", {
  7922. get: function () {
  7923. if (!IsReadableStreamDefaultController(this)) {
  7924. throw defaultControllerBrandCheckException$1('desiredSize');
  7925. }
  7926. return ReadableStreamDefaultControllerGetDesiredSize(this);
  7927. },
  7928. enumerable: false,
  7929. configurable: true
  7930. });
  7931. ReadableStreamDefaultController.prototype.close = function () {
  7932. if (!IsReadableStreamDefaultController(this)) {
  7933. throw defaultControllerBrandCheckException$1('close');
  7934. }
  7935. if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {
  7936. throw new TypeError('The stream is not in a state that permits close');
  7937. }
  7938. ReadableStreamDefaultControllerClose(this);
  7939. };
  7940. ReadableStreamDefaultController.prototype.enqueue = function (chunk) {
  7941. if (chunk === void 0) {
  7942. chunk = undefined;
  7943. }
  7944. if (!IsReadableStreamDefaultController(this)) {
  7945. throw defaultControllerBrandCheckException$1('enqueue');
  7946. }
  7947. if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {
  7948. throw new TypeError('The stream is not in a state that permits enqueue');
  7949. }
  7950. return ReadableStreamDefaultControllerEnqueue(this, chunk);
  7951. };
  7952. ReadableStreamDefaultController.prototype.error = function (e) {
  7953. if (e === void 0) {
  7954. e = undefined;
  7955. }
  7956. if (!IsReadableStreamDefaultController(this)) {
  7957. throw defaultControllerBrandCheckException$1('error');
  7958. }
  7959. ReadableStreamDefaultControllerError(this, e);
  7960. };
  7961. ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {
  7962. ResetQueue(this);
  7963. var result = this._cancelAlgorithm(reason);
  7964. ReadableStreamDefaultControllerClearAlgorithms(this);
  7965. return result;
  7966. };
  7967. ReadableStreamDefaultController.prototype[PullSteps] = function (readRequest) {
  7968. var stream = this._controlledReadableStream;
  7969. if (this._queue.length > 0) {
  7970. var chunk = DequeueValue(this);
  7971. if (this._closeRequested && this._queue.length === 0) {
  7972. ReadableStreamDefaultControllerClearAlgorithms(this);
  7973. ReadableStreamClose(stream);
  7974. } else {
  7975. ReadableStreamDefaultControllerCallPullIfNeeded(this);
  7976. }
  7977. readRequest._chunkSteps(chunk);
  7978. } else {
  7979. ReadableStreamAddReadRequest(stream, readRequest);
  7980. ReadableStreamDefaultControllerCallPullIfNeeded(this);
  7981. }
  7982. };
  7983. return ReadableStreamDefaultController;
  7984. }());
  7985. Object.defineProperties(ReadableStreamDefaultController.prototype, {
  7986. close: { enumerable: true },
  7987. enqueue: { enumerable: true },
  7988. error: { enumerable: true },
  7989. desiredSize: { enumerable: true }
  7990. });
  7991. if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  7992. Object.defineProperty(ReadableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {
  7993. value: 'ReadableStreamDefaultController',
  7994. configurable: true
  7995. });
  7996. }
  7997. function IsReadableStreamDefaultController(x) {
  7998. if (!typeIsObject(x)) {
  7999. return false;
  8000. }
  8001. if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {
  8002. return false;
  8003. }
  8004. return x instanceof ReadableStreamDefaultController;
  8005. }
  8006. function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {
  8007. var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);
  8008. if (!shouldPull) {
  8009. return;
  8010. }
  8011. if (controller._pulling) {
  8012. controller._pullAgain = true;
  8013. return;
  8014. }
  8015. controller._pulling = true;
  8016. var pullPromise = controller._pullAlgorithm();
  8017. uponPromise(pullPromise, function () {
  8018. controller._pulling = false;
  8019. if (controller._pullAgain) {
  8020. controller._pullAgain = false;
  8021. ReadableStreamDefaultControllerCallPullIfNeeded(controller);
  8022. }
  8023. }, function (e) {
  8024. ReadableStreamDefaultControllerError(controller, e);
  8025. });
  8026. }
  8027. function ReadableStreamDefaultControllerShouldCallPull(controller) {
  8028. var stream = controller._controlledReadableStream;
  8029. if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {
  8030. return false;
  8031. }
  8032. if (!controller._started) {
  8033. return false;
  8034. }
  8035. if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {
  8036. return true;
  8037. }
  8038. var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);
  8039. if (desiredSize > 0) {
  8040. return true;
  8041. }
  8042. return false;
  8043. }
  8044. function ReadableStreamDefaultControllerClearAlgorithms(controller) {
  8045. controller._pullAlgorithm = undefined;
  8046. controller._cancelAlgorithm = undefined;
  8047. controller._strategySizeAlgorithm = undefined;
  8048. }
  8049. function ReadableStreamDefaultControllerClose(controller) {
  8050. if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {
  8051. return;
  8052. }
  8053. var stream = controller._controlledReadableStream;
  8054. controller._closeRequested = true;
  8055. if (controller._queue.length === 0) {
  8056. ReadableStreamDefaultControllerClearAlgorithms(controller);
  8057. ReadableStreamClose(stream);
  8058. }
  8059. }
  8060. function ReadableStreamDefaultControllerEnqueue(controller, chunk) {
  8061. if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {
  8062. return;
  8063. }
  8064. var stream = controller._controlledReadableStream;
  8065. if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {
  8066. ReadableStreamFulfillReadRequest(stream, chunk, false);
  8067. } else {
  8068. var chunkSize = void 0;
  8069. try {
  8070. chunkSize = controller._strategySizeAlgorithm(chunk);
  8071. } catch (chunkSizeE) {
  8072. ReadableStreamDefaultControllerError(controller, chunkSizeE);
  8073. throw chunkSizeE;
  8074. }
  8075. try {
  8076. EnqueueValueWithSize(controller, chunk, chunkSize);
  8077. } catch (enqueueE) {
  8078. ReadableStreamDefaultControllerError(controller, enqueueE);
  8079. throw enqueueE;
  8080. }
  8081. }
  8082. ReadableStreamDefaultControllerCallPullIfNeeded(controller);
  8083. }
  8084. function ReadableStreamDefaultControllerError(controller, e) {
  8085. var stream = controller._controlledReadableStream;
  8086. if (stream._state !== 'readable') {
  8087. return;
  8088. }
  8089. ResetQueue(controller);
  8090. ReadableStreamDefaultControllerClearAlgorithms(controller);
  8091. ReadableStreamError(stream, e);
  8092. }
  8093. function ReadableStreamDefaultControllerGetDesiredSize(controller) {
  8094. var state = controller._controlledReadableStream._state;
  8095. if (state === 'errored') {
  8096. return null;
  8097. }
  8098. if (state === 'closed') {
  8099. return 0;
  8100. }
  8101. return controller._strategyHWM - controller._queueTotalSize;
  8102. }
  8103. function ReadableStreamDefaultControllerHasBackpressure(controller) {
  8104. if (ReadableStreamDefaultControllerShouldCallPull(controller)) {
  8105. return false;
  8106. }
  8107. return true;
  8108. }
  8109. function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {
  8110. var state = controller._controlledReadableStream._state;
  8111. if (!controller._closeRequested && state === 'readable') {
  8112. return true;
  8113. }
  8114. return false;
  8115. }
  8116. function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
  8117. controller._controlledReadableStream = stream;
  8118. controller._queue = undefined;
  8119. controller._queueTotalSize = undefined;
  8120. ResetQueue(controller);
  8121. controller._started = false;
  8122. controller._closeRequested = false;
  8123. controller._pullAgain = false;
  8124. controller._pulling = false;
  8125. controller._strategySizeAlgorithm = sizeAlgorithm;
  8126. controller._strategyHWM = highWaterMark;
  8127. controller._pullAlgorithm = pullAlgorithm;
  8128. controller._cancelAlgorithm = cancelAlgorithm;
  8129. stream._readableStreamController = controller;
  8130. var startResult = startAlgorithm();
  8131. uponPromise(promiseResolvedWith(startResult), function () {
  8132. controller._started = true;
  8133. ReadableStreamDefaultControllerCallPullIfNeeded(controller);
  8134. }, function (r) {
  8135. ReadableStreamDefaultControllerError(controller, r);
  8136. });
  8137. }
  8138. function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {
  8139. var controller = Object.create(ReadableStreamDefaultController.prototype);
  8140. var startAlgorithm = function () {
  8141. return undefined;
  8142. };
  8143. var pullAlgorithm = function () {
  8144. return promiseResolvedWith(undefined);
  8145. };
  8146. var cancelAlgorithm = function () {
  8147. return promiseResolvedWith(undefined);
  8148. };
  8149. if (underlyingSource.start !== undefined) {
  8150. startAlgorithm = function () {
  8151. return underlyingSource.start(controller);
  8152. };
  8153. }
  8154. if (underlyingSource.pull !== undefined) {
  8155. pullAlgorithm = function () {
  8156. return underlyingSource.pull(controller);
  8157. };
  8158. }
  8159. if (underlyingSource.cancel !== undefined) {
  8160. cancelAlgorithm = function (reason) {
  8161. return underlyingSource.cancel(reason);
  8162. };
  8163. }
  8164. SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
  8165. }
  8166. function defaultControllerBrandCheckException$1(name) {
  8167. return new TypeError("ReadableStreamDefaultController.prototype." + name + " can only be used on a ReadableStreamDefaultController");
  8168. }
  8169. function ReadableStreamTee(stream, cloneForBranch2) {
  8170. if (IsReadableByteStreamController(stream._readableStreamController)) {
  8171. return ReadableByteStreamTee(stream);
  8172. }
  8173. return ReadableStreamDefaultTee(stream);
  8174. }
  8175. function ReadableStreamDefaultTee(stream, cloneForBranch2) {
  8176. var reader = AcquireReadableStreamDefaultReader(stream);
  8177. var reading = false;
  8178. var readAgain = false;
  8179. var canceled1 = false;
  8180. var canceled2 = false;
  8181. var reason1;
  8182. var reason2;
  8183. var branch1;
  8184. var branch2;
  8185. var resolveCancelPromise;
  8186. var cancelPromise = newPromise(function (resolve) {
  8187. resolveCancelPromise = resolve;
  8188. });
  8189. function pullAlgorithm() {
  8190. if (reading) {
  8191. readAgain = true;
  8192. return promiseResolvedWith(undefined);
  8193. }
  8194. reading = true;
  8195. var readRequest = {
  8196. _chunkSteps: function (chunk) {
  8197. queueMicrotask(function () {
  8198. readAgain = false;
  8199. var chunk1 = chunk;
  8200. var chunk2 = chunk;
  8201. if (!canceled1) {
  8202. ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, chunk1);
  8203. }
  8204. if (!canceled2) {
  8205. ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, chunk2);
  8206. }
  8207. reading = false;
  8208. if (readAgain) {
  8209. pullAlgorithm();
  8210. }
  8211. });
  8212. },
  8213. _closeSteps: function () {
  8214. reading = false;
  8215. if (!canceled1) {
  8216. ReadableStreamDefaultControllerClose(branch1._readableStreamController);
  8217. }
  8218. if (!canceled2) {
  8219. ReadableStreamDefaultControllerClose(branch2._readableStreamController);
  8220. }
  8221. if (!canceled1 || !canceled2) {
  8222. resolveCancelPromise(undefined);
  8223. }
  8224. },
  8225. _errorSteps: function () {
  8226. reading = false;
  8227. }
  8228. };
  8229. ReadableStreamDefaultReaderRead(reader, readRequest);
  8230. return promiseResolvedWith(undefined);
  8231. }
  8232. function cancel1Algorithm(reason) {
  8233. canceled1 = true;
  8234. reason1 = reason;
  8235. if (canceled2) {
  8236. var compositeReason = CreateArrayFromList([
  8237. reason1,
  8238. reason2
  8239. ]);
  8240. var cancelResult = ReadableStreamCancel(stream, compositeReason);
  8241. resolveCancelPromise(cancelResult);
  8242. }
  8243. return cancelPromise;
  8244. }
  8245. function cancel2Algorithm(reason) {
  8246. canceled2 = true;
  8247. reason2 = reason;
  8248. if (canceled1) {
  8249. var compositeReason = CreateArrayFromList([
  8250. reason1,
  8251. reason2
  8252. ]);
  8253. var cancelResult = ReadableStreamCancel(stream, compositeReason);
  8254. resolveCancelPromise(cancelResult);
  8255. }
  8256. return cancelPromise;
  8257. }
  8258. function startAlgorithm() {
  8259. }
  8260. branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);
  8261. branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);
  8262. uponRejection(reader._closedPromise, function (r) {
  8263. ReadableStreamDefaultControllerError(branch1._readableStreamController, r);
  8264. ReadableStreamDefaultControllerError(branch2._readableStreamController, r);
  8265. if (!canceled1 || !canceled2) {
  8266. resolveCancelPromise(undefined);
  8267. }
  8268. });
  8269. return [
  8270. branch1,
  8271. branch2
  8272. ];
  8273. }
  8274. function ReadableByteStreamTee(stream) {
  8275. var reader = AcquireReadableStreamDefaultReader(stream);
  8276. var reading = false;
  8277. var readAgainForBranch1 = false;
  8278. var readAgainForBranch2 = false;
  8279. var canceled1 = false;
  8280. var canceled2 = false;
  8281. var reason1;
  8282. var reason2;
  8283. var branch1;
  8284. var branch2;
  8285. var resolveCancelPromise;
  8286. var cancelPromise = newPromise(function (resolve) {
  8287. resolveCancelPromise = resolve;
  8288. });
  8289. function forwardReaderError(thisReader) {
  8290. uponRejection(thisReader._closedPromise, function (r) {
  8291. if (thisReader !== reader) {
  8292. return;
  8293. }
  8294. ReadableByteStreamControllerError(branch1._readableStreamController, r);
  8295. ReadableByteStreamControllerError(branch2._readableStreamController, r);
  8296. if (!canceled1 || !canceled2) {
  8297. resolveCancelPromise(undefined);
  8298. }
  8299. });
  8300. }
  8301. function pullWithDefaultReader() {
  8302. if (IsReadableStreamBYOBReader(reader)) {
  8303. ReadableStreamReaderGenericRelease(reader);
  8304. reader = AcquireReadableStreamDefaultReader(stream);
  8305. forwardReaderError(reader);
  8306. }
  8307. var readRequest = {
  8308. _chunkSteps: function (chunk) {
  8309. queueMicrotask(function () {
  8310. readAgainForBranch1 = false;
  8311. readAgainForBranch2 = false;
  8312. var chunk1 = chunk;
  8313. var chunk2 = chunk;
  8314. if (!canceled1 && !canceled2) {
  8315. try {
  8316. chunk2 = CloneAsUint8Array(chunk);
  8317. } catch (cloneE) {
  8318. ReadableByteStreamControllerError(branch1._readableStreamController, cloneE);
  8319. ReadableByteStreamControllerError(branch2._readableStreamController, cloneE);
  8320. resolveCancelPromise(ReadableStreamCancel(stream, cloneE));
  8321. return;
  8322. }
  8323. }
  8324. if (!canceled1) {
  8325. ReadableByteStreamControllerEnqueue(branch1._readableStreamController, chunk1);
  8326. }
  8327. if (!canceled2) {
  8328. ReadableByteStreamControllerEnqueue(branch2._readableStreamController, chunk2);
  8329. }
  8330. reading = false;
  8331. if (readAgainForBranch1) {
  8332. pull1Algorithm();
  8333. } else if (readAgainForBranch2) {
  8334. pull2Algorithm();
  8335. }
  8336. });
  8337. },
  8338. _closeSteps: function () {
  8339. reading = false;
  8340. if (!canceled1) {
  8341. ReadableByteStreamControllerClose(branch1._readableStreamController);
  8342. }
  8343. if (!canceled2) {
  8344. ReadableByteStreamControllerClose(branch2._readableStreamController);
  8345. }
  8346. if (branch1._readableStreamController._pendingPullIntos.length > 0) {
  8347. ReadableByteStreamControllerRespond(branch1._readableStreamController, 0);
  8348. }
  8349. if (branch2._readableStreamController._pendingPullIntos.length > 0) {
  8350. ReadableByteStreamControllerRespond(branch2._readableStreamController, 0);
  8351. }
  8352. if (!canceled1 || !canceled2) {
  8353. resolveCancelPromise(undefined);
  8354. }
  8355. },
  8356. _errorSteps: function () {
  8357. reading = false;
  8358. }
  8359. };
  8360. ReadableStreamDefaultReaderRead(reader, readRequest);
  8361. }
  8362. function pullWithBYOBReader(view, forBranch2) {
  8363. if (IsReadableStreamDefaultReader(reader)) {
  8364. ReadableStreamReaderGenericRelease(reader);
  8365. reader = AcquireReadableStreamBYOBReader(stream);
  8366. forwardReaderError(reader);
  8367. }
  8368. var byobBranch = forBranch2 ? branch2 : branch1;
  8369. var otherBranch = forBranch2 ? branch1 : branch2;
  8370. var readIntoRequest = {
  8371. _chunkSteps: function (chunk) {
  8372. queueMicrotask(function () {
  8373. readAgainForBranch1 = false;
  8374. readAgainForBranch2 = false;
  8375. var byobCanceled = forBranch2 ? canceled2 : canceled1;
  8376. var otherCanceled = forBranch2 ? canceled1 : canceled2;
  8377. if (!otherCanceled) {
  8378. var clonedChunk = void 0;
  8379. try {
  8380. clonedChunk = CloneAsUint8Array(chunk);
  8381. } catch (cloneE) {
  8382. ReadableByteStreamControllerError(byobBranch._readableStreamController, cloneE);
  8383. ReadableByteStreamControllerError(otherBranch._readableStreamController, cloneE);
  8384. resolveCancelPromise(ReadableStreamCancel(stream, cloneE));
  8385. return;
  8386. }
  8387. if (!byobCanceled) {
  8388. ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);
  8389. }
  8390. ReadableByteStreamControllerEnqueue(otherBranch._readableStreamController, clonedChunk);
  8391. } else if (!byobCanceled) {
  8392. ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);
  8393. }
  8394. reading = false;
  8395. if (readAgainForBranch1) {
  8396. pull1Algorithm();
  8397. } else if (readAgainForBranch2) {
  8398. pull2Algorithm();
  8399. }
  8400. });
  8401. },
  8402. _closeSteps: function (chunk) {
  8403. reading = false;
  8404. var byobCanceled = forBranch2 ? canceled2 : canceled1;
  8405. var otherCanceled = forBranch2 ? canceled1 : canceled2;
  8406. if (!byobCanceled) {
  8407. ReadableByteStreamControllerClose(byobBranch._readableStreamController);
  8408. }
  8409. if (!otherCanceled) {
  8410. ReadableByteStreamControllerClose(otherBranch._readableStreamController);
  8411. }
  8412. if (chunk !== undefined) {
  8413. if (!byobCanceled) {
  8414. ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);
  8415. }
  8416. if (!otherCanceled && otherBranch._readableStreamController._pendingPullIntos.length > 0) {
  8417. ReadableByteStreamControllerRespond(otherBranch._readableStreamController, 0);
  8418. }
  8419. }
  8420. if (!byobCanceled || !otherCanceled) {
  8421. resolveCancelPromise(undefined);
  8422. }
  8423. },
  8424. _errorSteps: function () {
  8425. reading = false;
  8426. }
  8427. };
  8428. ReadableStreamBYOBReaderRead(reader, view, readIntoRequest);
  8429. }
  8430. function pull1Algorithm() {
  8431. if (reading) {
  8432. readAgainForBranch1 = true;
  8433. return promiseResolvedWith(undefined);
  8434. }
  8435. reading = true;
  8436. var byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch1._readableStreamController);
  8437. if (byobRequest === null) {
  8438. pullWithDefaultReader();
  8439. } else {
  8440. pullWithBYOBReader(byobRequest._view, false);
  8441. }
  8442. return promiseResolvedWith(undefined);
  8443. }
  8444. function pull2Algorithm() {
  8445. if (reading) {
  8446. readAgainForBranch2 = true;
  8447. return promiseResolvedWith(undefined);
  8448. }
  8449. reading = true;
  8450. var byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch2._readableStreamController);
  8451. if (byobRequest === null) {
  8452. pullWithDefaultReader();
  8453. } else {
  8454. pullWithBYOBReader(byobRequest._view, true);
  8455. }
  8456. return promiseResolvedWith(undefined);
  8457. }
  8458. function cancel1Algorithm(reason) {
  8459. canceled1 = true;
  8460. reason1 = reason;
  8461. if (canceled2) {
  8462. var compositeReason = CreateArrayFromList([
  8463. reason1,
  8464. reason2
  8465. ]);
  8466. var cancelResult = ReadableStreamCancel(stream, compositeReason);
  8467. resolveCancelPromise(cancelResult);
  8468. }
  8469. return cancelPromise;
  8470. }
  8471. function cancel2Algorithm(reason) {
  8472. canceled2 = true;
  8473. reason2 = reason;
  8474. if (canceled1) {
  8475. var compositeReason = CreateArrayFromList([
  8476. reason1,
  8477. reason2
  8478. ]);
  8479. var cancelResult = ReadableStreamCancel(stream, compositeReason);
  8480. resolveCancelPromise(cancelResult);
  8481. }
  8482. return cancelPromise;
  8483. }
  8484. function startAlgorithm() {
  8485. }
  8486. branch1 = CreateReadableByteStream(startAlgorithm, pull1Algorithm, cancel1Algorithm);
  8487. branch2 = CreateReadableByteStream(startAlgorithm, pull2Algorithm, cancel2Algorithm);
  8488. forwardReaderError(reader);
  8489. return [
  8490. branch1,
  8491. branch2
  8492. ];
  8493. }
  8494. function convertUnderlyingDefaultOrByteSource(source, context) {
  8495. assertDictionary(source, context);
  8496. var original = source;
  8497. var autoAllocateChunkSize = original === null || original === void 0 ? void 0 : original.autoAllocateChunkSize;
  8498. var cancel = original === null || original === void 0 ? void 0 : original.cancel;
  8499. var pull = original === null || original === void 0 ? void 0 : original.pull;
  8500. var start = original === null || original === void 0 ? void 0 : original.start;
  8501. var type = original === null || original === void 0 ? void 0 : original.type;
  8502. return {
  8503. autoAllocateChunkSize: autoAllocateChunkSize === undefined ? undefined : convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize, context + " has member 'autoAllocateChunkSize' that"),
  8504. cancel: cancel === undefined ? undefined : convertUnderlyingSourceCancelCallback(cancel, original, context + " has member 'cancel' that"),
  8505. pull: pull === undefined ? undefined : convertUnderlyingSourcePullCallback(pull, original, context + " has member 'pull' that"),
  8506. start: start === undefined ? undefined : convertUnderlyingSourceStartCallback(start, original, context + " has member 'start' that"),
  8507. type: type === undefined ? undefined : convertReadableStreamType(type, context + " has member 'type' that")
  8508. };
  8509. }
  8510. function convertUnderlyingSourceCancelCallback(fn, original, context) {
  8511. assertFunction(fn, context);
  8512. return function (reason) {
  8513. return promiseCall(fn, original, [reason]);
  8514. };
  8515. }
  8516. function convertUnderlyingSourcePullCallback(fn, original, context) {
  8517. assertFunction(fn, context);
  8518. return function (controller) {
  8519. return promiseCall(fn, original, [controller]);
  8520. };
  8521. }
  8522. function convertUnderlyingSourceStartCallback(fn, original, context) {
  8523. assertFunction(fn, context);
  8524. return function (controller) {
  8525. return reflectCall(fn, original, [controller]);
  8526. };
  8527. }
  8528. function convertReadableStreamType(type, context) {
  8529. type = "" + type;
  8530. if (type !== 'bytes') {
  8531. throw new TypeError(context + " '" + type + "' is not a valid enumeration value for ReadableStreamType");
  8532. }
  8533. return type;
  8534. }
  8535. function convertReaderOptions(options, context) {
  8536. assertDictionary(options, context);
  8537. var mode = options === null || options === void 0 ? void 0 : options.mode;
  8538. return { mode: mode === undefined ? undefined : convertReadableStreamReaderMode(mode, context + " has member 'mode' that") };
  8539. }
  8540. function convertReadableStreamReaderMode(mode, context) {
  8541. mode = "" + mode;
  8542. if (mode !== 'byob') {
  8543. throw new TypeError(context + " '" + mode + "' is not a valid enumeration value for ReadableStreamReaderMode");
  8544. }
  8545. return mode;
  8546. }
  8547. function convertIteratorOptions(options, context) {
  8548. assertDictionary(options, context);
  8549. var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel;
  8550. return { preventCancel: Boolean(preventCancel) };
  8551. }
  8552. function convertPipeOptions(options, context) {
  8553. assertDictionary(options, context);
  8554. var preventAbort = options === null || options === void 0 ? void 0 : options.preventAbort;
  8555. var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel;
  8556. var preventClose = options === null || options === void 0 ? void 0 : options.preventClose;
  8557. var signal = options === null || options === void 0 ? void 0 : options.signal;
  8558. if (signal !== undefined) {
  8559. assertAbortSignal(signal, context + " has member 'signal' that");
  8560. }
  8561. return {
  8562. preventAbort: Boolean(preventAbort),
  8563. preventCancel: Boolean(preventCancel),
  8564. preventClose: Boolean(preventClose),
  8565. signal: signal
  8566. };
  8567. }
  8568. function assertAbortSignal(signal, context) {
  8569. if (!isAbortSignal(signal)) {
  8570. throw new TypeError(context + " is not an AbortSignal.");
  8571. }
  8572. }
  8573. function convertReadableWritablePair(pair, context) {
  8574. assertDictionary(pair, context);
  8575. var readable = pair === null || pair === void 0 ? void 0 : pair.readable;
  8576. assertRequiredField(readable, 'readable', 'ReadableWritablePair');
  8577. assertReadableStream(readable, context + " has member 'readable' that");
  8578. var writable = pair === null || pair === void 0 ? void 0 : pair.writable;
  8579. assertRequiredField(writable, 'writable', 'ReadableWritablePair');
  8580. assertWritableStream(writable, context + " has member 'writable' that");
  8581. return {
  8582. readable: readable,
  8583. writable: writable
  8584. };
  8585. }
  8586. var ReadableStream = (function () {
  8587. function ReadableStream(rawUnderlyingSource, rawStrategy) {
  8588. if (rawUnderlyingSource === void 0) {
  8589. rawUnderlyingSource = {};
  8590. }
  8591. if (rawStrategy === void 0) {
  8592. rawStrategy = {};
  8593. }
  8594. if (rawUnderlyingSource === undefined) {
  8595. rawUnderlyingSource = null;
  8596. } else {
  8597. assertObject(rawUnderlyingSource, 'First parameter');
  8598. }
  8599. var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');
  8600. var underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, 'First parameter');
  8601. InitializeReadableStream(this);
  8602. if (underlyingSource.type === 'bytes') {
  8603. if (strategy.size !== undefined) {
  8604. throw new RangeError('The strategy for a byte stream cannot have a size function');
  8605. }
  8606. var highWaterMark = ExtractHighWaterMark(strategy, 0);
  8607. SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);
  8608. } else {
  8609. var sizeAlgorithm = ExtractSizeAlgorithm(strategy);
  8610. var highWaterMark = ExtractHighWaterMark(strategy, 1);
  8611. SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);
  8612. }
  8613. }
  8614. Object.defineProperty(ReadableStream.prototype, "locked", {
  8615. get: function () {
  8616. if (!IsReadableStream(this)) {
  8617. throw streamBrandCheckException$1('locked');
  8618. }
  8619. return IsReadableStreamLocked(this);
  8620. },
  8621. enumerable: false,
  8622. configurable: true
  8623. });
  8624. ReadableStream.prototype.cancel = function (reason) {
  8625. if (reason === void 0) {
  8626. reason = undefined;
  8627. }
  8628. if (!IsReadableStream(this)) {
  8629. return promiseRejectedWith(streamBrandCheckException$1('cancel'));
  8630. }
  8631. if (IsReadableStreamLocked(this)) {
  8632. return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));
  8633. }
  8634. return ReadableStreamCancel(this, reason);
  8635. };
  8636. ReadableStream.prototype.getReader = function (rawOptions) {
  8637. if (rawOptions === void 0) {
  8638. rawOptions = undefined;
  8639. }
  8640. if (!IsReadableStream(this)) {
  8641. throw streamBrandCheckException$1('getReader');
  8642. }
  8643. var options = convertReaderOptions(rawOptions, 'First parameter');
  8644. if (options.mode === undefined) {
  8645. return AcquireReadableStreamDefaultReader(this);
  8646. }
  8647. return AcquireReadableStreamBYOBReader(this);
  8648. };
  8649. ReadableStream.prototype.pipeThrough = function (rawTransform, rawOptions) {
  8650. if (rawOptions === void 0) {
  8651. rawOptions = {};
  8652. }
  8653. if (!IsReadableStream(this)) {
  8654. throw streamBrandCheckException$1('pipeThrough');
  8655. }
  8656. assertRequiredArgument(rawTransform, 1, 'pipeThrough');
  8657. var transform = convertReadableWritablePair(rawTransform, 'First parameter');
  8658. var options = convertPipeOptions(rawOptions, 'Second parameter');
  8659. if (IsReadableStreamLocked(this)) {
  8660. throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');
  8661. }
  8662. if (IsWritableStreamLocked(transform.writable)) {
  8663. throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');
  8664. }
  8665. var promise = ReadableStreamPipeTo(this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal);
  8666. setPromiseIsHandledToTrue(promise);
  8667. return transform.readable;
  8668. };
  8669. ReadableStream.prototype.pipeTo = function (destination, rawOptions) {
  8670. if (rawOptions === void 0) {
  8671. rawOptions = {};
  8672. }
  8673. if (!IsReadableStream(this)) {
  8674. return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));
  8675. }
  8676. if (destination === undefined) {
  8677. return promiseRejectedWith("Parameter 1 is required in 'pipeTo'.");
  8678. }
  8679. if (!IsWritableStream(destination)) {
  8680. return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));
  8681. }
  8682. var options;
  8683. try {
  8684. options = convertPipeOptions(rawOptions, 'Second parameter');
  8685. } catch (e) {
  8686. return promiseRejectedWith(e);
  8687. }
  8688. if (IsReadableStreamLocked(this)) {
  8689. return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));
  8690. }
  8691. if (IsWritableStreamLocked(destination)) {
  8692. return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));
  8693. }
  8694. return ReadableStreamPipeTo(this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal);
  8695. };
  8696. ReadableStream.prototype.tee = function () {
  8697. if (!IsReadableStream(this)) {
  8698. throw streamBrandCheckException$1('tee');
  8699. }
  8700. var branches = ReadableStreamTee(this);
  8701. return CreateArrayFromList(branches);
  8702. };
  8703. ReadableStream.prototype.values = function (rawOptions) {
  8704. if (rawOptions === void 0) {
  8705. rawOptions = undefined;
  8706. }
  8707. if (!IsReadableStream(this)) {
  8708. throw streamBrandCheckException$1('values');
  8709. }
  8710. var options = convertIteratorOptions(rawOptions, 'First parameter');
  8711. return AcquireReadableStreamAsyncIterator(this, options.preventCancel);
  8712. };
  8713. return ReadableStream;
  8714. }());
  8715. Object.defineProperties(ReadableStream.prototype, {
  8716. cancel: { enumerable: true },
  8717. getReader: { enumerable: true },
  8718. pipeThrough: { enumerable: true },
  8719. pipeTo: { enumerable: true },
  8720. tee: { enumerable: true },
  8721. values: { enumerable: true },
  8722. locked: { enumerable: true }
  8723. });
  8724. if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  8725. Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.toStringTag, {
  8726. value: 'ReadableStream',
  8727. configurable: true
  8728. });
  8729. }
  8730. if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
  8731. Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {
  8732. value: ReadableStream.prototype.values,
  8733. writable: true,
  8734. configurable: true
  8735. });
  8736. }
  8737. function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
  8738. if (highWaterMark === void 0) {
  8739. highWaterMark = 1;
  8740. }
  8741. if (sizeAlgorithm === void 0) {
  8742. sizeAlgorithm = function () {
  8743. return 1;
  8744. };
  8745. }
  8746. var stream = Object.create(ReadableStream.prototype);
  8747. InitializeReadableStream(stream);
  8748. var controller = Object.create(ReadableStreamDefaultController.prototype);
  8749. SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
  8750. return stream;
  8751. }
  8752. function CreateReadableByteStream(startAlgorithm, pullAlgorithm, cancelAlgorithm) {
  8753. var stream = Object.create(ReadableStream.prototype);
  8754. InitializeReadableStream(stream);
  8755. var controller = Object.create(ReadableByteStreamController.prototype);
  8756. SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 0, undefined);
  8757. return stream;
  8758. }
  8759. function InitializeReadableStream(stream) {
  8760. stream._state = 'readable';
  8761. stream._reader = undefined;
  8762. stream._storedError = undefined;
  8763. stream._disturbed = false;
  8764. }
  8765. function IsReadableStream(x) {
  8766. if (!typeIsObject(x)) {
  8767. return false;
  8768. }
  8769. if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {
  8770. return false;
  8771. }
  8772. return x instanceof ReadableStream;
  8773. }
  8774. function IsReadableStreamLocked(stream) {
  8775. if (stream._reader === undefined) {
  8776. return false;
  8777. }
  8778. return true;
  8779. }
  8780. function ReadableStreamCancel(stream, reason) {
  8781. stream._disturbed = true;
  8782. if (stream._state === 'closed') {
  8783. return promiseResolvedWith(undefined);
  8784. }
  8785. if (stream._state === 'errored') {
  8786. return promiseRejectedWith(stream._storedError);
  8787. }
  8788. ReadableStreamClose(stream);
  8789. var reader = stream._reader;
  8790. if (reader !== undefined && IsReadableStreamBYOBReader(reader)) {
  8791. reader._readIntoRequests.forEach(function (readIntoRequest) {
  8792. readIntoRequest._closeSteps(undefined);
  8793. });
  8794. reader._readIntoRequests = new SimpleQueue();
  8795. }
  8796. var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);
  8797. return transformPromiseWith(sourceCancelPromise, noop);
  8798. }
  8799. function ReadableStreamClose(stream) {
  8800. stream._state = 'closed';
  8801. var reader = stream._reader;
  8802. if (reader === undefined) {
  8803. return;
  8804. }
  8805. defaultReaderClosedPromiseResolve(reader);
  8806. if (IsReadableStreamDefaultReader(reader)) {
  8807. reader._readRequests.forEach(function (readRequest) {
  8808. readRequest._closeSteps();
  8809. });
  8810. reader._readRequests = new SimpleQueue();
  8811. }
  8812. }
  8813. function ReadableStreamError(stream, e) {
  8814. stream._state = 'errored';
  8815. stream._storedError = e;
  8816. var reader = stream._reader;
  8817. if (reader === undefined) {
  8818. return;
  8819. }
  8820. defaultReaderClosedPromiseReject(reader, e);
  8821. if (IsReadableStreamDefaultReader(reader)) {
  8822. reader._readRequests.forEach(function (readRequest) {
  8823. readRequest._errorSteps(e);
  8824. });
  8825. reader._readRequests = new SimpleQueue();
  8826. } else {
  8827. reader._readIntoRequests.forEach(function (readIntoRequest) {
  8828. readIntoRequest._errorSteps(e);
  8829. });
  8830. reader._readIntoRequests = new SimpleQueue();
  8831. }
  8832. }
  8833. function streamBrandCheckException$1(name) {
  8834. return new TypeError("ReadableStream.prototype." + name + " can only be used on a ReadableStream");
  8835. }
  8836. function convertQueuingStrategyInit(init, context) {
  8837. assertDictionary(init, context);
  8838. var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark;
  8839. assertRequiredField(highWaterMark, 'highWaterMark', 'QueuingStrategyInit');
  8840. return { highWaterMark: convertUnrestrictedDouble(highWaterMark) };
  8841. }
  8842. var byteLengthSizeFunction = function (chunk) {
  8843. return chunk.byteLength;
  8844. };
  8845. Object.defineProperty(byteLengthSizeFunction, 'name', {
  8846. value: 'size',
  8847. configurable: true
  8848. });
  8849. var ByteLengthQueuingStrategy = (function () {
  8850. function ByteLengthQueuingStrategy(options) {
  8851. assertRequiredArgument(options, 1, 'ByteLengthQueuingStrategy');
  8852. options = convertQueuingStrategyInit(options, 'First parameter');
  8853. this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark;
  8854. }
  8855. Object.defineProperty(ByteLengthQueuingStrategy.prototype, "highWaterMark", {
  8856. get: function () {
  8857. if (!IsByteLengthQueuingStrategy(this)) {
  8858. throw byteLengthBrandCheckException('highWaterMark');
  8859. }
  8860. return this._byteLengthQueuingStrategyHighWaterMark;
  8861. },
  8862. enumerable: false,
  8863. configurable: true
  8864. });
  8865. Object.defineProperty(ByteLengthQueuingStrategy.prototype, "size", {
  8866. get: function () {
  8867. if (!IsByteLengthQueuingStrategy(this)) {
  8868. throw byteLengthBrandCheckException('size');
  8869. }
  8870. return byteLengthSizeFunction;
  8871. },
  8872. enumerable: false,
  8873. configurable: true
  8874. });
  8875. return ByteLengthQueuingStrategy;
  8876. }());
  8877. Object.defineProperties(ByteLengthQueuingStrategy.prototype, {
  8878. highWaterMark: { enumerable: true },
  8879. size: { enumerable: true }
  8880. });
  8881. if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  8882. Object.defineProperty(ByteLengthQueuingStrategy.prototype, SymbolPolyfill.toStringTag, {
  8883. value: 'ByteLengthQueuingStrategy',
  8884. configurable: true
  8885. });
  8886. }
  8887. function byteLengthBrandCheckException(name) {
  8888. return new TypeError("ByteLengthQueuingStrategy.prototype." + name + " can only be used on a ByteLengthQueuingStrategy");
  8889. }
  8890. function IsByteLengthQueuingStrategy(x) {
  8891. if (!typeIsObject(x)) {
  8892. return false;
  8893. }
  8894. if (!Object.prototype.hasOwnProperty.call(x, '_byteLengthQueuingStrategyHighWaterMark')) {
  8895. return false;
  8896. }
  8897. return x instanceof ByteLengthQueuingStrategy;
  8898. }
  8899. var countSizeFunction = function () {
  8900. return 1;
  8901. };
  8902. Object.defineProperty(countSizeFunction, 'name', {
  8903. value: 'size',
  8904. configurable: true
  8905. });
  8906. var CountQueuingStrategy = (function () {
  8907. function CountQueuingStrategy(options) {
  8908. assertRequiredArgument(options, 1, 'CountQueuingStrategy');
  8909. options = convertQueuingStrategyInit(options, 'First parameter');
  8910. this._countQueuingStrategyHighWaterMark = options.highWaterMark;
  8911. }
  8912. Object.defineProperty(CountQueuingStrategy.prototype, "highWaterMark", {
  8913. get: function () {
  8914. if (!IsCountQueuingStrategy(this)) {
  8915. throw countBrandCheckException('highWaterMark');
  8916. }
  8917. return this._countQueuingStrategyHighWaterMark;
  8918. },
  8919. enumerable: false,
  8920. configurable: true
  8921. });
  8922. Object.defineProperty(CountQueuingStrategy.prototype, "size", {
  8923. get: function () {
  8924. if (!IsCountQueuingStrategy(this)) {
  8925. throw countBrandCheckException('size');
  8926. }
  8927. return countSizeFunction;
  8928. },
  8929. enumerable: false,
  8930. configurable: true
  8931. });
  8932. return CountQueuingStrategy;
  8933. }());
  8934. Object.defineProperties(CountQueuingStrategy.prototype, {
  8935. highWaterMark: { enumerable: true },
  8936. size: { enumerable: true }
  8937. });
  8938. if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  8939. Object.defineProperty(CountQueuingStrategy.prototype, SymbolPolyfill.toStringTag, {
  8940. value: 'CountQueuingStrategy',
  8941. configurable: true
  8942. });
  8943. }
  8944. function countBrandCheckException(name) {
  8945. return new TypeError("CountQueuingStrategy.prototype." + name + " can only be used on a CountQueuingStrategy");
  8946. }
  8947. function IsCountQueuingStrategy(x) {
  8948. if (!typeIsObject(x)) {
  8949. return false;
  8950. }
  8951. if (!Object.prototype.hasOwnProperty.call(x, '_countQueuingStrategyHighWaterMark')) {
  8952. return false;
  8953. }
  8954. return x instanceof CountQueuingStrategy;
  8955. }
  8956. function convertTransformer(original, context) {
  8957. assertDictionary(original, context);
  8958. var flush = original === null || original === void 0 ? void 0 : original.flush;
  8959. var readableType = original === null || original === void 0 ? void 0 : original.readableType;
  8960. var start = original === null || original === void 0 ? void 0 : original.start;
  8961. var transform = original === null || original === void 0 ? void 0 : original.transform;
  8962. var writableType = original === null || original === void 0 ? void 0 : original.writableType;
  8963. return {
  8964. flush: flush === undefined ? undefined : convertTransformerFlushCallback(flush, original, context + " has member 'flush' that"),
  8965. readableType: readableType,
  8966. start: start === undefined ? undefined : convertTransformerStartCallback(start, original, context + " has member 'start' that"),
  8967. transform: transform === undefined ? undefined : convertTransformerTransformCallback(transform, original, context + " has member 'transform' that"),
  8968. writableType: writableType
  8969. };
  8970. }
  8971. function convertTransformerFlushCallback(fn, original, context) {
  8972. assertFunction(fn, context);
  8973. return function (controller) {
  8974. return promiseCall(fn, original, [controller]);
  8975. };
  8976. }
  8977. function convertTransformerStartCallback(fn, original, context) {
  8978. assertFunction(fn, context);
  8979. return function (controller) {
  8980. return reflectCall(fn, original, [controller]);
  8981. };
  8982. }
  8983. function convertTransformerTransformCallback(fn, original, context) {
  8984. assertFunction(fn, context);
  8985. return function (chunk, controller) {
  8986. return promiseCall(fn, original, [
  8987. chunk,
  8988. controller
  8989. ]);
  8990. };
  8991. }
  8992. var TransformStream = (function () {
  8993. function TransformStream(rawTransformer, rawWritableStrategy, rawReadableStrategy) {
  8994. if (rawTransformer === void 0) {
  8995. rawTransformer = {};
  8996. }
  8997. if (rawWritableStrategy === void 0) {
  8998. rawWritableStrategy = {};
  8999. }
  9000. if (rawReadableStrategy === void 0) {
  9001. rawReadableStrategy = {};
  9002. }
  9003. if (rawTransformer === undefined) {
  9004. rawTransformer = null;
  9005. }
  9006. var writableStrategy = convertQueuingStrategy(rawWritableStrategy, 'Second parameter');
  9007. var readableStrategy = convertQueuingStrategy(rawReadableStrategy, 'Third parameter');
  9008. var transformer = convertTransformer(rawTransformer, 'First parameter');
  9009. if (transformer.readableType !== undefined) {
  9010. throw new RangeError('Invalid readableType specified');
  9011. }
  9012. if (transformer.writableType !== undefined) {
  9013. throw new RangeError('Invalid writableType specified');
  9014. }
  9015. var readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0);
  9016. var readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy);
  9017. var writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1);
  9018. var writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy);
  9019. var startPromise_resolve;
  9020. var startPromise = newPromise(function (resolve) {
  9021. startPromise_resolve = resolve;
  9022. });
  9023. InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
  9024. SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
  9025. if (transformer.start !== undefined) {
  9026. startPromise_resolve(transformer.start(this._transformStreamController));
  9027. } else {
  9028. startPromise_resolve(undefined);
  9029. }
  9030. }
  9031. Object.defineProperty(TransformStream.prototype, "readable", {
  9032. get: function () {
  9033. if (!IsTransformStream(this)) {
  9034. throw streamBrandCheckException('readable');
  9035. }
  9036. return this._readable;
  9037. },
  9038. enumerable: false,
  9039. configurable: true
  9040. });
  9041. Object.defineProperty(TransformStream.prototype, "writable", {
  9042. get: function () {
  9043. if (!IsTransformStream(this)) {
  9044. throw streamBrandCheckException('writable');
  9045. }
  9046. return this._writable;
  9047. },
  9048. enumerable: false,
  9049. configurable: true
  9050. });
  9051. return TransformStream;
  9052. }());
  9053. Object.defineProperties(TransformStream.prototype, {
  9054. readable: { enumerable: true },
  9055. writable: { enumerable: true }
  9056. });
  9057. if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  9058. Object.defineProperty(TransformStream.prototype, SymbolPolyfill.toStringTag, {
  9059. value: 'TransformStream',
  9060. configurable: true
  9061. });
  9062. }
  9063. function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {
  9064. function startAlgorithm() {
  9065. return startPromise;
  9066. }
  9067. function writeAlgorithm(chunk) {
  9068. return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);
  9069. }
  9070. function abortAlgorithm(reason) {
  9071. return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);
  9072. }
  9073. function closeAlgorithm() {
  9074. return TransformStreamDefaultSinkCloseAlgorithm(stream);
  9075. }
  9076. stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);
  9077. function pullAlgorithm() {
  9078. return TransformStreamDefaultSourcePullAlgorithm(stream);
  9079. }
  9080. function cancelAlgorithm(reason) {
  9081. TransformStreamErrorWritableAndUnblockWrite(stream, reason);
  9082. return promiseResolvedWith(undefined);
  9083. }
  9084. stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
  9085. stream._backpressure = undefined;
  9086. stream._backpressureChangePromise = undefined;
  9087. stream._backpressureChangePromise_resolve = undefined;
  9088. TransformStreamSetBackpressure(stream, true);
  9089. stream._transformStreamController = undefined;
  9090. }
  9091. function IsTransformStream(x) {
  9092. if (!typeIsObject(x)) {
  9093. return false;
  9094. }
  9095. if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {
  9096. return false;
  9097. }
  9098. return x instanceof TransformStream;
  9099. }
  9100. function TransformStreamError(stream, e) {
  9101. ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);
  9102. TransformStreamErrorWritableAndUnblockWrite(stream, e);
  9103. }
  9104. function TransformStreamErrorWritableAndUnblockWrite(stream, e) {
  9105. TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);
  9106. WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);
  9107. if (stream._backpressure) {
  9108. TransformStreamSetBackpressure(stream, false);
  9109. }
  9110. }
  9111. function TransformStreamSetBackpressure(stream, backpressure) {
  9112. if (stream._backpressureChangePromise !== undefined) {
  9113. stream._backpressureChangePromise_resolve();
  9114. }
  9115. stream._backpressureChangePromise = newPromise(function (resolve) {
  9116. stream._backpressureChangePromise_resolve = resolve;
  9117. });
  9118. stream._backpressure = backpressure;
  9119. }
  9120. var TransformStreamDefaultController = (function () {
  9121. function TransformStreamDefaultController() {
  9122. throw new TypeError('Illegal constructor');
  9123. }
  9124. Object.defineProperty(TransformStreamDefaultController.prototype, "desiredSize", {
  9125. get: function () {
  9126. if (!IsTransformStreamDefaultController(this)) {
  9127. throw defaultControllerBrandCheckException('desiredSize');
  9128. }
  9129. var readableController = this._controlledTransformStream._readable._readableStreamController;
  9130. return ReadableStreamDefaultControllerGetDesiredSize(readableController);
  9131. },
  9132. enumerable: false,
  9133. configurable: true
  9134. });
  9135. TransformStreamDefaultController.prototype.enqueue = function (chunk) {
  9136. if (chunk === void 0) {
  9137. chunk = undefined;
  9138. }
  9139. if (!IsTransformStreamDefaultController(this)) {
  9140. throw defaultControllerBrandCheckException('enqueue');
  9141. }
  9142. TransformStreamDefaultControllerEnqueue(this, chunk);
  9143. };
  9144. TransformStreamDefaultController.prototype.error = function (reason) {
  9145. if (reason === void 0) {
  9146. reason = undefined;
  9147. }
  9148. if (!IsTransformStreamDefaultController(this)) {
  9149. throw defaultControllerBrandCheckException('error');
  9150. }
  9151. TransformStreamDefaultControllerError(this, reason);
  9152. };
  9153. TransformStreamDefaultController.prototype.terminate = function () {
  9154. if (!IsTransformStreamDefaultController(this)) {
  9155. throw defaultControllerBrandCheckException('terminate');
  9156. }
  9157. TransformStreamDefaultControllerTerminate(this);
  9158. };
  9159. return TransformStreamDefaultController;
  9160. }());
  9161. Object.defineProperties(TransformStreamDefaultController.prototype, {
  9162. enqueue: { enumerable: true },
  9163. error: { enumerable: true },
  9164. terminate: { enumerable: true },
  9165. desiredSize: { enumerable: true }
  9166. });
  9167. if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  9168. Object.defineProperty(TransformStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {
  9169. value: 'TransformStreamDefaultController',
  9170. configurable: true
  9171. });
  9172. }
  9173. function IsTransformStreamDefaultController(x) {
  9174. if (!typeIsObject(x)) {
  9175. return false;
  9176. }
  9177. if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {
  9178. return false;
  9179. }
  9180. return x instanceof TransformStreamDefaultController;
  9181. }
  9182. function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {
  9183. controller._controlledTransformStream = stream;
  9184. stream._transformStreamController = controller;
  9185. controller._transformAlgorithm = transformAlgorithm;
  9186. controller._flushAlgorithm = flushAlgorithm;
  9187. }
  9188. function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {
  9189. var controller = Object.create(TransformStreamDefaultController.prototype);
  9190. var transformAlgorithm = function (chunk) {
  9191. try {
  9192. TransformStreamDefaultControllerEnqueue(controller, chunk);
  9193. return promiseResolvedWith(undefined);
  9194. } catch (transformResultE) {
  9195. return promiseRejectedWith(transformResultE);
  9196. }
  9197. };
  9198. var flushAlgorithm = function () {
  9199. return promiseResolvedWith(undefined);
  9200. };
  9201. if (transformer.transform !== undefined) {
  9202. transformAlgorithm = function (chunk) {
  9203. return transformer.transform(chunk, controller);
  9204. };
  9205. }
  9206. if (transformer.flush !== undefined) {
  9207. flushAlgorithm = function () {
  9208. return transformer.flush(controller);
  9209. };
  9210. }
  9211. SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);
  9212. }
  9213. function TransformStreamDefaultControllerClearAlgorithms(controller) {
  9214. controller._transformAlgorithm = undefined;
  9215. controller._flushAlgorithm = undefined;
  9216. }
  9217. function TransformStreamDefaultControllerEnqueue(controller, chunk) {
  9218. var stream = controller._controlledTransformStream;
  9219. var readableController = stream._readable._readableStreamController;
  9220. if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)) {
  9221. throw new TypeError('Readable side is not in a state that permits enqueue');
  9222. }
  9223. try {
  9224. ReadableStreamDefaultControllerEnqueue(readableController, chunk);
  9225. } catch (e) {
  9226. TransformStreamErrorWritableAndUnblockWrite(stream, e);
  9227. throw stream._readable._storedError;
  9228. }
  9229. var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);
  9230. if (backpressure !== stream._backpressure) {
  9231. TransformStreamSetBackpressure(stream, true);
  9232. }
  9233. }
  9234. function TransformStreamDefaultControllerError(controller, e) {
  9235. TransformStreamError(controller._controlledTransformStream, e);
  9236. }
  9237. function TransformStreamDefaultControllerPerformTransform(controller, chunk) {
  9238. var transformPromise = controller._transformAlgorithm(chunk);
  9239. return transformPromiseWith(transformPromise, undefined, function (r) {
  9240. TransformStreamError(controller._controlledTransformStream, r);
  9241. throw r;
  9242. });
  9243. }
  9244. function TransformStreamDefaultControllerTerminate(controller) {
  9245. var stream = controller._controlledTransformStream;
  9246. var readableController = stream._readable._readableStreamController;
  9247. ReadableStreamDefaultControllerClose(readableController);
  9248. var error = new TypeError('TransformStream terminated');
  9249. TransformStreamErrorWritableAndUnblockWrite(stream, error);
  9250. }
  9251. function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {
  9252. var controller = stream._transformStreamController;
  9253. if (stream._backpressure) {
  9254. var backpressureChangePromise = stream._backpressureChangePromise;
  9255. return transformPromiseWith(backpressureChangePromise, function () {
  9256. var writable = stream._writable;
  9257. var state = writable._state;
  9258. if (state === 'erroring') {
  9259. throw writable._storedError;
  9260. }
  9261. return TransformStreamDefaultControllerPerformTransform(controller, chunk);
  9262. });
  9263. }
  9264. return TransformStreamDefaultControllerPerformTransform(controller, chunk);
  9265. }
  9266. function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {
  9267. TransformStreamError(stream, reason);
  9268. return promiseResolvedWith(undefined);
  9269. }
  9270. function TransformStreamDefaultSinkCloseAlgorithm(stream) {
  9271. var readable = stream._readable;
  9272. var controller = stream._transformStreamController;
  9273. var flushPromise = controller._flushAlgorithm();
  9274. TransformStreamDefaultControllerClearAlgorithms(controller);
  9275. return transformPromiseWith(flushPromise, function () {
  9276. if (readable._state === 'errored') {
  9277. throw readable._storedError;
  9278. }
  9279. ReadableStreamDefaultControllerClose(readable._readableStreamController);
  9280. }, function (r) {
  9281. TransformStreamError(stream, r);
  9282. throw readable._storedError;
  9283. });
  9284. }
  9285. function TransformStreamDefaultSourcePullAlgorithm(stream) {
  9286. TransformStreamSetBackpressure(stream, false);
  9287. return stream._backpressureChangePromise;
  9288. }
  9289. function defaultControllerBrandCheckException(name) {
  9290. return new TypeError("TransformStreamDefaultController.prototype." + name + " can only be used on a TransformStreamDefaultController");
  9291. }
  9292. function streamBrandCheckException(name) {
  9293. return new TypeError("TransformStream.prototype." + name + " can only be used on a TransformStream");
  9294. }
  9295. exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;
  9296. exports.CountQueuingStrategy = CountQueuingStrategy;
  9297. exports.ReadableByteStreamController = ReadableByteStreamController;
  9298. exports.ReadableStream = ReadableStream;
  9299. exports.ReadableStreamBYOBReader = ReadableStreamBYOBReader;
  9300. exports.ReadableStreamBYOBRequest = ReadableStreamBYOBRequest;
  9301. exports.ReadableStreamDefaultController = ReadableStreamDefaultController;
  9302. exports.ReadableStreamDefaultReader = ReadableStreamDefaultReader;
  9303. exports.TransformStream = TransformStream;
  9304. exports.TransformStreamDefaultController = TransformStreamDefaultController;
  9305. exports.WritableStream = WritableStream;
  9306. exports.WritableStreamDefaultController = WritableStreamDefaultController;
  9307. exports.WritableStreamDefaultWriter = WritableStreamDefaultWriter;
  9308. Object.defineProperty(exports, '__esModule', { value: true });
  9309. }));
  9310. /***/ }),
  9311. /* 135 */
  9312. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  9313. "use strict";
  9314. Object.defineProperty(exports, "__esModule", ({
  9315. value: true
  9316. }));
  9317. exports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0;
  9318. var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
  9319. var _util = __w_pdfjs_require__(4);
  9320. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  9321. function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
  9322. function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
  9323. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  9324. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  9325. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  9326. var BaseCanvasFactory = /*#__PURE__*/function () {
  9327. function BaseCanvasFactory() {
  9328. _classCallCheck(this, BaseCanvasFactory);
  9329. if (this.constructor === BaseCanvasFactory) {
  9330. (0, _util.unreachable)("Cannot initialize BaseCanvasFactory.");
  9331. }
  9332. }
  9333. _createClass(BaseCanvasFactory, [{
  9334. key: "create",
  9335. value: function create(width, height) {
  9336. if (width <= 0 || height <= 0) {
  9337. throw new Error("Invalid canvas size");
  9338. }
  9339. var canvas = this._createCanvas(width, height);
  9340. return {
  9341. canvas: canvas,
  9342. context: canvas.getContext("2d")
  9343. };
  9344. }
  9345. }, {
  9346. key: "reset",
  9347. value: function reset(canvasAndContext, width, height) {
  9348. if (!canvasAndContext.canvas) {
  9349. throw new Error("Canvas is not specified");
  9350. }
  9351. if (width <= 0 || height <= 0) {
  9352. throw new Error("Invalid canvas size");
  9353. }
  9354. canvasAndContext.canvas.width = width;
  9355. canvasAndContext.canvas.height = height;
  9356. }
  9357. }, {
  9358. key: "destroy",
  9359. value: function destroy(canvasAndContext) {
  9360. if (!canvasAndContext.canvas) {
  9361. throw new Error("Canvas is not specified");
  9362. }
  9363. canvasAndContext.canvas.width = 0;
  9364. canvasAndContext.canvas.height = 0;
  9365. canvasAndContext.canvas = null;
  9366. canvasAndContext.context = null;
  9367. }
  9368. }, {
  9369. key: "_createCanvas",
  9370. value: function _createCanvas(width, height) {
  9371. (0, _util.unreachable)("Abstract method `_createCanvas` called.");
  9372. }
  9373. }]);
  9374. return BaseCanvasFactory;
  9375. }();
  9376. exports.BaseCanvasFactory = BaseCanvasFactory;
  9377. var BaseCMapReaderFactory = /*#__PURE__*/function () {
  9378. function BaseCMapReaderFactory(_ref) {
  9379. var _ref$baseUrl = _ref.baseUrl,
  9380. baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,
  9381. _ref$isCompressed = _ref.isCompressed,
  9382. isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;
  9383. _classCallCheck(this, BaseCMapReaderFactory);
  9384. if (this.constructor === BaseCMapReaderFactory) {
  9385. (0, _util.unreachable)("Cannot initialize BaseCMapReaderFactory.");
  9386. }
  9387. this.baseUrl = baseUrl;
  9388. this.isCompressed = isCompressed;
  9389. }
  9390. _createClass(BaseCMapReaderFactory, [{
  9391. key: "fetch",
  9392. value: function () {
  9393. var _fetch = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref2) {
  9394. var _this = this;
  9395. var name, url, compressionType;
  9396. return _regenerator["default"].wrap(function _callee$(_context) {
  9397. while (1) {
  9398. switch (_context.prev = _context.next) {
  9399. case 0:
  9400. name = _ref2.name;
  9401. if (this.baseUrl) {
  9402. _context.next = 3;
  9403. break;
  9404. }
  9405. throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.');
  9406. case 3:
  9407. if (name) {
  9408. _context.next = 5;
  9409. break;
  9410. }
  9411. throw new Error("CMap name must be specified.");
  9412. case 5:
  9413. url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : "");
  9414. compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;
  9415. return _context.abrupt("return", this._fetchData(url, compressionType)["catch"](function (reason) {
  9416. throw new Error("Unable to load ".concat(_this.isCompressed ? "binary " : "", "CMap at: ").concat(url));
  9417. }));
  9418. case 8:
  9419. case "end":
  9420. return _context.stop();
  9421. }
  9422. }
  9423. }, _callee, this);
  9424. }));
  9425. function fetch(_x) {
  9426. return _fetch.apply(this, arguments);
  9427. }
  9428. return fetch;
  9429. }()
  9430. }, {
  9431. key: "_fetchData",
  9432. value: function _fetchData(url, compressionType) {
  9433. (0, _util.unreachable)("Abstract method `_fetchData` called.");
  9434. }
  9435. }]);
  9436. return BaseCMapReaderFactory;
  9437. }();
  9438. exports.BaseCMapReaderFactory = BaseCMapReaderFactory;
  9439. var BaseStandardFontDataFactory = /*#__PURE__*/function () {
  9440. function BaseStandardFontDataFactory(_ref3) {
  9441. var _ref3$baseUrl = _ref3.baseUrl,
  9442. baseUrl = _ref3$baseUrl === void 0 ? null : _ref3$baseUrl;
  9443. _classCallCheck(this, BaseStandardFontDataFactory);
  9444. if (this.constructor === BaseStandardFontDataFactory) {
  9445. (0, _util.unreachable)("Cannot initialize BaseStandardFontDataFactory.");
  9446. }
  9447. this.baseUrl = baseUrl;
  9448. }
  9449. _createClass(BaseStandardFontDataFactory, [{
  9450. key: "fetch",
  9451. value: function () {
  9452. var _fetch2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_ref4) {
  9453. var filename, url;
  9454. return _regenerator["default"].wrap(function _callee2$(_context2) {
  9455. while (1) {
  9456. switch (_context2.prev = _context2.next) {
  9457. case 0:
  9458. filename = _ref4.filename;
  9459. if (this.baseUrl) {
  9460. _context2.next = 3;
  9461. break;
  9462. }
  9463. throw new Error('The standard font "baseUrl" parameter must be specified, ensure that ' + 'the "standardFontDataUrl" API parameter is provided.');
  9464. case 3:
  9465. if (filename) {
  9466. _context2.next = 5;
  9467. break;
  9468. }
  9469. throw new Error("Font filename must be specified.");
  9470. case 5:
  9471. url = "".concat(this.baseUrl).concat(filename);
  9472. return _context2.abrupt("return", this._fetchData(url)["catch"](function (reason) {
  9473. throw new Error("Unable to load font data at: ".concat(url));
  9474. }));
  9475. case 7:
  9476. case "end":
  9477. return _context2.stop();
  9478. }
  9479. }
  9480. }, _callee2, this);
  9481. }));
  9482. function fetch(_x2) {
  9483. return _fetch2.apply(this, arguments);
  9484. }
  9485. return fetch;
  9486. }()
  9487. }, {
  9488. key: "_fetchData",
  9489. value: function _fetchData(url) {
  9490. (0, _util.unreachable)("Abstract method `_fetchData` called.");
  9491. }
  9492. }]);
  9493. return BaseStandardFontDataFactory;
  9494. }();
  9495. exports.BaseStandardFontDataFactory = BaseStandardFontDataFactory;
  9496. var BaseSVGFactory = /*#__PURE__*/function () {
  9497. function BaseSVGFactory() {
  9498. _classCallCheck(this, BaseSVGFactory);
  9499. if (this.constructor === BaseSVGFactory) {
  9500. (0, _util.unreachable)("Cannot initialize BaseSVGFactory.");
  9501. }
  9502. }
  9503. _createClass(BaseSVGFactory, [{
  9504. key: "create",
  9505. value: function create(width, height) {
  9506. if (width <= 0 || height <= 0) {
  9507. throw new Error("Invalid SVG dimensions");
  9508. }
  9509. var svg = this._createSVG("svg:svg");
  9510. svg.setAttribute("version", "1.1");
  9511. svg.setAttribute("width", "".concat(width, "px"));
  9512. svg.setAttribute("height", "".concat(height, "px"));
  9513. svg.setAttribute("preserveAspectRatio", "none");
  9514. svg.setAttribute("viewBox", "0 0 ".concat(width, " ").concat(height));
  9515. return svg;
  9516. }
  9517. }, {
  9518. key: "createElement",
  9519. value: function createElement(type) {
  9520. if (typeof type !== "string") {
  9521. throw new Error("Invalid SVG element type");
  9522. }
  9523. return this._createSVG(type);
  9524. }
  9525. }, {
  9526. key: "_createSVG",
  9527. value: function _createSVG(type) {
  9528. (0, _util.unreachable)("Abstract method `_createSVG` called.");
  9529. }
  9530. }]);
  9531. return BaseSVGFactory;
  9532. }();
  9533. exports.BaseSVGFactory = BaseSVGFactory;
  9534. /***/ }),
  9535. /* 136 */
  9536. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  9537. "use strict";
  9538. Object.defineProperty(exports, "__esModule", ({
  9539. value: true
  9540. }));
  9541. exports.build = exports.RenderTask = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0;
  9542. exports.getDocument = getDocument;
  9543. exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;
  9544. exports.version = void 0;
  9545. var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
  9546. var _util = __w_pdfjs_require__(4);
  9547. var _display_utils = __w_pdfjs_require__(1);
  9548. var _font_loader = __w_pdfjs_require__(137);
  9549. var _node_utils = __w_pdfjs_require__(138);
  9550. var _annotation_storage = __w_pdfjs_require__(139);
  9551. var _canvas = __w_pdfjs_require__(140);
  9552. var _worker_options = __w_pdfjs_require__(142);
  9553. var _is_node = __w_pdfjs_require__(6);
  9554. var _message_handler = __w_pdfjs_require__(143);
  9555. var _metadata = __w_pdfjs_require__(144);
  9556. var _optional_content_config = __w_pdfjs_require__(145);
  9557. var _transport_stream = __w_pdfjs_require__(146);
  9558. var _xfa_text = __w_pdfjs_require__(147);
  9559. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  9560. function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
  9561. function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
  9562. function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
  9563. function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
  9564. function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
  9565. function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
  9566. function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
  9567. function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
  9568. function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
  9569. function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
  9570. function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
  9571. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  9572. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  9573. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  9574. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  9575. function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
  9576. function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
  9577. function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
  9578. function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
  9579. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  9580. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  9581. function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
  9582. function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
  9583. function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  9584. var DEFAULT_RANGE_CHUNK_SIZE = 65536;
  9585. var RENDERING_CANCELLED_TIMEOUT = 100;
  9586. var DefaultCanvasFactory = _is_node.isNodeJS ? _node_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory;
  9587. exports.DefaultCanvasFactory = DefaultCanvasFactory;
  9588. var DefaultCMapReaderFactory = _is_node.isNodeJS ? _node_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;
  9589. exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;
  9590. var DefaultStandardFontDataFactory = _is_node.isNodeJS ? _node_utils.NodeStandardFontDataFactory : _display_utils.DOMStandardFontDataFactory;
  9591. exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory;
  9592. var createPDFNetworkStream;
  9593. function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {
  9594. createPDFNetworkStream = pdfNetworkStreamFactory;
  9595. }
  9596. function getDocument(src) {
  9597. var task = new PDFDocumentLoadingTask();
  9598. var source;
  9599. if (typeof src === "string" || src instanceof URL) {
  9600. source = {
  9601. url: src
  9602. };
  9603. } else if ((0, _util.isArrayBuffer)(src)) {
  9604. source = {
  9605. data: src
  9606. };
  9607. } else if (src instanceof PDFDataRangeTransport) {
  9608. source = {
  9609. range: src
  9610. };
  9611. } else {
  9612. if (_typeof(src) !== "object") {
  9613. throw new Error("Invalid parameter in getDocument, " + "need either string, URL, Uint8Array, or parameter object.");
  9614. }
  9615. if (!src.url && !src.data && !src.range) {
  9616. throw new Error("Invalid parameter object: need either .data, .range or .url");
  9617. }
  9618. source = src;
  9619. }
  9620. var params = Object.create(null);
  9621. var rangeTransport = null,
  9622. worker = null;
  9623. for (var key in source) {
  9624. var value = source[key];
  9625. switch (key) {
  9626. case "url":
  9627. if (typeof window !== "undefined") {
  9628. try {
  9629. params[key] = new URL(value, window.location).href;
  9630. continue;
  9631. } catch (ex) {
  9632. (0, _util.warn)("Cannot create valid URL: \"".concat(ex, "\"."));
  9633. }
  9634. } else if (typeof value === "string" || value instanceof URL) {
  9635. params[key] = value.toString();
  9636. continue;
  9637. }
  9638. throw new Error("Invalid PDF url data: " + "either string or URL-object is expected in the url property.");
  9639. case "range":
  9640. rangeTransport = value;
  9641. continue;
  9642. case "worker":
  9643. worker = value;
  9644. continue;
  9645. case "data":
  9646. if (_is_node.isNodeJS && typeof Buffer !== "undefined" && value instanceof Buffer) {
  9647. params[key] = new Uint8Array(value);
  9648. } else if (value instanceof Uint8Array) {
  9649. break;
  9650. } else if (typeof value === "string") {
  9651. params[key] = (0, _util.stringToBytes)(value);
  9652. } else if (_typeof(value) === "object" && value !== null && !isNaN(value.length)) {
  9653. params[key] = new Uint8Array(value);
  9654. } else if ((0, _util.isArrayBuffer)(value)) {
  9655. params[key] = new Uint8Array(value);
  9656. } else {
  9657. throw new Error("Invalid PDF binary data: either typed array, " + "string, or array-like object is expected in the data property.");
  9658. }
  9659. continue;
  9660. }
  9661. params[key] = value;
  9662. }
  9663. params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;
  9664. params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory;
  9665. params.StandardFontDataFactory = params.StandardFontDataFactory || DefaultStandardFontDataFactory;
  9666. params.ignoreErrors = params.stopAtErrors !== true;
  9667. params.fontExtraProperties = params.fontExtraProperties === true;
  9668. params.pdfBug = params.pdfBug === true;
  9669. params.enableXfa = params.enableXfa === true;
  9670. if (typeof params.docBaseUrl !== "string" || (0, _display_utils.isDataScheme)(params.docBaseUrl)) {
  9671. params.docBaseUrl = null;
  9672. }
  9673. if (!Number.isInteger(params.maxImageSize)) {
  9674. params.maxImageSize = -1;
  9675. }
  9676. if (typeof params.useWorkerFetch !== "boolean") {
  9677. params.useWorkerFetch = params.CMapReaderFactory === _display_utils.DOMCMapReaderFactory && params.StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory;
  9678. }
  9679. if (typeof params.isEvalSupported !== "boolean") {
  9680. params.isEvalSupported = true;
  9681. }
  9682. if (typeof params.disableFontFace !== "boolean") {
  9683. params.disableFontFace = _is_node.isNodeJS;
  9684. }
  9685. if (typeof params.useSystemFonts !== "boolean") {
  9686. params.useSystemFonts = !_is_node.isNodeJS && !params.disableFontFace;
  9687. }
  9688. if (typeof params.ownerDocument === "undefined") {
  9689. params.ownerDocument = globalThis.document;
  9690. }
  9691. if (typeof params.disableRange !== "boolean") {
  9692. params.disableRange = false;
  9693. }
  9694. if (typeof params.disableStream !== "boolean") {
  9695. params.disableStream = false;
  9696. }
  9697. if (typeof params.disableAutoFetch !== "boolean") {
  9698. params.disableAutoFetch = false;
  9699. }
  9700. (0, _util.setVerbosityLevel)(params.verbosity);
  9701. if (!worker) {
  9702. var workerParams = {
  9703. verbosity: params.verbosity,
  9704. port: _worker_options.GlobalWorkerOptions.workerPort
  9705. };
  9706. worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);
  9707. task._worker = worker;
  9708. }
  9709. var docId = task.docId;
  9710. worker.promise.then(function () {
  9711. if (task.destroyed) {
  9712. throw new Error("Loading aborted");
  9713. }
  9714. var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);
  9715. var networkStreamPromise = new Promise(function (resolve) {
  9716. var networkStream;
  9717. if (rangeTransport) {
  9718. networkStream = new _transport_stream.PDFDataTransportStream({
  9719. length: params.length,
  9720. initialData: params.initialData,
  9721. progressiveDone: params.progressiveDone,
  9722. contentDispositionFilename: params.contentDispositionFilename,
  9723. disableRange: params.disableRange,
  9724. disableStream: params.disableStream
  9725. }, rangeTransport);
  9726. } else if (!params.data) {
  9727. networkStream = createPDFNetworkStream({
  9728. url: params.url,
  9729. length: params.length,
  9730. httpHeaders: params.httpHeaders,
  9731. withCredentials: params.withCredentials,
  9732. rangeChunkSize: params.rangeChunkSize,
  9733. disableRange: params.disableRange,
  9734. disableStream: params.disableStream
  9735. });
  9736. }
  9737. resolve(networkStream);
  9738. });
  9739. return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) {
  9740. var _ref2 = _slicedToArray(_ref, 2),
  9741. workerId = _ref2[0],
  9742. networkStream = _ref2[1];
  9743. if (task.destroyed) {
  9744. throw new Error("Loading aborted");
  9745. }
  9746. var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);
  9747. var transport = new WorkerTransport(messageHandler, task, networkStream, params);
  9748. task._transport = transport;
  9749. messageHandler.send("Ready", null);
  9750. });
  9751. })["catch"](task._capability.reject);
  9752. return task;
  9753. }
  9754. function _fetchDocument(_x, _x2, _x3, _x4) {
  9755. return _fetchDocument2.apply(this, arguments);
  9756. }
  9757. function _fetchDocument2() {
  9758. _fetchDocument2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee7(worker, source, pdfDataRangeTransport, docId) {
  9759. var workerId;
  9760. return _regenerator["default"].wrap(function _callee7$(_context7) {
  9761. while (1) {
  9762. switch (_context7.prev = _context7.next) {
  9763. case 0:
  9764. if (!worker.destroyed) {
  9765. _context7.next = 2;
  9766. break;
  9767. }
  9768. throw new Error("Worker was destroyed");
  9769. case 2:
  9770. if (pdfDataRangeTransport) {
  9771. source.length = pdfDataRangeTransport.length;
  9772. source.initialData = pdfDataRangeTransport.initialData;
  9773. source.progressiveDone = pdfDataRangeTransport.progressiveDone;
  9774. source.contentDispositionFilename = pdfDataRangeTransport.contentDispositionFilename;
  9775. }
  9776. _context7.next = 5;
  9777. return worker.messageHandler.sendWithPromise("GetDocRequest", {
  9778. docId: docId,
  9779. apiVersion: '2.12.313',
  9780. source: {
  9781. data: source.data,
  9782. url: source.url,
  9783. password: source.password,
  9784. disableAutoFetch: source.disableAutoFetch,
  9785. rangeChunkSize: source.rangeChunkSize,
  9786. length: source.length
  9787. },
  9788. maxImageSize: source.maxImageSize,
  9789. disableFontFace: source.disableFontFace,
  9790. docBaseUrl: source.docBaseUrl,
  9791. ignoreErrors: source.ignoreErrors,
  9792. isEvalSupported: source.isEvalSupported,
  9793. fontExtraProperties: source.fontExtraProperties,
  9794. enableXfa: source.enableXfa,
  9795. useSystemFonts: source.useSystemFonts,
  9796. cMapUrl: source.useWorkerFetch ? source.cMapUrl : null,
  9797. standardFontDataUrl: source.useWorkerFetch ? source.standardFontDataUrl : null
  9798. });
  9799. case 5:
  9800. workerId = _context7.sent;
  9801. if (!worker.destroyed) {
  9802. _context7.next = 8;
  9803. break;
  9804. }
  9805. throw new Error("Worker was destroyed");
  9806. case 8:
  9807. return _context7.abrupt("return", workerId);
  9808. case 9:
  9809. case "end":
  9810. return _context7.stop();
  9811. }
  9812. }
  9813. }, _callee7);
  9814. }));
  9815. return _fetchDocument2.apply(this, arguments);
  9816. }
  9817. var PDFDocumentLoadingTask = /*#__PURE__*/function () {
  9818. function PDFDocumentLoadingTask() {
  9819. _classCallCheck(this, PDFDocumentLoadingTask);
  9820. this._capability = (0, _util.createPromiseCapability)();
  9821. this._transport = null;
  9822. this._worker = null;
  9823. this.docId = "d".concat(PDFDocumentLoadingTask.idCounters.doc++);
  9824. this.destroyed = false;
  9825. this.onPassword = null;
  9826. this.onProgress = null;
  9827. this.onUnsupportedFeature = null;
  9828. }
  9829. _createClass(PDFDocumentLoadingTask, [{
  9830. key: "promise",
  9831. get: function get() {
  9832. return this._capability.promise;
  9833. }
  9834. }, {
  9835. key: "destroy",
  9836. value: function () {
  9837. var _destroy = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
  9838. var _this$_transport;
  9839. return _regenerator["default"].wrap(function _callee$(_context) {
  9840. while (1) {
  9841. switch (_context.prev = _context.next) {
  9842. case 0:
  9843. this.destroyed = true;
  9844. _context.next = 3;
  9845. return (_this$_transport = this._transport) === null || _this$_transport === void 0 ? void 0 : _this$_transport.destroy();
  9846. case 3:
  9847. this._transport = null;
  9848. if (this._worker) {
  9849. this._worker.destroy();
  9850. this._worker = null;
  9851. }
  9852. case 5:
  9853. case "end":
  9854. return _context.stop();
  9855. }
  9856. }
  9857. }, _callee, this);
  9858. }));
  9859. function destroy() {
  9860. return _destroy.apply(this, arguments);
  9861. }
  9862. return destroy;
  9863. }()
  9864. }], [{
  9865. key: "idCounters",
  9866. get: function get() {
  9867. return (0, _util.shadow)(this, "idCounters", {
  9868. doc: 0
  9869. });
  9870. }
  9871. }]);
  9872. return PDFDocumentLoadingTask;
  9873. }();
  9874. exports.PDFDocumentLoadingTask = PDFDocumentLoadingTask;
  9875. var PDFDataRangeTransport = /*#__PURE__*/function () {
  9876. function PDFDataRangeTransport(length, initialData) {
  9877. var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  9878. var contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
  9879. _classCallCheck(this, PDFDataRangeTransport);
  9880. this.length = length;
  9881. this.initialData = initialData;
  9882. this.progressiveDone = progressiveDone;
  9883. this.contentDispositionFilename = contentDispositionFilename;
  9884. this._rangeListeners = [];
  9885. this._progressListeners = [];
  9886. this._progressiveReadListeners = [];
  9887. this._progressiveDoneListeners = [];
  9888. this._readyCapability = (0, _util.createPromiseCapability)();
  9889. }
  9890. _createClass(PDFDataRangeTransport, [{
  9891. key: "addRangeListener",
  9892. value: function addRangeListener(listener) {
  9893. this._rangeListeners.push(listener);
  9894. }
  9895. }, {
  9896. key: "addProgressListener",
  9897. value: function addProgressListener(listener) {
  9898. this._progressListeners.push(listener);
  9899. }
  9900. }, {
  9901. key: "addProgressiveReadListener",
  9902. value: function addProgressiveReadListener(listener) {
  9903. this._progressiveReadListeners.push(listener);
  9904. }
  9905. }, {
  9906. key: "addProgressiveDoneListener",
  9907. value: function addProgressiveDoneListener(listener) {
  9908. this._progressiveDoneListeners.push(listener);
  9909. }
  9910. }, {
  9911. key: "onDataRange",
  9912. value: function onDataRange(begin, chunk) {
  9913. var _iterator = _createForOfIteratorHelper(this._rangeListeners),
  9914. _step;
  9915. try {
  9916. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  9917. var listener = _step.value;
  9918. listener(begin, chunk);
  9919. }
  9920. } catch (err) {
  9921. _iterator.e(err);
  9922. } finally {
  9923. _iterator.f();
  9924. }
  9925. }
  9926. }, {
  9927. key: "onDataProgress",
  9928. value: function onDataProgress(loaded, total) {
  9929. var _this = this;
  9930. this._readyCapability.promise.then(function () {
  9931. var _iterator2 = _createForOfIteratorHelper(_this._progressListeners),
  9932. _step2;
  9933. try {
  9934. for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
  9935. var listener = _step2.value;
  9936. listener(loaded, total);
  9937. }
  9938. } catch (err) {
  9939. _iterator2.e(err);
  9940. } finally {
  9941. _iterator2.f();
  9942. }
  9943. });
  9944. }
  9945. }, {
  9946. key: "onDataProgressiveRead",
  9947. value: function onDataProgressiveRead(chunk) {
  9948. var _this2 = this;
  9949. this._readyCapability.promise.then(function () {
  9950. var _iterator3 = _createForOfIteratorHelper(_this2._progressiveReadListeners),
  9951. _step3;
  9952. try {
  9953. for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
  9954. var listener = _step3.value;
  9955. listener(chunk);
  9956. }
  9957. } catch (err) {
  9958. _iterator3.e(err);
  9959. } finally {
  9960. _iterator3.f();
  9961. }
  9962. });
  9963. }
  9964. }, {
  9965. key: "onDataProgressiveDone",
  9966. value: function onDataProgressiveDone() {
  9967. var _this3 = this;
  9968. this._readyCapability.promise.then(function () {
  9969. var _iterator4 = _createForOfIteratorHelper(_this3._progressiveDoneListeners),
  9970. _step4;
  9971. try {
  9972. for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
  9973. var listener = _step4.value;
  9974. listener();
  9975. }
  9976. } catch (err) {
  9977. _iterator4.e(err);
  9978. } finally {
  9979. _iterator4.f();
  9980. }
  9981. });
  9982. }
  9983. }, {
  9984. key: "transportReady",
  9985. value: function transportReady() {
  9986. this._readyCapability.resolve();
  9987. }
  9988. }, {
  9989. key: "requestDataRange",
  9990. value: function requestDataRange(begin, end) {
  9991. (0, _util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange");
  9992. }
  9993. }, {
  9994. key: "abort",
  9995. value: function abort() {}
  9996. }]);
  9997. return PDFDataRangeTransport;
  9998. }();
  9999. exports.PDFDataRangeTransport = PDFDataRangeTransport;
  10000. var PDFDocumentProxy = /*#__PURE__*/function () {
  10001. function PDFDocumentProxy(pdfInfo, transport) {
  10002. var _this4 = this;
  10003. _classCallCheck(this, PDFDocumentProxy);
  10004. this._pdfInfo = pdfInfo;
  10005. this._transport = transport;
  10006. Object.defineProperty(this, "fingerprint", {
  10007. get: function get() {
  10008. (0, _display_utils.deprecated)("`PDFDocumentProxy.fingerprint`, " + "please use `PDFDocumentProxy.fingerprints` instead.");
  10009. return this.fingerprints[0];
  10010. }
  10011. });
  10012. Object.defineProperty(this, "getStats", {
  10013. value: function () {
  10014. var _value = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
  10015. return _regenerator["default"].wrap(function _callee2$(_context2) {
  10016. while (1) {
  10017. switch (_context2.prev = _context2.next) {
  10018. case 0:
  10019. (0, _display_utils.deprecated)("`PDFDocumentProxy.getStats`, " + "please use the `PDFDocumentProxy.stats`-getter instead.");
  10020. return _context2.abrupt("return", _this4.stats || {
  10021. streamTypes: {},
  10022. fontTypes: {}
  10023. });
  10024. case 2:
  10025. case "end":
  10026. return _context2.stop();
  10027. }
  10028. }
  10029. }, _callee2);
  10030. }));
  10031. function value() {
  10032. return _value.apply(this, arguments);
  10033. }
  10034. return value;
  10035. }()
  10036. });
  10037. }
  10038. _createClass(PDFDocumentProxy, [{
  10039. key: "annotationStorage",
  10040. get: function get() {
  10041. return this._transport.annotationStorage;
  10042. }
  10043. }, {
  10044. key: "numPages",
  10045. get: function get() {
  10046. return this._pdfInfo.numPages;
  10047. }
  10048. }, {
  10049. key: "fingerprints",
  10050. get: function get() {
  10051. return this._pdfInfo.fingerprints;
  10052. }
  10053. }, {
  10054. key: "stats",
  10055. get: function get() {
  10056. return this._transport.stats;
  10057. }
  10058. }, {
  10059. key: "isPureXfa",
  10060. get: function get() {
  10061. return !!this._transport._htmlForXfa;
  10062. }
  10063. }, {
  10064. key: "allXfaHtml",
  10065. get: function get() {
  10066. return this._transport._htmlForXfa;
  10067. }
  10068. }, {
  10069. key: "getPage",
  10070. value: function getPage(pageNumber) {
  10071. return this._transport.getPage(pageNumber);
  10072. }
  10073. }, {
  10074. key: "getPageIndex",
  10075. value: function getPageIndex(ref) {
  10076. return this._transport.getPageIndex(ref);
  10077. }
  10078. }, {
  10079. key: "getDestinations",
  10080. value: function getDestinations() {
  10081. return this._transport.getDestinations();
  10082. }
  10083. }, {
  10084. key: "getDestination",
  10085. value: function getDestination(id) {
  10086. return this._transport.getDestination(id);
  10087. }
  10088. }, {
  10089. key: "getPageLabels",
  10090. value: function getPageLabels() {
  10091. return this._transport.getPageLabels();
  10092. }
  10093. }, {
  10094. key: "getPageLayout",
  10095. value: function getPageLayout() {
  10096. return this._transport.getPageLayout();
  10097. }
  10098. }, {
  10099. key: "getPageMode",
  10100. value: function getPageMode() {
  10101. return this._transport.getPageMode();
  10102. }
  10103. }, {
  10104. key: "getViewerPreferences",
  10105. value: function getViewerPreferences() {
  10106. return this._transport.getViewerPreferences();
  10107. }
  10108. }, {
  10109. key: "getOpenAction",
  10110. value: function getOpenAction() {
  10111. return this._transport.getOpenAction();
  10112. }
  10113. }, {
  10114. key: "getAttachments",
  10115. value: function getAttachments() {
  10116. return this._transport.getAttachments();
  10117. }
  10118. }, {
  10119. key: "getJavaScript",
  10120. value: function getJavaScript() {
  10121. return this._transport.getJavaScript();
  10122. }
  10123. }, {
  10124. key: "getJSActions",
  10125. value: function getJSActions() {
  10126. return this._transport.getDocJSActions();
  10127. }
  10128. }, {
  10129. key: "getOutline",
  10130. value: function getOutline() {
  10131. return this._transport.getOutline();
  10132. }
  10133. }, {
  10134. key: "getOptionalContentConfig",
  10135. value: function getOptionalContentConfig() {
  10136. return this._transport.getOptionalContentConfig();
  10137. }
  10138. }, {
  10139. key: "getPermissions",
  10140. value: function getPermissions() {
  10141. return this._transport.getPermissions();
  10142. }
  10143. }, {
  10144. key: "getMetadata",
  10145. value: function getMetadata() {
  10146. return this._transport.getMetadata();
  10147. }
  10148. }, {
  10149. key: "getMarkInfo",
  10150. value: function getMarkInfo() {
  10151. return this._transport.getMarkInfo();
  10152. }
  10153. }, {
  10154. key: "getData",
  10155. value: function getData() {
  10156. return this._transport.getData();
  10157. }
  10158. }, {
  10159. key: "getDownloadInfo",
  10160. value: function getDownloadInfo() {
  10161. return this._transport.downloadInfoCapability.promise;
  10162. }
  10163. }, {
  10164. key: "cleanup",
  10165. value: function cleanup() {
  10166. var keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
  10167. return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);
  10168. }
  10169. }, {
  10170. key: "destroy",
  10171. value: function destroy() {
  10172. return this.loadingTask.destroy();
  10173. }
  10174. }, {
  10175. key: "loadingParams",
  10176. get: function get() {
  10177. return this._transport.loadingParams;
  10178. }
  10179. }, {
  10180. key: "loadingTask",
  10181. get: function get() {
  10182. return this._transport.loadingTask;
  10183. }
  10184. }, {
  10185. key: "saveDocument",
  10186. value: function saveDocument() {
  10187. if (this._transport.annotationStorage.size <= 0) {
  10188. (0, _display_utils.deprecated)("saveDocument called while `annotationStorage` is empty, " + "please use the getData-method instead.");
  10189. }
  10190. return this._transport.saveDocument();
  10191. }
  10192. }, {
  10193. key: "getFieldObjects",
  10194. value: function getFieldObjects() {
  10195. return this._transport.getFieldObjects();
  10196. }
  10197. }, {
  10198. key: "hasJSActions",
  10199. value: function hasJSActions() {
  10200. return this._transport.hasJSActions();
  10201. }
  10202. }, {
  10203. key: "getCalculationOrderIds",
  10204. value: function getCalculationOrderIds() {
  10205. return this._transport.getCalculationOrderIds();
  10206. }
  10207. }]);
  10208. return PDFDocumentProxy;
  10209. }();
  10210. exports.PDFDocumentProxy = PDFDocumentProxy;
  10211. var PDFPageProxy = /*#__PURE__*/function () {
  10212. function PDFPageProxy(pageIndex, pageInfo, transport, ownerDocument) {
  10213. var pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
  10214. _classCallCheck(this, PDFPageProxy);
  10215. this._pageIndex = pageIndex;
  10216. this._pageInfo = pageInfo;
  10217. this._ownerDocument = ownerDocument;
  10218. this._transport = transport;
  10219. this._stats = pdfBug ? new _display_utils.StatTimer() : null;
  10220. this._pdfBug = pdfBug;
  10221. this.commonObjs = transport.commonObjs;
  10222. this.objs = new PDFObjects();
  10223. this.cleanupAfterRender = false;
  10224. this.pendingCleanup = false;
  10225. this._intentStates = new Map();
  10226. this._annotationPromises = new Map();
  10227. this.destroyed = false;
  10228. }
  10229. _createClass(PDFPageProxy, [{
  10230. key: "pageNumber",
  10231. get: function get() {
  10232. return this._pageIndex + 1;
  10233. }
  10234. }, {
  10235. key: "rotate",
  10236. get: function get() {
  10237. return this._pageInfo.rotate;
  10238. }
  10239. }, {
  10240. key: "ref",
  10241. get: function get() {
  10242. return this._pageInfo.ref;
  10243. }
  10244. }, {
  10245. key: "userUnit",
  10246. get: function get() {
  10247. return this._pageInfo.userUnit;
  10248. }
  10249. }, {
  10250. key: "view",
  10251. get: function get() {
  10252. return this._pageInfo.view;
  10253. }
  10254. }, {
  10255. key: "getViewport",
  10256. value: function getViewport() {
  10257. var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
  10258. scale = _ref3.scale,
  10259. _ref3$rotation = _ref3.rotation,
  10260. rotation = _ref3$rotation === void 0 ? this.rotate : _ref3$rotation,
  10261. _ref3$offsetX = _ref3.offsetX,
  10262. offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX,
  10263. _ref3$offsetY = _ref3.offsetY,
  10264. offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY,
  10265. _ref3$dontFlip = _ref3.dontFlip,
  10266. dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip;
  10267. return new _display_utils.PageViewport({
  10268. viewBox: this.view,
  10269. scale: scale,
  10270. rotation: rotation,
  10271. offsetX: offsetX,
  10272. offsetY: offsetY,
  10273. dontFlip: dontFlip
  10274. });
  10275. }
  10276. }, {
  10277. key: "getAnnotations",
  10278. value: function getAnnotations() {
  10279. var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
  10280. _ref4$intent = _ref4.intent,
  10281. intent = _ref4$intent === void 0 ? "display" : _ref4$intent;
  10282. var intentArgs = this._transport.getRenderingIntent(intent);
  10283. var promise = this._annotationPromises.get(intentArgs.cacheKey);
  10284. if (!promise) {
  10285. promise = this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent);
  10286. this._annotationPromises.set(intentArgs.cacheKey, promise);
  10287. promise = promise.then(function (annotations) {
  10288. var _iterator5 = _createForOfIteratorHelper(annotations),
  10289. _step5;
  10290. try {
  10291. var _loop = function _loop() {
  10292. var annotation = _step5.value;
  10293. if (annotation.titleObj !== undefined) {
  10294. Object.defineProperty(annotation, "title", {
  10295. get: function get() {
  10296. (0, _display_utils.deprecated)("`title`-property on annotation, please use `titleObj` instead.");
  10297. return annotation.titleObj.str;
  10298. }
  10299. });
  10300. }
  10301. if (annotation.contentsObj !== undefined) {
  10302. Object.defineProperty(annotation, "contents", {
  10303. get: function get() {
  10304. (0, _display_utils.deprecated)("`contents`-property on annotation, please use `contentsObj` instead.");
  10305. return annotation.contentsObj.str;
  10306. }
  10307. });
  10308. }
  10309. };
  10310. for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
  10311. _loop();
  10312. }
  10313. } catch (err) {
  10314. _iterator5.e(err);
  10315. } finally {
  10316. _iterator5.f();
  10317. }
  10318. return annotations;
  10319. });
  10320. }
  10321. return promise;
  10322. }
  10323. }, {
  10324. key: "getJSActions",
  10325. value: function getJSActions() {
  10326. return this._jsActionsPromise || (this._jsActionsPromise = this._transport.getPageJSActions(this._pageIndex));
  10327. }
  10328. }, {
  10329. key: "getXfa",
  10330. value: function () {
  10331. var _getXfa = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
  10332. var _this$_transport$_htm;
  10333. return _regenerator["default"].wrap(function _callee3$(_context3) {
  10334. while (1) {
  10335. switch (_context3.prev = _context3.next) {
  10336. case 0:
  10337. return _context3.abrupt("return", ((_this$_transport$_htm = this._transport._htmlForXfa) === null || _this$_transport$_htm === void 0 ? void 0 : _this$_transport$_htm.children[this._pageIndex]) || null);
  10338. case 1:
  10339. case "end":
  10340. return _context3.stop();
  10341. }
  10342. }
  10343. }, _callee3, this);
  10344. }));
  10345. function getXfa() {
  10346. return _getXfa.apply(this, arguments);
  10347. }
  10348. return getXfa;
  10349. }()
  10350. }, {
  10351. key: "render",
  10352. value: function render(_ref5) {
  10353. var _arguments$,
  10354. _arguments$2,
  10355. _this5 = this,
  10356. _intentState;
  10357. var canvasContext = _ref5.canvasContext,
  10358. viewport = _ref5.viewport,
  10359. _ref5$intent = _ref5.intent,
  10360. intent = _ref5$intent === void 0 ? "display" : _ref5$intent,
  10361. _ref5$annotationMode = _ref5.annotationMode,
  10362. annotationMode = _ref5$annotationMode === void 0 ? _util.AnnotationMode.ENABLE : _ref5$annotationMode,
  10363. _ref5$transform = _ref5.transform,
  10364. transform = _ref5$transform === void 0 ? null : _ref5$transform,
  10365. _ref5$imageLayer = _ref5.imageLayer,
  10366. imageLayer = _ref5$imageLayer === void 0 ? null : _ref5$imageLayer,
  10367. _ref5$canvasFactory = _ref5.canvasFactory,
  10368. canvasFactory = _ref5$canvasFactory === void 0 ? null : _ref5$canvasFactory,
  10369. _ref5$background = _ref5.background,
  10370. background = _ref5$background === void 0 ? null : _ref5$background,
  10371. _ref5$optionalContent = _ref5.optionalContentConfigPromise,
  10372. optionalContentConfigPromise = _ref5$optionalContent === void 0 ? null : _ref5$optionalContent,
  10373. _ref5$annotationCanva = _ref5.annotationCanvasMap,
  10374. annotationCanvasMap = _ref5$annotationCanva === void 0 ? null : _ref5$annotationCanva;
  10375. if (((_arguments$ = arguments[0]) === null || _arguments$ === void 0 ? void 0 : _arguments$.renderInteractiveForms) !== undefined) {
  10376. (0, _display_utils.deprecated)("render no longer accepts the `renderInteractiveForms`-option, " + "please use the `annotationMode`-option instead.");
  10377. if (arguments[0].renderInteractiveForms === true && annotationMode === _util.AnnotationMode.ENABLE) {
  10378. annotationMode = _util.AnnotationMode.ENABLE_FORMS;
  10379. }
  10380. }
  10381. if (((_arguments$2 = arguments[0]) === null || _arguments$2 === void 0 ? void 0 : _arguments$2.includeAnnotationStorage) !== undefined) {
  10382. (0, _display_utils.deprecated)("render no longer accepts the `includeAnnotationStorage`-option, " + "please use the `annotationMode`-option instead.");
  10383. if (arguments[0].includeAnnotationStorage === true && annotationMode === _util.AnnotationMode.ENABLE) {
  10384. annotationMode = _util.AnnotationMode.ENABLE_STORAGE;
  10385. }
  10386. }
  10387. if (this._stats) {
  10388. this._stats.time("Overall");
  10389. }
  10390. var intentArgs = this._transport.getRenderingIntent(intent, annotationMode);
  10391. this.pendingCleanup = false;
  10392. if (!optionalContentConfigPromise) {
  10393. optionalContentConfigPromise = this._transport.getOptionalContentConfig();
  10394. }
  10395. var intentState = this._intentStates.get(intentArgs.cacheKey);
  10396. if (!intentState) {
  10397. intentState = Object.create(null);
  10398. this._intentStates.set(intentArgs.cacheKey, intentState);
  10399. }
  10400. if (intentState.streamReaderCancelTimeout) {
  10401. clearTimeout(intentState.streamReaderCancelTimeout);
  10402. intentState.streamReaderCancelTimeout = null;
  10403. }
  10404. var canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({
  10405. ownerDocument: this._ownerDocument
  10406. });
  10407. var intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT);
  10408. if (!intentState.displayReadyCapability) {
  10409. intentState.displayReadyCapability = (0, _util.createPromiseCapability)();
  10410. intentState.operatorList = {
  10411. fnArray: [],
  10412. argsArray: [],
  10413. lastChunk: false
  10414. };
  10415. if (this._stats) {
  10416. this._stats.time("Page Request");
  10417. }
  10418. this._pumpOperatorList(intentArgs);
  10419. }
  10420. var complete = function complete(error) {
  10421. intentState.renderTasks["delete"](internalRenderTask);
  10422. if (_this5.cleanupAfterRender || intentPrint) {
  10423. _this5.pendingCleanup = true;
  10424. }
  10425. _this5._tryCleanup();
  10426. if (error) {
  10427. internalRenderTask.capability.reject(error);
  10428. _this5._abortOperatorList({
  10429. intentState: intentState,
  10430. reason: error instanceof Error ? error : new Error(error)
  10431. });
  10432. } else {
  10433. internalRenderTask.capability.resolve();
  10434. }
  10435. if (_this5._stats) {
  10436. _this5._stats.timeEnd("Rendering");
  10437. _this5._stats.timeEnd("Overall");
  10438. }
  10439. };
  10440. var internalRenderTask = new InternalRenderTask({
  10441. callback: complete,
  10442. params: {
  10443. canvasContext: canvasContext,
  10444. viewport: viewport,
  10445. transform: transform,
  10446. imageLayer: imageLayer,
  10447. background: background
  10448. },
  10449. objs: this.objs,
  10450. commonObjs: this.commonObjs,
  10451. annotationCanvasMap: annotationCanvasMap,
  10452. operatorList: intentState.operatorList,
  10453. pageIndex: this._pageIndex,
  10454. canvasFactory: canvasFactoryInstance,
  10455. useRequestAnimationFrame: !intentPrint,
  10456. pdfBug: this._pdfBug
  10457. });
  10458. ((_intentState = intentState).renderTasks || (_intentState.renderTasks = new Set())).add(internalRenderTask);
  10459. var renderTask = internalRenderTask.task;
  10460. Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(function (_ref6) {
  10461. var _ref7 = _slicedToArray(_ref6, 2),
  10462. transparency = _ref7[0],
  10463. optionalContentConfig = _ref7[1];
  10464. if (_this5.pendingCleanup) {
  10465. complete();
  10466. return;
  10467. }
  10468. if (_this5._stats) {
  10469. _this5._stats.time("Rendering");
  10470. }
  10471. internalRenderTask.initializeGraphics({
  10472. transparency: transparency,
  10473. optionalContentConfig: optionalContentConfig
  10474. });
  10475. internalRenderTask.operatorListChanged();
  10476. })["catch"](complete);
  10477. return renderTask;
  10478. }
  10479. }, {
  10480. key: "getOperatorList",
  10481. value: function getOperatorList() {
  10482. var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
  10483. _ref8$intent = _ref8.intent,
  10484. intent = _ref8$intent === void 0 ? "display" : _ref8$intent,
  10485. _ref8$annotationMode = _ref8.annotationMode,
  10486. annotationMode = _ref8$annotationMode === void 0 ? _util.AnnotationMode.ENABLE : _ref8$annotationMode;
  10487. function operatorListChanged() {
  10488. if (intentState.operatorList.lastChunk) {
  10489. intentState.opListReadCapability.resolve(intentState.operatorList);
  10490. intentState.renderTasks["delete"](opListTask);
  10491. }
  10492. }
  10493. var intentArgs = this._transport.getRenderingIntent(intent, annotationMode, true);
  10494. var intentState = this._intentStates.get(intentArgs.cacheKey);
  10495. if (!intentState) {
  10496. intentState = Object.create(null);
  10497. this._intentStates.set(intentArgs.cacheKey, intentState);
  10498. }
  10499. var opListTask;
  10500. if (!intentState.opListReadCapability) {
  10501. var _intentState2;
  10502. opListTask = Object.create(null);
  10503. opListTask.operatorListChanged = operatorListChanged;
  10504. intentState.opListReadCapability = (0, _util.createPromiseCapability)();
  10505. ((_intentState2 = intentState).renderTasks || (_intentState2.renderTasks = new Set())).add(opListTask);
  10506. intentState.operatorList = {
  10507. fnArray: [],
  10508. argsArray: [],
  10509. lastChunk: false
  10510. };
  10511. if (this._stats) {
  10512. this._stats.time("Page Request");
  10513. }
  10514. this._pumpOperatorList(intentArgs);
  10515. }
  10516. return intentState.opListReadCapability.promise;
  10517. }
  10518. }, {
  10519. key: "streamTextContent",
  10520. value: function streamTextContent() {
  10521. var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
  10522. _ref9$normalizeWhites = _ref9.normalizeWhitespace,
  10523. normalizeWhitespace = _ref9$normalizeWhites === void 0 ? false : _ref9$normalizeWhites,
  10524. _ref9$disableCombineT = _ref9.disableCombineTextItems,
  10525. disableCombineTextItems = _ref9$disableCombineT === void 0 ? false : _ref9$disableCombineT,
  10526. _ref9$includeMarkedCo = _ref9.includeMarkedContent,
  10527. includeMarkedContent = _ref9$includeMarkedCo === void 0 ? false : _ref9$includeMarkedCo;
  10528. var TEXT_CONTENT_CHUNK_SIZE = 100;
  10529. return this._transport.messageHandler.sendWithStream("GetTextContent", {
  10530. pageIndex: this._pageIndex,
  10531. normalizeWhitespace: normalizeWhitespace === true,
  10532. combineTextItems: disableCombineTextItems !== true,
  10533. includeMarkedContent: includeMarkedContent === true
  10534. }, {
  10535. highWaterMark: TEXT_CONTENT_CHUNK_SIZE,
  10536. size: function size(textContent) {
  10537. return textContent.items.length;
  10538. }
  10539. });
  10540. }
  10541. }, {
  10542. key: "getTextContent",
  10543. value: function getTextContent() {
  10544. var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  10545. if (this._transport._htmlForXfa) {
  10546. return this.getXfa().then(function (xfa) {
  10547. return _xfa_text.XfaText.textContent(xfa);
  10548. });
  10549. }
  10550. var readableStream = this.streamTextContent(params);
  10551. return new Promise(function (resolve, reject) {
  10552. function pump() {
  10553. reader.read().then(function (_ref10) {
  10554. var _textContent$items;
  10555. var value = _ref10.value,
  10556. done = _ref10.done;
  10557. if (done) {
  10558. resolve(textContent);
  10559. return;
  10560. }
  10561. Object.assign(textContent.styles, value.styles);
  10562. (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));
  10563. pump();
  10564. }, reject);
  10565. }
  10566. var reader = readableStream.getReader();
  10567. var textContent = {
  10568. items: [],
  10569. styles: Object.create(null)
  10570. };
  10571. pump();
  10572. });
  10573. }
  10574. }, {
  10575. key: "getStructTree",
  10576. value: function getStructTree() {
  10577. return this._structTreePromise || (this._structTreePromise = this._transport.getStructTree(this._pageIndex));
  10578. }
  10579. }, {
  10580. key: "_destroy",
  10581. value: function _destroy() {
  10582. this.destroyed = true;
  10583. var waitOn = [];
  10584. var _iterator6 = _createForOfIteratorHelper(this._intentStates.values()),
  10585. _step6;
  10586. try {
  10587. for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
  10588. var intentState = _step6.value;
  10589. this._abortOperatorList({
  10590. intentState: intentState,
  10591. reason: new Error("Page was destroyed."),
  10592. force: true
  10593. });
  10594. if (intentState.opListReadCapability) {
  10595. continue;
  10596. }
  10597. var _iterator7 = _createForOfIteratorHelper(intentState.renderTasks),
  10598. _step7;
  10599. try {
  10600. for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
  10601. var internalRenderTask = _step7.value;
  10602. waitOn.push(internalRenderTask.completed);
  10603. internalRenderTask.cancel();
  10604. }
  10605. } catch (err) {
  10606. _iterator7.e(err);
  10607. } finally {
  10608. _iterator7.f();
  10609. }
  10610. }
  10611. } catch (err) {
  10612. _iterator6.e(err);
  10613. } finally {
  10614. _iterator6.f();
  10615. }
  10616. this.objs.clear();
  10617. this._annotationPromises.clear();
  10618. this._jsActionsPromise = null;
  10619. this._structTreePromise = null;
  10620. this.pendingCleanup = false;
  10621. return Promise.all(waitOn);
  10622. }
  10623. }, {
  10624. key: "cleanup",
  10625. value: function cleanup() {
  10626. var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
  10627. this.pendingCleanup = true;
  10628. return this._tryCleanup(resetStats);
  10629. }
  10630. }, {
  10631. key: "_tryCleanup",
  10632. value: function _tryCleanup() {
  10633. var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
  10634. if (!this.pendingCleanup) {
  10635. return false;
  10636. }
  10637. var _iterator8 = _createForOfIteratorHelper(this._intentStates.values()),
  10638. _step8;
  10639. try {
  10640. for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
  10641. var _step8$value = _step8.value,
  10642. renderTasks = _step8$value.renderTasks,
  10643. operatorList = _step8$value.operatorList;
  10644. if (renderTasks.size > 0 || !operatorList.lastChunk) {
  10645. return false;
  10646. }
  10647. }
  10648. } catch (err) {
  10649. _iterator8.e(err);
  10650. } finally {
  10651. _iterator8.f();
  10652. }
  10653. this._intentStates.clear();
  10654. this.objs.clear();
  10655. this._annotationPromises.clear();
  10656. this._jsActionsPromise = null;
  10657. this._structTreePromise = null;
  10658. if (resetStats && this._stats) {
  10659. this._stats = new _display_utils.StatTimer();
  10660. }
  10661. this.pendingCleanup = false;
  10662. return true;
  10663. }
  10664. }, {
  10665. key: "_startRenderPage",
  10666. value: function _startRenderPage(transparency, cacheKey) {
  10667. var intentState = this._intentStates.get(cacheKey);
  10668. if (!intentState) {
  10669. return;
  10670. }
  10671. if (this._stats) {
  10672. this._stats.timeEnd("Page Request");
  10673. }
  10674. if (intentState.displayReadyCapability) {
  10675. intentState.displayReadyCapability.resolve(transparency);
  10676. }
  10677. }
  10678. }, {
  10679. key: "_renderPageChunk",
  10680. value: function _renderPageChunk(operatorListChunk, intentState) {
  10681. for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {
  10682. intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);
  10683. intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);
  10684. }
  10685. intentState.operatorList.lastChunk = operatorListChunk.lastChunk;
  10686. var _iterator9 = _createForOfIteratorHelper(intentState.renderTasks),
  10687. _step9;
  10688. try {
  10689. for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
  10690. var internalRenderTask = _step9.value;
  10691. internalRenderTask.operatorListChanged();
  10692. }
  10693. } catch (err) {
  10694. _iterator9.e(err);
  10695. } finally {
  10696. _iterator9.f();
  10697. }
  10698. if (operatorListChunk.lastChunk) {
  10699. this._tryCleanup();
  10700. }
  10701. }
  10702. }, {
  10703. key: "_pumpOperatorList",
  10704. value: function _pumpOperatorList(_ref11) {
  10705. var _this6 = this;
  10706. var renderingIntent = _ref11.renderingIntent,
  10707. cacheKey = _ref11.cacheKey;
  10708. var readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", {
  10709. pageIndex: this._pageIndex,
  10710. intent: renderingIntent,
  10711. cacheKey: cacheKey,
  10712. annotationStorage: renderingIntent & _util.RenderingIntentFlag.ANNOTATIONS_STORAGE ? this._transport.annotationStorage.serializable : null
  10713. });
  10714. var reader = readableStream.getReader();
  10715. var intentState = this._intentStates.get(cacheKey);
  10716. intentState.streamReader = reader;
  10717. var pump = function pump() {
  10718. reader.read().then(function (_ref12) {
  10719. var value = _ref12.value,
  10720. done = _ref12.done;
  10721. if (done) {
  10722. intentState.streamReader = null;
  10723. return;
  10724. }
  10725. if (_this6._transport.destroyed) {
  10726. return;
  10727. }
  10728. _this6._renderPageChunk(value, intentState);
  10729. pump();
  10730. }, function (reason) {
  10731. intentState.streamReader = null;
  10732. if (_this6._transport.destroyed) {
  10733. return;
  10734. }
  10735. if (intentState.operatorList) {
  10736. intentState.operatorList.lastChunk = true;
  10737. var _iterator10 = _createForOfIteratorHelper(intentState.renderTasks),
  10738. _step10;
  10739. try {
  10740. for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
  10741. var internalRenderTask = _step10.value;
  10742. internalRenderTask.operatorListChanged();
  10743. }
  10744. } catch (err) {
  10745. _iterator10.e(err);
  10746. } finally {
  10747. _iterator10.f();
  10748. }
  10749. _this6._tryCleanup();
  10750. }
  10751. if (intentState.displayReadyCapability) {
  10752. intentState.displayReadyCapability.reject(reason);
  10753. } else if (intentState.opListReadCapability) {
  10754. intentState.opListReadCapability.reject(reason);
  10755. } else {
  10756. throw reason;
  10757. }
  10758. });
  10759. };
  10760. pump();
  10761. }
  10762. }, {
  10763. key: "_abortOperatorList",
  10764. value: function _abortOperatorList(_ref13) {
  10765. var _this7 = this;
  10766. var intentState = _ref13.intentState,
  10767. reason = _ref13.reason,
  10768. _ref13$force = _ref13.force,
  10769. force = _ref13$force === void 0 ? false : _ref13$force;
  10770. if (!intentState.streamReader) {
  10771. return;
  10772. }
  10773. if (!force) {
  10774. if (intentState.renderTasks.size > 0) {
  10775. return;
  10776. }
  10777. if (reason instanceof _display_utils.RenderingCancelledException) {
  10778. intentState.streamReaderCancelTimeout = setTimeout(function () {
  10779. _this7._abortOperatorList({
  10780. intentState: intentState,
  10781. reason: reason,
  10782. force: true
  10783. });
  10784. intentState.streamReaderCancelTimeout = null;
  10785. }, RENDERING_CANCELLED_TIMEOUT);
  10786. return;
  10787. }
  10788. }
  10789. intentState.streamReader.cancel(new _util.AbortException(reason.message))["catch"](function () {});
  10790. intentState.streamReader = null;
  10791. if (this._transport.destroyed) {
  10792. return;
  10793. }
  10794. var _iterator11 = _createForOfIteratorHelper(this._intentStates),
  10795. _step11;
  10796. try {
  10797. for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
  10798. var _step11$value = _slicedToArray(_step11.value, 2),
  10799. curCacheKey = _step11$value[0],
  10800. curIntentState = _step11$value[1];
  10801. if (curIntentState === intentState) {
  10802. this._intentStates["delete"](curCacheKey);
  10803. break;
  10804. }
  10805. }
  10806. } catch (err) {
  10807. _iterator11.e(err);
  10808. } finally {
  10809. _iterator11.f();
  10810. }
  10811. this.cleanup();
  10812. }
  10813. }, {
  10814. key: "stats",
  10815. get: function get() {
  10816. return this._stats;
  10817. }
  10818. }]);
  10819. return PDFPageProxy;
  10820. }();
  10821. exports.PDFPageProxy = PDFPageProxy;
  10822. var LoopbackPort = /*#__PURE__*/function () {
  10823. function LoopbackPort() {
  10824. _classCallCheck(this, LoopbackPort);
  10825. this._listeners = [];
  10826. this._deferred = Promise.resolve();
  10827. }
  10828. _createClass(LoopbackPort, [{
  10829. key: "postMessage",
  10830. value: function postMessage(obj, transfers) {
  10831. var _this8 = this;
  10832. function cloneValue(object) {
  10833. if (globalThis.structuredClone) {
  10834. return globalThis.structuredClone(object, transfers);
  10835. }
  10836. function fallbackCloneValue(value) {
  10837. if (typeof value === "function" || _typeof(value) === "symbol" || value instanceof URL) {
  10838. throw new Error("LoopbackPort.postMessage - cannot clone: ".concat(value === null || value === void 0 ? void 0 : value.toString()));
  10839. }
  10840. if (_typeof(value) !== "object" || value === null) {
  10841. return value;
  10842. }
  10843. if (cloned.has(value)) {
  10844. return cloned.get(value);
  10845. }
  10846. var buffer, result;
  10847. if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {
  10848. if (transfers !== null && transfers !== void 0 && transfers.includes(buffer)) {
  10849. result = new value.constructor(buffer, value.byteOffset, value.byteLength);
  10850. } else {
  10851. result = new value.constructor(value);
  10852. }
  10853. cloned.set(value, result);
  10854. return result;
  10855. }
  10856. if (value instanceof Map) {
  10857. result = new Map();
  10858. cloned.set(value, result);
  10859. var _iterator12 = _createForOfIteratorHelper(value),
  10860. _step12;
  10861. try {
  10862. for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
  10863. var _step12$value = _slicedToArray(_step12.value, 2),
  10864. key = _step12$value[0],
  10865. val = _step12$value[1];
  10866. result.set(key, fallbackCloneValue(val));
  10867. }
  10868. } catch (err) {
  10869. _iterator12.e(err);
  10870. } finally {
  10871. _iterator12.f();
  10872. }
  10873. return result;
  10874. }
  10875. if (value instanceof Set) {
  10876. result = new Set();
  10877. cloned.set(value, result);
  10878. var _iterator13 = _createForOfIteratorHelper(value),
  10879. _step13;
  10880. try {
  10881. for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
  10882. var _val = _step13.value;
  10883. result.add(fallbackCloneValue(_val));
  10884. }
  10885. } catch (err) {
  10886. _iterator13.e(err);
  10887. } finally {
  10888. _iterator13.f();
  10889. }
  10890. return result;
  10891. }
  10892. result = Array.isArray(value) ? [] : Object.create(null);
  10893. cloned.set(value, result);
  10894. for (var i in value) {
  10895. var _value$hasOwnProperty;
  10896. var desc = void 0,
  10897. p = value;
  10898. while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {
  10899. p = Object.getPrototypeOf(p);
  10900. }
  10901. if (typeof desc.value === "undefined") {
  10902. continue;
  10903. }
  10904. if (typeof desc.value === "function" && !((_value$hasOwnProperty = value.hasOwnProperty) !== null && _value$hasOwnProperty !== void 0 && _value$hasOwnProperty.call(value, i))) {
  10905. continue;
  10906. }
  10907. result[i] = fallbackCloneValue(desc.value);
  10908. }
  10909. return result;
  10910. }
  10911. var cloned = new WeakMap();
  10912. return fallbackCloneValue(object);
  10913. }
  10914. var event = {
  10915. data: cloneValue(obj)
  10916. };
  10917. this._deferred.then(function () {
  10918. var _iterator14 = _createForOfIteratorHelper(_this8._listeners),
  10919. _step14;
  10920. try {
  10921. for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
  10922. var listener = _step14.value;
  10923. listener.call(_this8, event);
  10924. }
  10925. } catch (err) {
  10926. _iterator14.e(err);
  10927. } finally {
  10928. _iterator14.f();
  10929. }
  10930. });
  10931. }
  10932. }, {
  10933. key: "addEventListener",
  10934. value: function addEventListener(name, listener) {
  10935. this._listeners.push(listener);
  10936. }
  10937. }, {
  10938. key: "removeEventListener",
  10939. value: function removeEventListener(name, listener) {
  10940. var i = this._listeners.indexOf(listener);
  10941. this._listeners.splice(i, 1);
  10942. }
  10943. }, {
  10944. key: "terminate",
  10945. value: function terminate() {
  10946. this._listeners.length = 0;
  10947. }
  10948. }]);
  10949. return LoopbackPort;
  10950. }();
  10951. exports.LoopbackPort = LoopbackPort;
  10952. var PDFWorkerUtil = {
  10953. isWorkerDisabled: false,
  10954. fallbackWorkerSrc: null,
  10955. fakeWorkerId: 0
  10956. };
  10957. {
  10958. if (_is_node.isNodeJS && typeof require === "function") {
  10959. PDFWorkerUtil.isWorkerDisabled = true;
  10960. PDFWorkerUtil.fallbackWorkerSrc = "./pdf.worker.js";
  10961. } else if ((typeof document === "undefined" ? "undefined" : _typeof(document)) === "object") {
  10962. var _document, _document$currentScri;
  10963. var pdfjsFilePath = (_document = document) === null || _document === void 0 ? void 0 : (_document$currentScri = _document.currentScript) === null || _document$currentScri === void 0 ? void 0 : _document$currentScri.src;
  10964. if (pdfjsFilePath) {
  10965. PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2");
  10966. }
  10967. }
  10968. PDFWorkerUtil.createCDNWrapper = function (url) {
  10969. var wrapper = "importScripts(\"".concat(url, "\");");
  10970. return URL.createObjectURL(new Blob([wrapper]));
  10971. };
  10972. }
  10973. var PDFWorker = /*#__PURE__*/function () {
  10974. function PDFWorker() {
  10975. var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
  10976. _ref14$name = _ref14.name,
  10977. name = _ref14$name === void 0 ? null : _ref14$name,
  10978. _ref14$port = _ref14.port,
  10979. port = _ref14$port === void 0 ? null : _ref14$port,
  10980. _ref14$verbosity = _ref14.verbosity,
  10981. verbosity = _ref14$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref14$verbosity;
  10982. _classCallCheck(this, PDFWorker);
  10983. if (port && PDFWorker._workerPorts.has(port)) {
  10984. throw new Error("Cannot use more than one PDFWorker per port.");
  10985. }
  10986. this.name = name;
  10987. this.destroyed = false;
  10988. this.verbosity = verbosity;
  10989. this._readyCapability = (0, _util.createPromiseCapability)();
  10990. this._port = null;
  10991. this._webWorker = null;
  10992. this._messageHandler = null;
  10993. if (port) {
  10994. PDFWorker._workerPorts.set(port, this);
  10995. this._initializeFromPort(port);
  10996. return;
  10997. }
  10998. this._initialize();
  10999. }
  11000. _createClass(PDFWorker, [{
  11001. key: "promise",
  11002. get: function get() {
  11003. return this._readyCapability.promise;
  11004. }
  11005. }, {
  11006. key: "port",
  11007. get: function get() {
  11008. return this._port;
  11009. }
  11010. }, {
  11011. key: "messageHandler",
  11012. get: function get() {
  11013. return this._messageHandler;
  11014. }
  11015. }, {
  11016. key: "_initializeFromPort",
  11017. value: function _initializeFromPort(port) {
  11018. this._port = port;
  11019. this._messageHandler = new _message_handler.MessageHandler("main", "worker", port);
  11020. this._messageHandler.on("ready", function () {});
  11021. this._readyCapability.resolve();
  11022. }
  11023. }, {
  11024. key: "_initialize",
  11025. value: function _initialize() {
  11026. var _this9 = this;
  11027. if (typeof Worker !== "undefined" && !PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) {
  11028. var workerSrc = PDFWorker.workerSrc;
  11029. try {
  11030. if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {
  11031. workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href);
  11032. }
  11033. var worker = new Worker(workerSrc);
  11034. var messageHandler = new _message_handler.MessageHandler("main", "worker", worker);
  11035. var terminateEarly = function terminateEarly() {
  11036. worker.removeEventListener("error", onWorkerError);
  11037. messageHandler.destroy();
  11038. worker.terminate();
  11039. if (_this9.destroyed) {
  11040. _this9._readyCapability.reject(new Error("Worker was destroyed"));
  11041. } else {
  11042. _this9._setupFakeWorker();
  11043. }
  11044. };
  11045. var onWorkerError = function onWorkerError() {
  11046. if (!_this9._webWorker) {
  11047. terminateEarly();
  11048. }
  11049. };
  11050. worker.addEventListener("error", onWorkerError);
  11051. messageHandler.on("test", function (data) {
  11052. worker.removeEventListener("error", onWorkerError);
  11053. if (_this9.destroyed) {
  11054. terminateEarly();
  11055. return;
  11056. }
  11057. if (data) {
  11058. _this9._messageHandler = messageHandler;
  11059. _this9._port = worker;
  11060. _this9._webWorker = worker;
  11061. _this9._readyCapability.resolve();
  11062. messageHandler.send("configure", {
  11063. verbosity: _this9.verbosity
  11064. });
  11065. } else {
  11066. _this9._setupFakeWorker();
  11067. messageHandler.destroy();
  11068. worker.terminate();
  11069. }
  11070. });
  11071. messageHandler.on("ready", function (data) {
  11072. worker.removeEventListener("error", onWorkerError);
  11073. if (_this9.destroyed) {
  11074. terminateEarly();
  11075. return;
  11076. }
  11077. try {
  11078. sendTest();
  11079. } catch (e) {
  11080. _this9._setupFakeWorker();
  11081. }
  11082. });
  11083. var sendTest = function sendTest() {
  11084. var testObj = new Uint8Array([255]);
  11085. try {
  11086. messageHandler.send("test", testObj, [testObj.buffer]);
  11087. } catch (ex) {
  11088. (0, _util.warn)("Cannot use postMessage transfers.");
  11089. testObj[0] = 0;
  11090. messageHandler.send("test", testObj);
  11091. }
  11092. };
  11093. sendTest();
  11094. return;
  11095. } catch (e) {
  11096. (0, _util.info)("The worker has been disabled.");
  11097. }
  11098. }
  11099. this._setupFakeWorker();
  11100. }
  11101. }, {
  11102. key: "_setupFakeWorker",
  11103. value: function _setupFakeWorker() {
  11104. var _this10 = this;
  11105. if (!PDFWorkerUtil.isWorkerDisabled) {
  11106. (0, _util.warn)("Setting up fake worker.");
  11107. PDFWorkerUtil.isWorkerDisabled = true;
  11108. }
  11109. PDFWorker._setupFakeWorkerGlobal.then(function (WorkerMessageHandler) {
  11110. if (_this10.destroyed) {
  11111. _this10._readyCapability.reject(new Error("Worker was destroyed"));
  11112. return;
  11113. }
  11114. var port = new LoopbackPort();
  11115. _this10._port = port;
  11116. var id = "fake".concat(PDFWorkerUtil.fakeWorkerId++);
  11117. var workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port);
  11118. WorkerMessageHandler.setup(workerHandler, port);
  11119. var messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port);
  11120. _this10._messageHandler = messageHandler;
  11121. _this10._readyCapability.resolve();
  11122. messageHandler.send("configure", {
  11123. verbosity: _this10.verbosity
  11124. });
  11125. })["catch"](function (reason) {
  11126. _this10._readyCapability.reject(new Error("Setting up fake worker failed: \"".concat(reason.message, "\".")));
  11127. });
  11128. }
  11129. }, {
  11130. key: "destroy",
  11131. value: function destroy() {
  11132. this.destroyed = true;
  11133. if (this._webWorker) {
  11134. this._webWorker.terminate();
  11135. this._webWorker = null;
  11136. }
  11137. PDFWorker._workerPorts["delete"](this._port);
  11138. this._port = null;
  11139. if (this._messageHandler) {
  11140. this._messageHandler.destroy();
  11141. this._messageHandler = null;
  11142. }
  11143. }
  11144. }], [{
  11145. key: "_workerPorts",
  11146. get: function get() {
  11147. return (0, _util.shadow)(this, "_workerPorts", new WeakMap());
  11148. }
  11149. }, {
  11150. key: "fromPort",
  11151. value: function fromPort(params) {
  11152. if (!(params !== null && params !== void 0 && params.port)) {
  11153. throw new Error("PDFWorker.fromPort - invalid method signature.");
  11154. }
  11155. if (this._workerPorts.has(params.port)) {
  11156. return this._workerPorts.get(params.port);
  11157. }
  11158. return new PDFWorker(params);
  11159. }
  11160. }, {
  11161. key: "workerSrc",
  11162. get: function get() {
  11163. if (_worker_options.GlobalWorkerOptions.workerSrc) {
  11164. return _worker_options.GlobalWorkerOptions.workerSrc;
  11165. }
  11166. if (PDFWorkerUtil.fallbackWorkerSrc !== null) {
  11167. if (!_is_node.isNodeJS) {
  11168. (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.');
  11169. }
  11170. return PDFWorkerUtil.fallbackWorkerSrc;
  11171. }
  11172. throw new Error('No "GlobalWorkerOptions.workerSrc" specified.');
  11173. }
  11174. }, {
  11175. key: "_mainThreadWorkerMessageHandler",
  11176. get: function get() {
  11177. try {
  11178. var _globalThis$pdfjsWork;
  11179. return ((_globalThis$pdfjsWork = globalThis.pdfjsWorker) === null || _globalThis$pdfjsWork === void 0 ? void 0 : _globalThis$pdfjsWork.WorkerMessageHandler) || null;
  11180. } catch (ex) {
  11181. return null;
  11182. }
  11183. }
  11184. }, {
  11185. key: "_setupFakeWorkerGlobal",
  11186. get: function get() {
  11187. var _this11 = this;
  11188. var loader = /*#__PURE__*/function () {
  11189. var _ref15 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
  11190. var mainWorkerMessageHandler, worker;
  11191. return _regenerator["default"].wrap(function _callee4$(_context4) {
  11192. while (1) {
  11193. switch (_context4.prev = _context4.next) {
  11194. case 0:
  11195. mainWorkerMessageHandler = _this11._mainThreadWorkerMessageHandler;
  11196. if (!mainWorkerMessageHandler) {
  11197. _context4.next = 3;
  11198. break;
  11199. }
  11200. return _context4.abrupt("return", mainWorkerMessageHandler);
  11201. case 3:
  11202. if (!(_is_node.isNodeJS && typeof require === "function")) {
  11203. _context4.next = 6;
  11204. break;
  11205. }
  11206. worker = eval("require")(_this11.workerSrc);
  11207. return _context4.abrupt("return", worker.WorkerMessageHandler);
  11208. case 6:
  11209. _context4.next = 8;
  11210. return (0, _display_utils.loadScript)(_this11.workerSrc);
  11211. case 8:
  11212. return _context4.abrupt("return", window.pdfjsWorker.WorkerMessageHandler);
  11213. case 9:
  11214. case "end":
  11215. return _context4.stop();
  11216. }
  11217. }
  11218. }, _callee4);
  11219. }));
  11220. return function loader() {
  11221. return _ref15.apply(this, arguments);
  11222. };
  11223. }();
  11224. return (0, _util.shadow)(this, "_setupFakeWorkerGlobal", loader());
  11225. }
  11226. }]);
  11227. return PDFWorker;
  11228. }();
  11229. exports.PDFWorker = PDFWorker;
  11230. {
  11231. PDFWorker.getWorkerSrc = function () {
  11232. (0, _display_utils.deprecated)("`PDFWorker.getWorkerSrc()`, please use `PDFWorker.workerSrc` instead.");
  11233. return this.workerSrc;
  11234. };
  11235. }
  11236. var _docStats = /*#__PURE__*/new WeakMap();
  11237. var _pageCache = /*#__PURE__*/new WeakMap();
  11238. var _pagePromises = /*#__PURE__*/new WeakMap();
  11239. var _metadataPromise = /*#__PURE__*/new WeakMap();
  11240. var WorkerTransport = /*#__PURE__*/function () {
  11241. function WorkerTransport(messageHandler, loadingTask, networkStream, params) {
  11242. _classCallCheck(this, WorkerTransport);
  11243. _classPrivateFieldInitSpec(this, _docStats, {
  11244. writable: true,
  11245. value: null
  11246. });
  11247. _classPrivateFieldInitSpec(this, _pageCache, {
  11248. writable: true,
  11249. value: new Map()
  11250. });
  11251. _classPrivateFieldInitSpec(this, _pagePromises, {
  11252. writable: true,
  11253. value: new Map()
  11254. });
  11255. _classPrivateFieldInitSpec(this, _metadataPromise, {
  11256. writable: true,
  11257. value: null
  11258. });
  11259. this.messageHandler = messageHandler;
  11260. this.loadingTask = loadingTask;
  11261. this.commonObjs = new PDFObjects();
  11262. this.fontLoader = new _font_loader.FontLoader({
  11263. docId: loadingTask.docId,
  11264. onUnsupportedFeature: this._onUnsupportedFeature.bind(this),
  11265. ownerDocument: params.ownerDocument,
  11266. styleElement: params.styleElement
  11267. });
  11268. this._params = params;
  11269. if (!params.useWorkerFetch) {
  11270. this.CMapReaderFactory = new params.CMapReaderFactory({
  11271. baseUrl: params.cMapUrl,
  11272. isCompressed: params.cMapPacked
  11273. });
  11274. this.StandardFontDataFactory = new params.StandardFontDataFactory({
  11275. baseUrl: params.standardFontDataUrl
  11276. });
  11277. }
  11278. this.destroyed = false;
  11279. this.destroyCapability = null;
  11280. this._passwordCapability = null;
  11281. this._networkStream = networkStream;
  11282. this._fullReader = null;
  11283. this._lastProgress = null;
  11284. this.downloadInfoCapability = (0, _util.createPromiseCapability)();
  11285. this.setupMessageHandler();
  11286. }
  11287. _createClass(WorkerTransport, [{
  11288. key: "annotationStorage",
  11289. get: function get() {
  11290. return (0, _util.shadow)(this, "annotationStorage", new _annotation_storage.AnnotationStorage());
  11291. }
  11292. }, {
  11293. key: "stats",
  11294. get: function get() {
  11295. return _classPrivateFieldGet(this, _docStats);
  11296. }
  11297. }, {
  11298. key: "getRenderingIntent",
  11299. value: function getRenderingIntent(intent) {
  11300. var annotationMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _util.AnnotationMode.ENABLE;
  11301. var isOpList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  11302. var renderingIntent = _util.RenderingIntentFlag.DISPLAY;
  11303. var lastModified = "";
  11304. switch (intent) {
  11305. case "any":
  11306. renderingIntent = _util.RenderingIntentFlag.ANY;
  11307. break;
  11308. case "display":
  11309. break;
  11310. case "print":
  11311. renderingIntent = _util.RenderingIntentFlag.PRINT;
  11312. break;
  11313. default:
  11314. (0, _util.warn)("getRenderingIntent - invalid intent: ".concat(intent));
  11315. }
  11316. switch (annotationMode) {
  11317. case _util.AnnotationMode.DISABLE:
  11318. renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE;
  11319. break;
  11320. case _util.AnnotationMode.ENABLE:
  11321. break;
  11322. case _util.AnnotationMode.ENABLE_FORMS:
  11323. renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS;
  11324. break;
  11325. case _util.AnnotationMode.ENABLE_STORAGE:
  11326. renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE;
  11327. lastModified = this.annotationStorage.lastModified;
  11328. break;
  11329. default:
  11330. (0, _util.warn)("getRenderingIntent - invalid annotationMode: ".concat(annotationMode));
  11331. }
  11332. if (isOpList) {
  11333. renderingIntent += _util.RenderingIntentFlag.OPLIST;
  11334. }
  11335. return {
  11336. renderingIntent: renderingIntent,
  11337. cacheKey: "".concat(renderingIntent, "_").concat(lastModified)
  11338. };
  11339. }
  11340. }, {
  11341. key: "destroy",
  11342. value: function destroy() {
  11343. var _this12 = this;
  11344. if (this.destroyCapability) {
  11345. return this.destroyCapability.promise;
  11346. }
  11347. this.destroyed = true;
  11348. this.destroyCapability = (0, _util.createPromiseCapability)();
  11349. if (this._passwordCapability) {
  11350. this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback"));
  11351. }
  11352. var waitOn = [];
  11353. var _iterator15 = _createForOfIteratorHelper(_classPrivateFieldGet(this, _pageCache).values()),
  11354. _step15;
  11355. try {
  11356. for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
  11357. var page = _step15.value;
  11358. waitOn.push(page._destroy());
  11359. }
  11360. } catch (err) {
  11361. _iterator15.e(err);
  11362. } finally {
  11363. _iterator15.f();
  11364. }
  11365. _classPrivateFieldGet(this, _pageCache).clear();
  11366. _classPrivateFieldGet(this, _pagePromises).clear();
  11367. if (this.hasOwnProperty("annotationStorage")) {
  11368. this.annotationStorage.resetModified();
  11369. }
  11370. var terminated = this.messageHandler.sendWithPromise("Terminate", null);
  11371. waitOn.push(terminated);
  11372. Promise.all(waitOn).then(function () {
  11373. _this12.commonObjs.clear();
  11374. _this12.fontLoader.clear();
  11375. _classPrivateFieldSet(_this12, _metadataPromise, null);
  11376. _this12._getFieldObjectsPromise = null;
  11377. _this12._hasJSActionsPromise = null;
  11378. if (_this12._networkStream) {
  11379. _this12._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated."));
  11380. }
  11381. if (_this12.messageHandler) {
  11382. _this12.messageHandler.destroy();
  11383. _this12.messageHandler = null;
  11384. }
  11385. _this12.destroyCapability.resolve();
  11386. }, this.destroyCapability.reject);
  11387. return this.destroyCapability.promise;
  11388. }
  11389. }, {
  11390. key: "setupMessageHandler",
  11391. value: function setupMessageHandler() {
  11392. var _this13 = this;
  11393. var messageHandler = this.messageHandler,
  11394. loadingTask = this.loadingTask;
  11395. messageHandler.on("GetReader", function (data, sink) {
  11396. (0, _util.assert)(_this13._networkStream, "GetReader - no `IPDFStream` instance available.");
  11397. _this13._fullReader = _this13._networkStream.getFullReader();
  11398. _this13._fullReader.onProgress = function (evt) {
  11399. _this13._lastProgress = {
  11400. loaded: evt.loaded,
  11401. total: evt.total
  11402. };
  11403. };
  11404. sink.onPull = function () {
  11405. _this13._fullReader.read().then(function (_ref16) {
  11406. var value = _ref16.value,
  11407. done = _ref16.done;
  11408. if (done) {
  11409. sink.close();
  11410. return;
  11411. }
  11412. (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetReader - expected an ArrayBuffer.");
  11413. sink.enqueue(new Uint8Array(value), 1, [value]);
  11414. })["catch"](function (reason) {
  11415. sink.error(reason);
  11416. });
  11417. };
  11418. sink.onCancel = function (reason) {
  11419. _this13._fullReader.cancel(reason);
  11420. sink.ready["catch"](function (readyReason) {
  11421. if (_this13.destroyed) {
  11422. return;
  11423. }
  11424. throw readyReason;
  11425. });
  11426. };
  11427. });
  11428. messageHandler.on("ReaderHeadersReady", function (data) {
  11429. var headersCapability = (0, _util.createPromiseCapability)();
  11430. var fullReader = _this13._fullReader;
  11431. fullReader.headersReady.then(function () {
  11432. if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {
  11433. if (_this13._lastProgress) {
  11434. var _loadingTask$onProgre;
  11435. (_loadingTask$onProgre = loadingTask.onProgress) === null || _loadingTask$onProgre === void 0 ? void 0 : _loadingTask$onProgre.call(loadingTask, _this13._lastProgress);
  11436. }
  11437. fullReader.onProgress = function (evt) {
  11438. var _loadingTask$onProgre2;
  11439. (_loadingTask$onProgre2 = loadingTask.onProgress) === null || _loadingTask$onProgre2 === void 0 ? void 0 : _loadingTask$onProgre2.call(loadingTask, {
  11440. loaded: evt.loaded,
  11441. total: evt.total
  11442. });
  11443. };
  11444. }
  11445. headersCapability.resolve({
  11446. isStreamingSupported: fullReader.isStreamingSupported,
  11447. isRangeSupported: fullReader.isRangeSupported,
  11448. contentLength: fullReader.contentLength
  11449. });
  11450. }, headersCapability.reject);
  11451. return headersCapability.promise;
  11452. });
  11453. messageHandler.on("GetRangeReader", function (data, sink) {
  11454. (0, _util.assert)(_this13._networkStream, "GetRangeReader - no `IPDFStream` instance available.");
  11455. var rangeReader = _this13._networkStream.getRangeReader(data.begin, data.end);
  11456. if (!rangeReader) {
  11457. sink.close();
  11458. return;
  11459. }
  11460. sink.onPull = function () {
  11461. rangeReader.read().then(function (_ref17) {
  11462. var value = _ref17.value,
  11463. done = _ref17.done;
  11464. if (done) {
  11465. sink.close();
  11466. return;
  11467. }
  11468. (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetRangeReader - expected an ArrayBuffer.");
  11469. sink.enqueue(new Uint8Array(value), 1, [value]);
  11470. })["catch"](function (reason) {
  11471. sink.error(reason);
  11472. });
  11473. };
  11474. sink.onCancel = function (reason) {
  11475. rangeReader.cancel(reason);
  11476. sink.ready["catch"](function (readyReason) {
  11477. if (_this13.destroyed) {
  11478. return;
  11479. }
  11480. throw readyReason;
  11481. });
  11482. };
  11483. });
  11484. messageHandler.on("GetDoc", function (_ref18) {
  11485. var pdfInfo = _ref18.pdfInfo;
  11486. _this13._numPages = pdfInfo.numPages;
  11487. _this13._htmlForXfa = pdfInfo.htmlForXfa;
  11488. delete pdfInfo.htmlForXfa;
  11489. loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this13));
  11490. });
  11491. messageHandler.on("DocException", function (ex) {
  11492. var reason;
  11493. switch (ex.name) {
  11494. case "PasswordException":
  11495. reason = new _util.PasswordException(ex.message, ex.code);
  11496. break;
  11497. case "InvalidPDFException":
  11498. reason = new _util.InvalidPDFException(ex.message);
  11499. break;
  11500. case "MissingPDFException":
  11501. reason = new _util.MissingPDFException(ex.message);
  11502. break;
  11503. case "UnexpectedResponseException":
  11504. reason = new _util.UnexpectedResponseException(ex.message, ex.status);
  11505. break;
  11506. case "UnknownErrorException":
  11507. reason = new _util.UnknownErrorException(ex.message, ex.details);
  11508. break;
  11509. default:
  11510. (0, _util.unreachable)("DocException - expected a valid Error.");
  11511. }
  11512. loadingTask._capability.reject(reason);
  11513. });
  11514. messageHandler.on("PasswordRequest", function (exception) {
  11515. _this13._passwordCapability = (0, _util.createPromiseCapability)();
  11516. if (loadingTask.onPassword) {
  11517. var updatePassword = function updatePassword(password) {
  11518. _this13._passwordCapability.resolve({
  11519. password: password
  11520. });
  11521. };
  11522. try {
  11523. loadingTask.onPassword(updatePassword, exception.code);
  11524. } catch (ex) {
  11525. _this13._passwordCapability.reject(ex);
  11526. }
  11527. } else {
  11528. _this13._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));
  11529. }
  11530. return _this13._passwordCapability.promise;
  11531. });
  11532. messageHandler.on("DataLoaded", function (data) {
  11533. var _loadingTask$onProgre3;
  11534. (_loadingTask$onProgre3 = loadingTask.onProgress) === null || _loadingTask$onProgre3 === void 0 ? void 0 : _loadingTask$onProgre3.call(loadingTask, {
  11535. loaded: data.length,
  11536. total: data.length
  11537. });
  11538. _this13.downloadInfoCapability.resolve(data);
  11539. });
  11540. messageHandler.on("StartRenderPage", function (data) {
  11541. if (_this13.destroyed) {
  11542. return;
  11543. }
  11544. var page = _classPrivateFieldGet(_this13, _pageCache).get(data.pageIndex);
  11545. page._startRenderPage(data.transparency, data.cacheKey);
  11546. });
  11547. messageHandler.on("commonobj", function (_ref19) {
  11548. var _globalThis$FontInspe;
  11549. var _ref20 = _slicedToArray(_ref19, 3),
  11550. id = _ref20[0],
  11551. type = _ref20[1],
  11552. exportedData = _ref20[2];
  11553. if (_this13.destroyed) {
  11554. return;
  11555. }
  11556. if (_this13.commonObjs.has(id)) {
  11557. return;
  11558. }
  11559. switch (type) {
  11560. case "Font":
  11561. var params = _this13._params;
  11562. if ("error" in exportedData) {
  11563. var exportedError = exportedData.error;
  11564. (0, _util.warn)("Error during font loading: ".concat(exportedError));
  11565. _this13.commonObjs.resolve(id, exportedError);
  11566. break;
  11567. }
  11568. var fontRegistry = null;
  11569. if (params.pdfBug && (_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled) {
  11570. fontRegistry = {
  11571. registerFont: function registerFont(font, url) {
  11572. globalThis.FontInspector.fontAdded(font, url);
  11573. }
  11574. };
  11575. }
  11576. var font = new _font_loader.FontFaceObject(exportedData, {
  11577. isEvalSupported: params.isEvalSupported,
  11578. disableFontFace: params.disableFontFace,
  11579. ignoreErrors: params.ignoreErrors,
  11580. onUnsupportedFeature: _this13._onUnsupportedFeature.bind(_this13),
  11581. fontRegistry: fontRegistry
  11582. });
  11583. _this13.fontLoader.bind(font)["catch"](function (reason) {
  11584. return messageHandler.sendWithPromise("FontFallback", {
  11585. id: id
  11586. });
  11587. })["finally"](function () {
  11588. if (!params.fontExtraProperties && font.data) {
  11589. font.data = null;
  11590. }
  11591. _this13.commonObjs.resolve(id, font);
  11592. });
  11593. break;
  11594. case "FontPath":
  11595. case "Image":
  11596. _this13.commonObjs.resolve(id, exportedData);
  11597. break;
  11598. default:
  11599. throw new Error("Got unknown common object type ".concat(type));
  11600. }
  11601. });
  11602. messageHandler.on("obj", function (_ref21) {
  11603. var _imageData$data;
  11604. var _ref22 = _slicedToArray(_ref21, 4),
  11605. id = _ref22[0],
  11606. pageIndex = _ref22[1],
  11607. type = _ref22[2],
  11608. imageData = _ref22[3];
  11609. if (_this13.destroyed) {
  11610. return;
  11611. }
  11612. var pageProxy = _classPrivateFieldGet(_this13, _pageCache).get(pageIndex);
  11613. if (pageProxy.objs.has(id)) {
  11614. return;
  11615. }
  11616. switch (type) {
  11617. case "Image":
  11618. pageProxy.objs.resolve(id, imageData);
  11619. var MAX_IMAGE_SIZE_TO_STORE = 8000000;
  11620. if ((imageData === null || imageData === void 0 ? void 0 : (_imageData$data = imageData.data) === null || _imageData$data === void 0 ? void 0 : _imageData$data.length) > MAX_IMAGE_SIZE_TO_STORE) {
  11621. pageProxy.cleanupAfterRender = true;
  11622. }
  11623. break;
  11624. case "Pattern":
  11625. pageProxy.objs.resolve(id, imageData);
  11626. break;
  11627. default:
  11628. throw new Error("Got unknown object type ".concat(type));
  11629. }
  11630. });
  11631. messageHandler.on("DocProgress", function (data) {
  11632. var _loadingTask$onProgre4;
  11633. if (_this13.destroyed) {
  11634. return;
  11635. }
  11636. (_loadingTask$onProgre4 = loadingTask.onProgress) === null || _loadingTask$onProgre4 === void 0 ? void 0 : _loadingTask$onProgre4.call(loadingTask, {
  11637. loaded: data.loaded,
  11638. total: data.total
  11639. });
  11640. });
  11641. messageHandler.on("DocStats", function (data) {
  11642. if (_this13.destroyed) {
  11643. return;
  11644. }
  11645. _classPrivateFieldSet(_this13, _docStats, Object.freeze({
  11646. streamTypes: Object.freeze(data.streamTypes),
  11647. fontTypes: Object.freeze(data.fontTypes)
  11648. }));
  11649. });
  11650. messageHandler.on("UnsupportedFeature", this._onUnsupportedFeature.bind(this));
  11651. messageHandler.on("FetchBuiltInCMap", function (data) {
  11652. if (_this13.destroyed) {
  11653. return Promise.reject(new Error("Worker was destroyed."));
  11654. }
  11655. if (!_this13.CMapReaderFactory) {
  11656. return Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter."));
  11657. }
  11658. return _this13.CMapReaderFactory.fetch(data);
  11659. });
  11660. messageHandler.on("FetchStandardFontData", function (data) {
  11661. if (_this13.destroyed) {
  11662. return Promise.reject(new Error("Worker was destroyed."));
  11663. }
  11664. if (!_this13.StandardFontDataFactory) {
  11665. return Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter."));
  11666. }
  11667. return _this13.StandardFontDataFactory.fetch(data);
  11668. });
  11669. }
  11670. }, {
  11671. key: "_onUnsupportedFeature",
  11672. value: function _onUnsupportedFeature(_ref23) {
  11673. var _this$loadingTask$onU, _this$loadingTask;
  11674. var featureId = _ref23.featureId;
  11675. if (this.destroyed) {
  11676. return;
  11677. }
  11678. (_this$loadingTask$onU = (_this$loadingTask = this.loadingTask).onUnsupportedFeature) === null || _this$loadingTask$onU === void 0 ? void 0 : _this$loadingTask$onU.call(_this$loadingTask, featureId);
  11679. }
  11680. }, {
  11681. key: "getData",
  11682. value: function getData() {
  11683. return this.messageHandler.sendWithPromise("GetData", null);
  11684. }
  11685. }, {
  11686. key: "getPage",
  11687. value: function getPage(pageNumber) {
  11688. var _this14 = this;
  11689. if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {
  11690. return Promise.reject(new Error("Invalid page request"));
  11691. }
  11692. var pageIndex = pageNumber - 1,
  11693. cachedPromise = _classPrivateFieldGet(this, _pagePromises).get(pageIndex);
  11694. if (cachedPromise) {
  11695. return cachedPromise;
  11696. }
  11697. var promise = this.messageHandler.sendWithPromise("GetPage", {
  11698. pageIndex: pageIndex
  11699. }).then(function (pageInfo) {
  11700. if (_this14.destroyed) {
  11701. throw new Error("Transport destroyed");
  11702. }
  11703. var page = new PDFPageProxy(pageIndex, pageInfo, _this14, _this14._params.ownerDocument, _this14._params.pdfBug);
  11704. _classPrivateFieldGet(_this14, _pageCache).set(pageIndex, page);
  11705. return page;
  11706. });
  11707. _classPrivateFieldGet(this, _pagePromises).set(pageIndex, promise);
  11708. return promise;
  11709. }
  11710. }, {
  11711. key: "getPageIndex",
  11712. value: function getPageIndex(ref) {
  11713. return this.messageHandler.sendWithPromise("GetPageIndex", {
  11714. ref: ref
  11715. });
  11716. }
  11717. }, {
  11718. key: "getAnnotations",
  11719. value: function getAnnotations(pageIndex, intent) {
  11720. return this.messageHandler.sendWithPromise("GetAnnotations", {
  11721. pageIndex: pageIndex,
  11722. intent: intent
  11723. });
  11724. }
  11725. }, {
  11726. key: "saveDocument",
  11727. value: function saveDocument() {
  11728. var _this$_fullReader$fil,
  11729. _this$_fullReader,
  11730. _this15 = this;
  11731. return this.messageHandler.sendWithPromise("SaveDocument", {
  11732. isPureXfa: !!this._htmlForXfa,
  11733. numPages: this._numPages,
  11734. annotationStorage: this.annotationStorage.serializable,
  11735. filename: (_this$_fullReader$fil = (_this$_fullReader = this._fullReader) === null || _this$_fullReader === void 0 ? void 0 : _this$_fullReader.filename) !== null && _this$_fullReader$fil !== void 0 ? _this$_fullReader$fil : null
  11736. })["finally"](function () {
  11737. _this15.annotationStorage.resetModified();
  11738. });
  11739. }
  11740. }, {
  11741. key: "getFieldObjects",
  11742. value: function getFieldObjects() {
  11743. return this._getFieldObjectsPromise || (this._getFieldObjectsPromise = this.messageHandler.sendWithPromise("GetFieldObjects", null));
  11744. }
  11745. }, {
  11746. key: "hasJSActions",
  11747. value: function hasJSActions() {
  11748. return this._hasJSActionsPromise || (this._hasJSActionsPromise = this.messageHandler.sendWithPromise("HasJSActions", null));
  11749. }
  11750. }, {
  11751. key: "getCalculationOrderIds",
  11752. value: function getCalculationOrderIds() {
  11753. return this.messageHandler.sendWithPromise("GetCalculationOrderIds", null);
  11754. }
  11755. }, {
  11756. key: "getDestinations",
  11757. value: function getDestinations() {
  11758. return this.messageHandler.sendWithPromise("GetDestinations", null);
  11759. }
  11760. }, {
  11761. key: "getDestination",
  11762. value: function getDestination(id) {
  11763. if (typeof id !== "string") {
  11764. return Promise.reject(new Error("Invalid destination request."));
  11765. }
  11766. return this.messageHandler.sendWithPromise("GetDestination", {
  11767. id: id
  11768. });
  11769. }
  11770. }, {
  11771. key: "getPageLabels",
  11772. value: function getPageLabels() {
  11773. return this.messageHandler.sendWithPromise("GetPageLabels", null);
  11774. }
  11775. }, {
  11776. key: "getPageLayout",
  11777. value: function getPageLayout() {
  11778. return this.messageHandler.sendWithPromise("GetPageLayout", null);
  11779. }
  11780. }, {
  11781. key: "getPageMode",
  11782. value: function getPageMode() {
  11783. return this.messageHandler.sendWithPromise("GetPageMode", null);
  11784. }
  11785. }, {
  11786. key: "getViewerPreferences",
  11787. value: function getViewerPreferences() {
  11788. return this.messageHandler.sendWithPromise("GetViewerPreferences", null);
  11789. }
  11790. }, {
  11791. key: "getOpenAction",
  11792. value: function getOpenAction() {
  11793. return this.messageHandler.sendWithPromise("GetOpenAction", null);
  11794. }
  11795. }, {
  11796. key: "getAttachments",
  11797. value: function getAttachments() {
  11798. return this.messageHandler.sendWithPromise("GetAttachments", null);
  11799. }
  11800. }, {
  11801. key: "getJavaScript",
  11802. value: function getJavaScript() {
  11803. return this.messageHandler.sendWithPromise("GetJavaScript", null);
  11804. }
  11805. }, {
  11806. key: "getDocJSActions",
  11807. value: function getDocJSActions() {
  11808. return this.messageHandler.sendWithPromise("GetDocJSActions", null);
  11809. }
  11810. }, {
  11811. key: "getPageJSActions",
  11812. value: function getPageJSActions(pageIndex) {
  11813. return this.messageHandler.sendWithPromise("GetPageJSActions", {
  11814. pageIndex: pageIndex
  11815. });
  11816. }
  11817. }, {
  11818. key: "getStructTree",
  11819. value: function getStructTree(pageIndex) {
  11820. return this.messageHandler.sendWithPromise("GetStructTree", {
  11821. pageIndex: pageIndex
  11822. });
  11823. }
  11824. }, {
  11825. key: "getOutline",
  11826. value: function getOutline() {
  11827. return this.messageHandler.sendWithPromise("GetOutline", null);
  11828. }
  11829. }, {
  11830. key: "getOptionalContentConfig",
  11831. value: function getOptionalContentConfig() {
  11832. return this.messageHandler.sendWithPromise("GetOptionalContentConfig", null).then(function (results) {
  11833. return new _optional_content_config.OptionalContentConfig(results);
  11834. });
  11835. }
  11836. }, {
  11837. key: "getPermissions",
  11838. value: function getPermissions() {
  11839. return this.messageHandler.sendWithPromise("GetPermissions", null);
  11840. }
  11841. }, {
  11842. key: "getMetadata",
  11843. value: function getMetadata() {
  11844. var _this16 = this;
  11845. return _classPrivateFieldGet(this, _metadataPromise) || _classPrivateFieldSet(this, _metadataPromise, this.messageHandler.sendWithPromise("GetMetadata", null).then(function (results) {
  11846. var _this16$_fullReader$f, _this16$_fullReader, _this16$_fullReader$c, _this16$_fullReader2;
  11847. return {
  11848. info: results[0],
  11849. metadata: results[1] ? new _metadata.Metadata(results[1]) : null,
  11850. contentDispositionFilename: (_this16$_fullReader$f = (_this16$_fullReader = _this16._fullReader) === null || _this16$_fullReader === void 0 ? void 0 : _this16$_fullReader.filename) !== null && _this16$_fullReader$f !== void 0 ? _this16$_fullReader$f : null,
  11851. contentLength: (_this16$_fullReader$c = (_this16$_fullReader2 = _this16._fullReader) === null || _this16$_fullReader2 === void 0 ? void 0 : _this16$_fullReader2.contentLength) !== null && _this16$_fullReader$c !== void 0 ? _this16$_fullReader$c : null
  11852. };
  11853. }));
  11854. }
  11855. }, {
  11856. key: "getMarkInfo",
  11857. value: function getMarkInfo() {
  11858. return this.messageHandler.sendWithPromise("GetMarkInfo", null);
  11859. }
  11860. }, {
  11861. key: "startCleanup",
  11862. value: function () {
  11863. var _startCleanup = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
  11864. var keepLoadedFonts,
  11865. _iterator16,
  11866. _step16,
  11867. page,
  11868. cleanupSuccessful,
  11869. _args5 = arguments;
  11870. return _regenerator["default"].wrap(function _callee5$(_context5) {
  11871. while (1) {
  11872. switch (_context5.prev = _context5.next) {
  11873. case 0:
  11874. keepLoadedFonts = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : false;
  11875. _context5.next = 3;
  11876. return this.messageHandler.sendWithPromise("Cleanup", null);
  11877. case 3:
  11878. if (!this.destroyed) {
  11879. _context5.next = 5;
  11880. break;
  11881. }
  11882. return _context5.abrupt("return");
  11883. case 5:
  11884. _iterator16 = _createForOfIteratorHelper(_classPrivateFieldGet(this, _pageCache).values());
  11885. _context5.prev = 6;
  11886. _iterator16.s();
  11887. case 8:
  11888. if ((_step16 = _iterator16.n()).done) {
  11889. _context5.next = 15;
  11890. break;
  11891. }
  11892. page = _step16.value;
  11893. cleanupSuccessful = page.cleanup();
  11894. if (cleanupSuccessful) {
  11895. _context5.next = 13;
  11896. break;
  11897. }
  11898. throw new Error("startCleanup: Page ".concat(page.pageNumber, " is currently rendering."));
  11899. case 13:
  11900. _context5.next = 8;
  11901. break;
  11902. case 15:
  11903. _context5.next = 20;
  11904. break;
  11905. case 17:
  11906. _context5.prev = 17;
  11907. _context5.t0 = _context5["catch"](6);
  11908. _iterator16.e(_context5.t0);
  11909. case 20:
  11910. _context5.prev = 20;
  11911. _iterator16.f();
  11912. return _context5.finish(20);
  11913. case 23:
  11914. this.commonObjs.clear();
  11915. if (!keepLoadedFonts) {
  11916. this.fontLoader.clear();
  11917. }
  11918. _classPrivateFieldSet(this, _metadataPromise, null);
  11919. this._getFieldObjectsPromise = null;
  11920. this._hasJSActionsPromise = null;
  11921. case 28:
  11922. case "end":
  11923. return _context5.stop();
  11924. }
  11925. }
  11926. }, _callee5, this, [[6, 17, 20, 23]]);
  11927. }));
  11928. function startCleanup() {
  11929. return _startCleanup.apply(this, arguments);
  11930. }
  11931. return startCleanup;
  11932. }()
  11933. }, {
  11934. key: "loadingParams",
  11935. get: function get() {
  11936. var params = this._params;
  11937. return (0, _util.shadow)(this, "loadingParams", {
  11938. disableAutoFetch: params.disableAutoFetch,
  11939. enableXfa: params.enableXfa
  11940. });
  11941. }
  11942. }]);
  11943. return WorkerTransport;
  11944. }();
  11945. var PDFObjects = /*#__PURE__*/function () {
  11946. function PDFObjects() {
  11947. _classCallCheck(this, PDFObjects);
  11948. this._objs = Object.create(null);
  11949. }
  11950. _createClass(PDFObjects, [{
  11951. key: "_ensureObj",
  11952. value: function _ensureObj(objId) {
  11953. if (this._objs[objId]) {
  11954. return this._objs[objId];
  11955. }
  11956. return this._objs[objId] = {
  11957. capability: (0, _util.createPromiseCapability)(),
  11958. data: null,
  11959. resolved: false
  11960. };
  11961. }
  11962. }, {
  11963. key: "get",
  11964. value: function get(objId) {
  11965. var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
  11966. if (callback) {
  11967. this._ensureObj(objId).capability.promise.then(callback);
  11968. return null;
  11969. }
  11970. var obj = this._objs[objId];
  11971. if (!obj || !obj.resolved) {
  11972. throw new Error("Requesting object that isn't resolved yet ".concat(objId, "."));
  11973. }
  11974. return obj.data;
  11975. }
  11976. }, {
  11977. key: "has",
  11978. value: function has(objId) {
  11979. var obj = this._objs[objId];
  11980. return (obj === null || obj === void 0 ? void 0 : obj.resolved) || false;
  11981. }
  11982. }, {
  11983. key: "resolve",
  11984. value: function resolve(objId, data) {
  11985. var obj = this._ensureObj(objId);
  11986. obj.resolved = true;
  11987. obj.data = data;
  11988. obj.capability.resolve(data);
  11989. }
  11990. }, {
  11991. key: "clear",
  11992. value: function clear() {
  11993. this._objs = Object.create(null);
  11994. }
  11995. }]);
  11996. return PDFObjects;
  11997. }();
  11998. var RenderTask = /*#__PURE__*/function () {
  11999. function RenderTask(internalRenderTask) {
  12000. _classCallCheck(this, RenderTask);
  12001. this._internalRenderTask = internalRenderTask;
  12002. this.onContinue = null;
  12003. }
  12004. _createClass(RenderTask, [{
  12005. key: "promise",
  12006. get: function get() {
  12007. return this._internalRenderTask.capability.promise;
  12008. }
  12009. }, {
  12010. key: "cancel",
  12011. value: function cancel() {
  12012. this._internalRenderTask.cancel();
  12013. }
  12014. }]);
  12015. return RenderTask;
  12016. }();
  12017. exports.RenderTask = RenderTask;
  12018. var InternalRenderTask = /*#__PURE__*/function () {
  12019. function InternalRenderTask(_ref24) {
  12020. var callback = _ref24.callback,
  12021. params = _ref24.params,
  12022. objs = _ref24.objs,
  12023. commonObjs = _ref24.commonObjs,
  12024. annotationCanvasMap = _ref24.annotationCanvasMap,
  12025. operatorList = _ref24.operatorList,
  12026. pageIndex = _ref24.pageIndex,
  12027. canvasFactory = _ref24.canvasFactory,
  12028. _ref24$useRequestAnim = _ref24.useRequestAnimationFrame,
  12029. useRequestAnimationFrame = _ref24$useRequestAnim === void 0 ? false : _ref24$useRequestAnim,
  12030. _ref24$pdfBug = _ref24.pdfBug,
  12031. pdfBug = _ref24$pdfBug === void 0 ? false : _ref24$pdfBug;
  12032. _classCallCheck(this, InternalRenderTask);
  12033. this.callback = callback;
  12034. this.params = params;
  12035. this.objs = objs;
  12036. this.commonObjs = commonObjs;
  12037. this.annotationCanvasMap = annotationCanvasMap;
  12038. this.operatorListIdx = null;
  12039. this.operatorList = operatorList;
  12040. this._pageIndex = pageIndex;
  12041. this.canvasFactory = canvasFactory;
  12042. this._pdfBug = pdfBug;
  12043. this.running = false;
  12044. this.graphicsReadyCallback = null;
  12045. this.graphicsReady = false;
  12046. this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined";
  12047. this.cancelled = false;
  12048. this.capability = (0, _util.createPromiseCapability)();
  12049. this.task = new RenderTask(this);
  12050. this._cancelBound = this.cancel.bind(this);
  12051. this._continueBound = this._continue.bind(this);
  12052. this._scheduleNextBound = this._scheduleNext.bind(this);
  12053. this._nextBound = this._next.bind(this);
  12054. this._canvas = params.canvasContext.canvas;
  12055. }
  12056. _createClass(InternalRenderTask, [{
  12057. key: "completed",
  12058. get: function get() {
  12059. return this.capability.promise["catch"](function () {});
  12060. }
  12061. }, {
  12062. key: "initializeGraphics",
  12063. value: function initializeGraphics(_ref25) {
  12064. var _globalThis$StepperMa;
  12065. var _ref25$transparency = _ref25.transparency,
  12066. transparency = _ref25$transparency === void 0 ? false : _ref25$transparency,
  12067. optionalContentConfig = _ref25.optionalContentConfig;
  12068. if (this.cancelled) {
  12069. return;
  12070. }
  12071. if (this._canvas) {
  12072. if (InternalRenderTask.canvasInUse.has(this._canvas)) {
  12073. throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed.");
  12074. }
  12075. InternalRenderTask.canvasInUse.add(this._canvas);
  12076. }
  12077. if (this._pdfBug && (_globalThis$StepperMa = globalThis.StepperManager) !== null && _globalThis$StepperMa !== void 0 && _globalThis$StepperMa.enabled) {
  12078. this.stepper = globalThis.StepperManager.create(this._pageIndex);
  12079. this.stepper.init(this.operatorList);
  12080. this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();
  12081. }
  12082. var _this$params = this.params,
  12083. canvasContext = _this$params.canvasContext,
  12084. viewport = _this$params.viewport,
  12085. transform = _this$params.transform,
  12086. imageLayer = _this$params.imageLayer,
  12087. background = _this$params.background;
  12088. this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, imageLayer, optionalContentConfig, this.annotationCanvasMap);
  12089. this.gfx.beginDrawing({
  12090. transform: transform,
  12091. viewport: viewport,
  12092. transparency: transparency,
  12093. background: background
  12094. });
  12095. this.operatorListIdx = 0;
  12096. this.graphicsReady = true;
  12097. if (this.graphicsReadyCallback) {
  12098. this.graphicsReadyCallback();
  12099. }
  12100. }
  12101. }, {
  12102. key: "cancel",
  12103. value: function cancel() {
  12104. var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
  12105. this.running = false;
  12106. this.cancelled = true;
  12107. if (this.gfx) {
  12108. this.gfx.endDrawing();
  12109. }
  12110. if (this._canvas) {
  12111. InternalRenderTask.canvasInUse["delete"](this._canvas);
  12112. }
  12113. this.callback(error || new _display_utils.RenderingCancelledException("Rendering cancelled, page ".concat(this._pageIndex + 1), "canvas"));
  12114. }
  12115. }, {
  12116. key: "operatorListChanged",
  12117. value: function operatorListChanged() {
  12118. if (!this.graphicsReady) {
  12119. if (!this.graphicsReadyCallback) {
  12120. this.graphicsReadyCallback = this._continueBound;
  12121. }
  12122. return;
  12123. }
  12124. if (this.stepper) {
  12125. this.stepper.updateOperatorList(this.operatorList);
  12126. }
  12127. if (this.running) {
  12128. return;
  12129. }
  12130. this._continue();
  12131. }
  12132. }, {
  12133. key: "_continue",
  12134. value: function _continue() {
  12135. this.running = true;
  12136. if (this.cancelled) {
  12137. return;
  12138. }
  12139. if (this.task.onContinue) {
  12140. this.task.onContinue(this._scheduleNextBound);
  12141. } else {
  12142. this._scheduleNext();
  12143. }
  12144. }
  12145. }, {
  12146. key: "_scheduleNext",
  12147. value: function _scheduleNext() {
  12148. var _this17 = this;
  12149. if (this._useRequestAnimationFrame) {
  12150. window.requestAnimationFrame(function () {
  12151. _this17._nextBound()["catch"](_this17._cancelBound);
  12152. });
  12153. } else {
  12154. Promise.resolve().then(this._nextBound)["catch"](this._cancelBound);
  12155. }
  12156. }
  12157. }, {
  12158. key: "_next",
  12159. value: function () {
  12160. var _next2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
  12161. return _regenerator["default"].wrap(function _callee6$(_context6) {
  12162. while (1) {
  12163. switch (_context6.prev = _context6.next) {
  12164. case 0:
  12165. if (!this.cancelled) {
  12166. _context6.next = 2;
  12167. break;
  12168. }
  12169. return _context6.abrupt("return");
  12170. case 2:
  12171. this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);
  12172. if (this.operatorListIdx === this.operatorList.argsArray.length) {
  12173. this.running = false;
  12174. if (this.operatorList.lastChunk) {
  12175. this.gfx.endDrawing();
  12176. if (this._canvas) {
  12177. InternalRenderTask.canvasInUse["delete"](this._canvas);
  12178. }
  12179. this.callback();
  12180. }
  12181. }
  12182. case 4:
  12183. case "end":
  12184. return _context6.stop();
  12185. }
  12186. }
  12187. }, _callee6, this);
  12188. }));
  12189. function _next() {
  12190. return _next2.apply(this, arguments);
  12191. }
  12192. return _next;
  12193. }()
  12194. }], [{
  12195. key: "canvasInUse",
  12196. get: function get() {
  12197. return (0, _util.shadow)(this, "canvasInUse", new WeakSet());
  12198. }
  12199. }]);
  12200. return InternalRenderTask;
  12201. }();
  12202. var version = '2.12.313';
  12203. exports.version = version;
  12204. var build = 'a2ae56f39';
  12205. exports.build = build;
  12206. /***/ }),
  12207. /* 137 */
  12208. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  12209. "use strict";
  12210. function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  12211. Object.defineProperty(exports, "__esModule", ({
  12212. value: true
  12213. }));
  12214. exports.FontLoader = exports.FontFaceObject = void 0;
  12215. var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
  12216. var _util = __w_pdfjs_require__(4);
  12217. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  12218. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
  12219. function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
  12220. function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
  12221. function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
  12222. function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  12223. function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
  12224. function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
  12225. function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
  12226. function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
  12227. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  12228. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  12229. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  12230. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  12231. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  12232. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  12233. var BaseFontLoader = /*#__PURE__*/function () {
  12234. function BaseFontLoader(_ref) {
  12235. var docId = _ref.docId,
  12236. onUnsupportedFeature = _ref.onUnsupportedFeature,
  12237. _ref$ownerDocument = _ref.ownerDocument,
  12238. ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument,
  12239. _ref$styleElement = _ref.styleElement,
  12240. styleElement = _ref$styleElement === void 0 ? null : _ref$styleElement;
  12241. _classCallCheck(this, BaseFontLoader);
  12242. if (this.constructor === BaseFontLoader) {
  12243. (0, _util.unreachable)("Cannot initialize BaseFontLoader.");
  12244. }
  12245. this.docId = docId;
  12246. this._onUnsupportedFeature = onUnsupportedFeature;
  12247. this._document = ownerDocument;
  12248. this.nativeFontFaces = [];
  12249. this.styleElement = null;
  12250. }
  12251. _createClass(BaseFontLoader, [{
  12252. key: "addNativeFontFace",
  12253. value: function addNativeFontFace(nativeFontFace) {
  12254. this.nativeFontFaces.push(nativeFontFace);
  12255. this._document.fonts.add(nativeFontFace);
  12256. }
  12257. }, {
  12258. key: "insertRule",
  12259. value: function insertRule(rule) {
  12260. var styleElement = this.styleElement;
  12261. if (!styleElement) {
  12262. styleElement = this.styleElement = this._document.createElement("style");
  12263. styleElement.id = "PDFJS_FONT_STYLE_TAG_".concat(this.docId);
  12264. this._document.documentElement.getElementsByTagName("head")[0].appendChild(styleElement);
  12265. }
  12266. var styleSheet = styleElement.sheet;
  12267. styleSheet.insertRule(rule, styleSheet.cssRules.length);
  12268. }
  12269. }, {
  12270. key: "clear",
  12271. value: function clear() {
  12272. var _iterator = _createForOfIteratorHelper(this.nativeFontFaces),
  12273. _step;
  12274. try {
  12275. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  12276. var nativeFontFace = _step.value;
  12277. this._document.fonts["delete"](nativeFontFace);
  12278. }
  12279. } catch (err) {
  12280. _iterator.e(err);
  12281. } finally {
  12282. _iterator.f();
  12283. }
  12284. this.nativeFontFaces.length = 0;
  12285. if (this.styleElement) {
  12286. this.styleElement.remove();
  12287. this.styleElement = null;
  12288. }
  12289. }
  12290. }, {
  12291. key: "bind",
  12292. value: function () {
  12293. var _bind = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(font) {
  12294. var _this = this;
  12295. var nativeFontFace, rule;
  12296. return _regenerator["default"].wrap(function _callee$(_context) {
  12297. while (1) {
  12298. switch (_context.prev = _context.next) {
  12299. case 0:
  12300. if (!(font.attached || font.missingFile)) {
  12301. _context.next = 2;
  12302. break;
  12303. }
  12304. return _context.abrupt("return");
  12305. case 2:
  12306. font.attached = true;
  12307. if (!this.isFontLoadingAPISupported) {
  12308. _context.next = 19;
  12309. break;
  12310. }
  12311. nativeFontFace = font.createNativeFontFace();
  12312. if (!nativeFontFace) {
  12313. _context.next = 18;
  12314. break;
  12315. }
  12316. this.addNativeFontFace(nativeFontFace);
  12317. _context.prev = 7;
  12318. _context.next = 10;
  12319. return nativeFontFace.loaded;
  12320. case 10:
  12321. _context.next = 18;
  12322. break;
  12323. case 12:
  12324. _context.prev = 12;
  12325. _context.t0 = _context["catch"](7);
  12326. this._onUnsupportedFeature({
  12327. featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative
  12328. });
  12329. (0, _util.warn)("Failed to load font '".concat(nativeFontFace.family, "': '").concat(_context.t0, "'."));
  12330. font.disableFontFace = true;
  12331. throw _context.t0;
  12332. case 18:
  12333. return _context.abrupt("return");
  12334. case 19:
  12335. rule = font.createFontFaceRule();
  12336. if (!rule) {
  12337. _context.next = 26;
  12338. break;
  12339. }
  12340. this.insertRule(rule);
  12341. if (!this.isSyncFontLoadingSupported) {
  12342. _context.next = 24;
  12343. break;
  12344. }
  12345. return _context.abrupt("return");
  12346. case 24:
  12347. _context.next = 26;
  12348. return new Promise(function (resolve) {
  12349. var request = _this._queueLoadingCallback(resolve);
  12350. _this._prepareFontLoadEvent([rule], [font], request);
  12351. });
  12352. case 26:
  12353. case "end":
  12354. return _context.stop();
  12355. }
  12356. }
  12357. }, _callee, this, [[7, 12]]);
  12358. }));
  12359. function bind(_x) {
  12360. return _bind.apply(this, arguments);
  12361. }
  12362. return bind;
  12363. }()
  12364. }, {
  12365. key: "_queueLoadingCallback",
  12366. value: function _queueLoadingCallback(callback) {
  12367. (0, _util.unreachable)("Abstract method `_queueLoadingCallback`.");
  12368. }
  12369. }, {
  12370. key: "isFontLoadingAPISupported",
  12371. get: function get() {
  12372. var _this$_document;
  12373. var hasFonts = !!((_this$_document = this._document) !== null && _this$_document !== void 0 && _this$_document.fonts);
  12374. return (0, _util.shadow)(this, "isFontLoadingAPISupported", hasFonts);
  12375. }
  12376. }, {
  12377. key: "isSyncFontLoadingSupported",
  12378. get: function get() {
  12379. (0, _util.unreachable)("Abstract method `isSyncFontLoadingSupported`.");
  12380. }
  12381. }, {
  12382. key: "_loadTestFont",
  12383. get: function get() {
  12384. (0, _util.unreachable)("Abstract method `_loadTestFont`.");
  12385. }
  12386. }, {
  12387. key: "_prepareFontLoadEvent",
  12388. value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {
  12389. (0, _util.unreachable)("Abstract method `_prepareFontLoadEvent`.");
  12390. }
  12391. }]);
  12392. return BaseFontLoader;
  12393. }();
  12394. var FontLoader;
  12395. exports.FontLoader = FontLoader;
  12396. {
  12397. exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {
  12398. _inherits(GenericFontLoader, _BaseFontLoader);
  12399. var _super = _createSuper(GenericFontLoader);
  12400. function GenericFontLoader(params) {
  12401. var _this2;
  12402. _classCallCheck(this, GenericFontLoader);
  12403. _this2 = _super.call(this, params);
  12404. _this2.loadingContext = {
  12405. requests: [],
  12406. nextRequestId: 0
  12407. };
  12408. _this2.loadTestFontId = 0;
  12409. return _this2;
  12410. }
  12411. _createClass(GenericFontLoader, [{
  12412. key: "isSyncFontLoadingSupported",
  12413. get: function get() {
  12414. var supported = false;
  12415. if (typeof navigator === "undefined") {
  12416. supported = true;
  12417. } else {
  12418. var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);
  12419. if ((m === null || m === void 0 ? void 0 : m[1]) >= 14) {
  12420. supported = true;
  12421. }
  12422. }
  12423. return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported);
  12424. }
  12425. }, {
  12426. key: "_queueLoadingCallback",
  12427. value: function _queueLoadingCallback(callback) {
  12428. function completeRequest() {
  12429. (0, _util.assert)(!request.done, "completeRequest() cannot be called twice.");
  12430. request.done = true;
  12431. while (context.requests.length > 0 && context.requests[0].done) {
  12432. var otherRequest = context.requests.shift();
  12433. setTimeout(otherRequest.callback, 0);
  12434. }
  12435. }
  12436. var context = this.loadingContext;
  12437. var request = {
  12438. id: "pdfjs-font-loading-".concat(context.nextRequestId++),
  12439. done: false,
  12440. complete: completeRequest,
  12441. callback: callback
  12442. };
  12443. context.requests.push(request);
  12444. return request;
  12445. }
  12446. }, {
  12447. key: "_loadTestFont",
  12448. get: function get() {
  12449. var getLoadTestFont = function getLoadTestFont() {
  12450. return atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA" + "FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA" + "ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA" + "AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1" + "AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD" + "6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM" + "AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D" + "IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA" + "AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA" + "AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB" + "AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY" + "AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA" + "AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA" + "AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC" + "AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3" + "Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj" + "FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");
  12451. };
  12452. return (0, _util.shadow)(this, "_loadTestFont", getLoadTestFont());
  12453. }
  12454. }, {
  12455. key: "_prepareFontLoadEvent",
  12456. value: function _prepareFontLoadEvent(rules, fonts, request) {
  12457. function int32(data, offset) {
  12458. return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;
  12459. }
  12460. function spliceString(s, offset, remove, insert) {
  12461. var chunk1 = s.substring(0, offset);
  12462. var chunk2 = s.substring(offset + remove);
  12463. return chunk1 + insert + chunk2;
  12464. }
  12465. var i, ii;
  12466. var canvas = this._document.createElement("canvas");
  12467. canvas.width = 1;
  12468. canvas.height = 1;
  12469. var ctx = canvas.getContext("2d");
  12470. var called = 0;
  12471. function isFontReady(name, callback) {
  12472. called++;
  12473. if (called > 30) {
  12474. (0, _util.warn)("Load test font never loaded.");
  12475. callback();
  12476. return;
  12477. }
  12478. ctx.font = "30px " + name;
  12479. ctx.fillText(".", 0, 20);
  12480. var imageData = ctx.getImageData(0, 0, 1, 1);
  12481. if (imageData.data[3] > 0) {
  12482. callback();
  12483. return;
  12484. }
  12485. setTimeout(isFontReady.bind(null, name, callback));
  12486. }
  12487. var loadTestFontId = "lt".concat(Date.now()).concat(this.loadTestFontId++);
  12488. var data = this._loadTestFont;
  12489. var COMMENT_OFFSET = 976;
  12490. data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);
  12491. var CFF_CHECKSUM_OFFSET = 16;
  12492. var XXXX_VALUE = 0x58585858;
  12493. var checksum = int32(data, CFF_CHECKSUM_OFFSET);
  12494. for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {
  12495. checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;
  12496. }
  12497. if (i < loadTestFontId.length) {
  12498. checksum = checksum - XXXX_VALUE + int32(loadTestFontId + "XXX", i) | 0;
  12499. }
  12500. data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));
  12501. var url = "url(data:font/opentype;base64,".concat(btoa(data), ");");
  12502. var rule = "@font-face {font-family:\"".concat(loadTestFontId, "\";src:").concat(url, "}");
  12503. this.insertRule(rule);
  12504. var names = [];
  12505. var _iterator2 = _createForOfIteratorHelper(fonts),
  12506. _step2;
  12507. try {
  12508. for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
  12509. var font = _step2.value;
  12510. names.push(font.loadedName);
  12511. }
  12512. } catch (err) {
  12513. _iterator2.e(err);
  12514. } finally {
  12515. _iterator2.f();
  12516. }
  12517. names.push(loadTestFontId);
  12518. var div = this._document.createElement("div");
  12519. div.style.visibility = "hidden";
  12520. div.style.width = div.style.height = "10px";
  12521. div.style.position = "absolute";
  12522. div.style.top = div.style.left = "0px";
  12523. for (var _i = 0, _names = names; _i < _names.length; _i++) {
  12524. var name = _names[_i];
  12525. var span = this._document.createElement("span");
  12526. span.textContent = "Hi";
  12527. span.style.fontFamily = name;
  12528. div.appendChild(span);
  12529. }
  12530. this._document.body.appendChild(div);
  12531. isFontReady(loadTestFontId, function () {
  12532. div.remove();
  12533. request.complete();
  12534. });
  12535. }
  12536. }]);
  12537. return GenericFontLoader;
  12538. }(BaseFontLoader);
  12539. }
  12540. var FontFaceObject = /*#__PURE__*/function () {
  12541. function FontFaceObject(translatedData, _ref2) {
  12542. var _ref2$isEvalSupported = _ref2.isEvalSupported,
  12543. isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,
  12544. _ref2$disableFontFace = _ref2.disableFontFace,
  12545. disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,
  12546. _ref2$ignoreErrors = _ref2.ignoreErrors,
  12547. ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,
  12548. onUnsupportedFeature = _ref2.onUnsupportedFeature,
  12549. _ref2$fontRegistry = _ref2.fontRegistry,
  12550. fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;
  12551. _classCallCheck(this, FontFaceObject);
  12552. this.compiledGlyphs = Object.create(null);
  12553. for (var i in translatedData) {
  12554. this[i] = translatedData[i];
  12555. }
  12556. this.isEvalSupported = isEvalSupported !== false;
  12557. this.disableFontFace = disableFontFace === true;
  12558. this.ignoreErrors = ignoreErrors === true;
  12559. this._onUnsupportedFeature = onUnsupportedFeature;
  12560. this.fontRegistry = fontRegistry;
  12561. }
  12562. _createClass(FontFaceObject, [{
  12563. key: "createNativeFontFace",
  12564. value: function createNativeFontFace() {
  12565. if (!this.data || this.disableFontFace) {
  12566. return null;
  12567. }
  12568. var nativeFontFace;
  12569. if (!this.cssFontInfo) {
  12570. nativeFontFace = new FontFace(this.loadedName, this.data, {});
  12571. } else {
  12572. var css = {
  12573. weight: this.cssFontInfo.fontWeight
  12574. };
  12575. if (this.cssFontInfo.italicAngle) {
  12576. css.style = "oblique ".concat(this.cssFontInfo.italicAngle, "deg");
  12577. }
  12578. nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css);
  12579. }
  12580. if (this.fontRegistry) {
  12581. this.fontRegistry.registerFont(this);
  12582. }
  12583. return nativeFontFace;
  12584. }
  12585. }, {
  12586. key: "createFontFaceRule",
  12587. value: function createFontFaceRule() {
  12588. if (!this.data || this.disableFontFace) {
  12589. return null;
  12590. }
  12591. var data = (0, _util.bytesToString)(this.data);
  12592. var url = "url(data:".concat(this.mimetype, ";base64,").concat(btoa(data), ");");
  12593. var rule;
  12594. if (!this.cssFontInfo) {
  12595. rule = "@font-face {font-family:\"".concat(this.loadedName, "\";src:").concat(url, "}");
  12596. } else {
  12597. var css = "font-weight: ".concat(this.cssFontInfo.fontWeight, ";");
  12598. if (this.cssFontInfo.italicAngle) {
  12599. css += "font-style: oblique ".concat(this.cssFontInfo.italicAngle, "deg;");
  12600. }
  12601. rule = "@font-face {font-family:\"".concat(this.cssFontInfo.fontFamily, "\";").concat(css, "src:").concat(url, "}");
  12602. }
  12603. if (this.fontRegistry) {
  12604. this.fontRegistry.registerFont(this, url);
  12605. }
  12606. return rule;
  12607. }
  12608. }, {
  12609. key: "getPathGenerator",
  12610. value: function getPathGenerator(objs, character) {
  12611. if (this.compiledGlyphs[character] !== undefined) {
  12612. return this.compiledGlyphs[character];
  12613. }
  12614. var cmds;
  12615. try {
  12616. cmds = objs.get(this.loadedName + "_path_" + character);
  12617. } catch (ex) {
  12618. if (!this.ignoreErrors) {
  12619. throw ex;
  12620. }
  12621. this._onUnsupportedFeature({
  12622. featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath
  12623. });
  12624. (0, _util.warn)("getPathGenerator - ignoring character: \"".concat(ex, "\"."));
  12625. return this.compiledGlyphs[character] = function (c, size) {};
  12626. }
  12627. if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {
  12628. var jsBuf = [];
  12629. var _iterator3 = _createForOfIteratorHelper(cmds),
  12630. _step3;
  12631. try {
  12632. for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
  12633. var current = _step3.value;
  12634. var args = current.args !== undefined ? current.args.join(",") : "";
  12635. jsBuf.push("c.", current.cmd, "(", args, ");\n");
  12636. }
  12637. } catch (err) {
  12638. _iterator3.e(err);
  12639. } finally {
  12640. _iterator3.f();
  12641. }
  12642. return this.compiledGlyphs[character] = new Function("c", "size", jsBuf.join(""));
  12643. }
  12644. return this.compiledGlyphs[character] = function (c, size) {
  12645. var _iterator4 = _createForOfIteratorHelper(cmds),
  12646. _step4;
  12647. try {
  12648. for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
  12649. var _current = _step4.value;
  12650. if (_current.cmd === "scale") {
  12651. _current.args = [size, -size];
  12652. }
  12653. c[_current.cmd].apply(c, _current.args);
  12654. }
  12655. } catch (err) {
  12656. _iterator4.e(err);
  12657. } finally {
  12658. _iterator4.f();
  12659. }
  12660. };
  12661. }
  12662. }]);
  12663. return FontFaceObject;
  12664. }();
  12665. exports.FontFaceObject = FontFaceObject;
  12666. /***/ }),
  12667. /* 138 */
  12668. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  12669. "use strict";
  12670. function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  12671. Object.defineProperty(exports, "__esModule", ({
  12672. value: true
  12673. }));
  12674. exports.NodeStandardFontDataFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0;
  12675. var _base_factory = __w_pdfjs_require__(135);
  12676. var _is_node = __w_pdfjs_require__(6);
  12677. var _util = __w_pdfjs_require__(4);
  12678. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  12679. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  12680. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
  12681. function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
  12682. function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
  12683. function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
  12684. function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  12685. function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
  12686. function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
  12687. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  12688. var NodeCanvasFactory = function NodeCanvasFactory() {
  12689. _classCallCheck(this, NodeCanvasFactory);
  12690. (0, _util.unreachable)("Not implemented: NodeCanvasFactory");
  12691. };
  12692. exports.NodeCanvasFactory = NodeCanvasFactory;
  12693. var NodeCMapReaderFactory = function NodeCMapReaderFactory() {
  12694. _classCallCheck(this, NodeCMapReaderFactory);
  12695. (0, _util.unreachable)("Not implemented: NodeCMapReaderFactory");
  12696. };
  12697. exports.NodeCMapReaderFactory = NodeCMapReaderFactory;
  12698. var NodeStandardFontDataFactory = function NodeStandardFontDataFactory() {
  12699. _classCallCheck(this, NodeStandardFontDataFactory);
  12700. (0, _util.unreachable)("Not implemented: NodeStandardFontDataFactory");
  12701. };
  12702. exports.NodeStandardFontDataFactory = NodeStandardFontDataFactory;
  12703. if (_is_node.isNodeJS) {
  12704. var fetchData = function fetchData(url) {
  12705. return new Promise(function (resolve, reject) {
  12706. var fs = require("fs");
  12707. fs.readFile(url, function (error, data) {
  12708. if (error || !data) {
  12709. reject(new Error(error));
  12710. return;
  12711. }
  12712. resolve(new Uint8Array(data));
  12713. });
  12714. });
  12715. };
  12716. exports.NodeCanvasFactory = NodeCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {
  12717. _inherits(NodeCanvasFactory, _BaseCanvasFactory);
  12718. var _super = _createSuper(NodeCanvasFactory);
  12719. function NodeCanvasFactory() {
  12720. _classCallCheck(this, NodeCanvasFactory);
  12721. return _super.apply(this, arguments);
  12722. }
  12723. _createClass(NodeCanvasFactory, [{
  12724. key: "_createCanvas",
  12725. value: function _createCanvas(width, height) {
  12726. var Canvas = require("canvas");
  12727. return Canvas.createCanvas(width, height);
  12728. }
  12729. }]);
  12730. return NodeCanvasFactory;
  12731. }(_base_factory.BaseCanvasFactory);
  12732. exports.NodeCMapReaderFactory = NodeCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {
  12733. _inherits(NodeCMapReaderFactory, _BaseCMapReaderFactor);
  12734. var _super2 = _createSuper(NodeCMapReaderFactory);
  12735. function NodeCMapReaderFactory() {
  12736. _classCallCheck(this, NodeCMapReaderFactory);
  12737. return _super2.apply(this, arguments);
  12738. }
  12739. _createClass(NodeCMapReaderFactory, [{
  12740. key: "_fetchData",
  12741. value: function _fetchData(url, compressionType) {
  12742. return fetchData(url).then(function (data) {
  12743. return {
  12744. cMapData: data,
  12745. compressionType: compressionType
  12746. };
  12747. });
  12748. }
  12749. }]);
  12750. return NodeCMapReaderFactory;
  12751. }(_base_factory.BaseCMapReaderFactory);
  12752. exports.NodeStandardFontDataFactory = NodeStandardFontDataFactory = /*#__PURE__*/function (_BaseStandardFontData) {
  12753. _inherits(NodeStandardFontDataFactory, _BaseStandardFontData);
  12754. var _super3 = _createSuper(NodeStandardFontDataFactory);
  12755. function NodeStandardFontDataFactory() {
  12756. _classCallCheck(this, NodeStandardFontDataFactory);
  12757. return _super3.apply(this, arguments);
  12758. }
  12759. _createClass(NodeStandardFontDataFactory, [{
  12760. key: "_fetchData",
  12761. value: function _fetchData(url) {
  12762. return fetchData(url);
  12763. }
  12764. }]);
  12765. return NodeStandardFontDataFactory;
  12766. }(_base_factory.BaseStandardFontDataFactory);
  12767. }
  12768. /***/ }),
  12769. /* 139 */
  12770. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  12771. "use strict";
  12772. Object.defineProperty(exports, "__esModule", ({
  12773. value: true
  12774. }));
  12775. exports.AnnotationStorage = void 0;
  12776. var _util = __w_pdfjs_require__(4);
  12777. function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
  12778. function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
  12779. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  12780. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  12781. function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
  12782. function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
  12783. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  12784. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  12785. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  12786. var AnnotationStorage = /*#__PURE__*/function () {
  12787. function AnnotationStorage() {
  12788. _classCallCheck(this, AnnotationStorage);
  12789. this._storage = new Map();
  12790. this._timeStamp = Date.now();
  12791. this._modified = false;
  12792. this.onSetModified = null;
  12793. this.onResetModified = null;
  12794. }
  12795. _createClass(AnnotationStorage, [{
  12796. key: "getValue",
  12797. value: function getValue(key, defaultValue) {
  12798. var value = this._storage.get(key);
  12799. if (value === undefined) {
  12800. return defaultValue;
  12801. }
  12802. return Object.assign(defaultValue, value);
  12803. }
  12804. }, {
  12805. key: "setValue",
  12806. value: function setValue(key, value) {
  12807. var obj = this._storage.get(key);
  12808. var modified = false;
  12809. if (obj !== undefined) {
  12810. for (var _i = 0, _Object$entries = Object.entries(value); _i < _Object$entries.length; _i++) {
  12811. var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
  12812. entry = _Object$entries$_i[0],
  12813. val = _Object$entries$_i[1];
  12814. if (obj[entry] !== val) {
  12815. modified = true;
  12816. obj[entry] = val;
  12817. }
  12818. }
  12819. } else {
  12820. modified = true;
  12821. this._storage.set(key, value);
  12822. }
  12823. if (modified) {
  12824. this._timeStamp = Date.now();
  12825. this._setModified();
  12826. }
  12827. }
  12828. }, {
  12829. key: "getAll",
  12830. value: function getAll() {
  12831. return this._storage.size > 0 ? (0, _util.objectFromMap)(this._storage) : null;
  12832. }
  12833. }, {
  12834. key: "size",
  12835. get: function get() {
  12836. return this._storage.size;
  12837. }
  12838. }, {
  12839. key: "_setModified",
  12840. value: function _setModified() {
  12841. if (!this._modified) {
  12842. this._modified = true;
  12843. if (typeof this.onSetModified === "function") {
  12844. this.onSetModified();
  12845. }
  12846. }
  12847. }
  12848. }, {
  12849. key: "resetModified",
  12850. value: function resetModified() {
  12851. if (this._modified) {
  12852. this._modified = false;
  12853. if (typeof this.onResetModified === "function") {
  12854. this.onResetModified();
  12855. }
  12856. }
  12857. }
  12858. }, {
  12859. key: "serializable",
  12860. get: function get() {
  12861. return this._storage.size > 0 ? this._storage : null;
  12862. }
  12863. }, {
  12864. key: "lastModified",
  12865. get: function get() {
  12866. return this._timeStamp.toString();
  12867. }
  12868. }]);
  12869. return AnnotationStorage;
  12870. }();
  12871. exports.AnnotationStorage = AnnotationStorage;
  12872. /***/ }),
  12873. /* 140 */
  12874. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  12875. "use strict";
  12876. Object.defineProperty(exports, "__esModule", ({
  12877. value: true
  12878. }));
  12879. exports.CanvasGraphics = void 0;
  12880. var _util = __w_pdfjs_require__(4);
  12881. var _pattern_helper = __w_pdfjs_require__(141);
  12882. var _display_utils = __w_pdfjs_require__(1);
  12883. function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  12884. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  12885. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  12886. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  12887. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  12888. function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
  12889. function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
  12890. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  12891. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  12892. function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
  12893. function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
  12894. var MIN_FONT_SIZE = 16;
  12895. var MAX_FONT_SIZE = 100;
  12896. var MAX_GROUP_SIZE = 4096;
  12897. var EXECUTION_TIME = 15;
  12898. var EXECUTION_STEPS = 10;
  12899. var COMPILE_TYPE3_GLYPHS = true;
  12900. var MAX_SIZE_TO_COMPILE = 1000;
  12901. var FULL_CHUNK_HEIGHT = 16;
  12902. var LINEWIDTH_SCALE_FACTOR = 1.000001;
  12903. function mirrorContextOperations(ctx, destCtx) {
  12904. if (ctx._removeMirroring) {
  12905. throw new Error("Context is already forwarding operations.");
  12906. }
  12907. ctx.__originalSave = ctx.save;
  12908. ctx.__originalRestore = ctx.restore;
  12909. ctx.__originalRotate = ctx.rotate;
  12910. ctx.__originalScale = ctx.scale;
  12911. ctx.__originalTranslate = ctx.translate;
  12912. ctx.__originalTransform = ctx.transform;
  12913. ctx.__originalSetTransform = ctx.setTransform;
  12914. ctx.__originalResetTransform = ctx.resetTransform;
  12915. ctx.__originalClip = ctx.clip;
  12916. ctx.__originalMoveTo = ctx.moveTo;
  12917. ctx.__originalLineTo = ctx.lineTo;
  12918. ctx.__originalBezierCurveTo = ctx.bezierCurveTo;
  12919. ctx.__originalRect = ctx.rect;
  12920. ctx.__originalClosePath = ctx.closePath;
  12921. ctx.__originalBeginPath = ctx.beginPath;
  12922. ctx._removeMirroring = function () {
  12923. ctx.save = ctx.__originalSave;
  12924. ctx.restore = ctx.__originalRestore;
  12925. ctx.rotate = ctx.__originalRotate;
  12926. ctx.scale = ctx.__originalScale;
  12927. ctx.translate = ctx.__originalTranslate;
  12928. ctx.transform = ctx.__originalTransform;
  12929. ctx.setTransform = ctx.__originalSetTransform;
  12930. ctx.resetTransform = ctx.__originalResetTransform;
  12931. ctx.clip = ctx.__originalClip;
  12932. ctx.moveTo = ctx.__originalMoveTo;
  12933. ctx.lineTo = ctx.__originalLineTo;
  12934. ctx.bezierCurveTo = ctx.__originalBezierCurveTo;
  12935. ctx.rect = ctx.__originalRect;
  12936. ctx.closePath = ctx.__originalClosePath;
  12937. ctx.beginPath = ctx.__originalBeginPath;
  12938. delete ctx._removeMirroring;
  12939. };
  12940. ctx.save = function ctxSave() {
  12941. destCtx.save();
  12942. this.__originalSave();
  12943. };
  12944. ctx.restore = function ctxRestore() {
  12945. destCtx.restore();
  12946. this.__originalRestore();
  12947. };
  12948. ctx.translate = function ctxTranslate(x, y) {
  12949. destCtx.translate(x, y);
  12950. this.__originalTranslate(x, y);
  12951. };
  12952. ctx.scale = function ctxScale(x, y) {
  12953. destCtx.scale(x, y);
  12954. this.__originalScale(x, y);
  12955. };
  12956. ctx.transform = function ctxTransform(a, b, c, d, e, f) {
  12957. destCtx.transform(a, b, c, d, e, f);
  12958. this.__originalTransform(a, b, c, d, e, f);
  12959. };
  12960. ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {
  12961. destCtx.setTransform(a, b, c, d, e, f);
  12962. this.__originalSetTransform(a, b, c, d, e, f);
  12963. };
  12964. ctx.resetTransform = function ctxResetTransform() {
  12965. destCtx.resetTransform();
  12966. this.__originalResetTransform();
  12967. };
  12968. ctx.rotate = function ctxRotate(angle) {
  12969. destCtx.rotate(angle);
  12970. this.__originalRotate(angle);
  12971. };
  12972. ctx.clip = function ctxRotate(rule) {
  12973. destCtx.clip(rule);
  12974. this.__originalClip(rule);
  12975. };
  12976. ctx.moveTo = function (x, y) {
  12977. destCtx.moveTo(x, y);
  12978. this.__originalMoveTo(x, y);
  12979. };
  12980. ctx.lineTo = function (x, y) {
  12981. destCtx.lineTo(x, y);
  12982. this.__originalLineTo(x, y);
  12983. };
  12984. ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) {
  12985. destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);
  12986. this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);
  12987. };
  12988. ctx.rect = function (x, y, width, height) {
  12989. destCtx.rect(x, y, width, height);
  12990. this.__originalRect(x, y, width, height);
  12991. };
  12992. ctx.closePath = function () {
  12993. destCtx.closePath();
  12994. this.__originalClosePath();
  12995. };
  12996. ctx.beginPath = function () {
  12997. destCtx.beginPath();
  12998. this.__originalBeginPath();
  12999. };
  13000. }
  13001. function addContextCurrentTransform(ctx) {
  13002. if (ctx.mozCurrentTransform) {
  13003. return;
  13004. }
  13005. ctx._originalSave = ctx.save;
  13006. ctx._originalRestore = ctx.restore;
  13007. ctx._originalRotate = ctx.rotate;
  13008. ctx._originalScale = ctx.scale;
  13009. ctx._originalTranslate = ctx.translate;
  13010. ctx._originalTransform = ctx.transform;
  13011. ctx._originalSetTransform = ctx.setTransform;
  13012. ctx._originalResetTransform = ctx.resetTransform;
  13013. ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];
  13014. ctx._transformStack = [];
  13015. try {
  13016. var desc = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(ctx), "lineWidth");
  13017. ctx._setLineWidth = desc.set;
  13018. ctx._getLineWidth = desc.get;
  13019. Object.defineProperty(ctx, "lineWidth", {
  13020. set: function setLineWidth(width) {
  13021. this._setLineWidth(width * LINEWIDTH_SCALE_FACTOR);
  13022. },
  13023. get: function getLineWidth() {
  13024. return this._getLineWidth();
  13025. }
  13026. });
  13027. } catch (_) {}
  13028. Object.defineProperty(ctx, "mozCurrentTransform", {
  13029. get: function getCurrentTransform() {
  13030. return this._transformMatrix;
  13031. }
  13032. });
  13033. Object.defineProperty(ctx, "mozCurrentTransformInverse", {
  13034. get: function getCurrentTransformInverse() {
  13035. var _this$_transformMatri = _slicedToArray(this._transformMatrix, 6),
  13036. a = _this$_transformMatri[0],
  13037. b = _this$_transformMatri[1],
  13038. c = _this$_transformMatri[2],
  13039. d = _this$_transformMatri[3],
  13040. e = _this$_transformMatri[4],
  13041. f = _this$_transformMatri[5];
  13042. var ad_bc = a * d - b * c;
  13043. var bc_ad = b * c - a * d;
  13044. return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];
  13045. }
  13046. });
  13047. ctx.save = function ctxSave() {
  13048. var old = this._transformMatrix;
  13049. this._transformStack.push(old);
  13050. this._transformMatrix = old.slice(0, 6);
  13051. this._originalSave();
  13052. };
  13053. ctx.restore = function ctxRestore() {
  13054. var prev = this._transformStack.pop();
  13055. if (prev) {
  13056. this._transformMatrix = prev;
  13057. this._originalRestore();
  13058. }
  13059. };
  13060. ctx.translate = function ctxTranslate(x, y) {
  13061. var m = this._transformMatrix;
  13062. m[4] = m[0] * x + m[2] * y + m[4];
  13063. m[5] = m[1] * x + m[3] * y + m[5];
  13064. this._originalTranslate(x, y);
  13065. };
  13066. ctx.scale = function ctxScale(x, y) {
  13067. var m = this._transformMatrix;
  13068. m[0] *= x;
  13069. m[1] *= x;
  13070. m[2] *= y;
  13071. m[3] *= y;
  13072. this._originalScale(x, y);
  13073. };
  13074. ctx.transform = function ctxTransform(a, b, c, d, e, f) {
  13075. var m = this._transformMatrix;
  13076. this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];
  13077. ctx._originalTransform(a, b, c, d, e, f);
  13078. };
  13079. ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {
  13080. this._transformMatrix = [a, b, c, d, e, f];
  13081. ctx._originalSetTransform(a, b, c, d, e, f);
  13082. };
  13083. ctx.resetTransform = function ctxResetTransform() {
  13084. this._transformMatrix = [1, 0, 0, 1, 0, 0];
  13085. ctx._originalResetTransform();
  13086. };
  13087. ctx.rotate = function ctxRotate(angle) {
  13088. var cosValue = Math.cos(angle);
  13089. var sinValue = Math.sin(angle);
  13090. var m = this._transformMatrix;
  13091. this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];
  13092. this._originalRotate(angle);
  13093. };
  13094. }
  13095. var CachedCanvases = /*#__PURE__*/function () {
  13096. function CachedCanvases(canvasFactory) {
  13097. _classCallCheck(this, CachedCanvases);
  13098. this.canvasFactory = canvasFactory;
  13099. this.cache = Object.create(null);
  13100. }
  13101. _createClass(CachedCanvases, [{
  13102. key: "getCanvas",
  13103. value: function getCanvas(id, width, height, trackTransform) {
  13104. var canvasEntry;
  13105. if (this.cache[id] !== undefined) {
  13106. canvasEntry = this.cache[id];
  13107. this.canvasFactory.reset(canvasEntry, width, height);
  13108. canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);
  13109. } else {
  13110. canvasEntry = this.canvasFactory.create(width, height);
  13111. this.cache[id] = canvasEntry;
  13112. }
  13113. if (trackTransform) {
  13114. addContextCurrentTransform(canvasEntry.context);
  13115. }
  13116. return canvasEntry;
  13117. }
  13118. }, {
  13119. key: "clear",
  13120. value: function clear() {
  13121. for (var id in this.cache) {
  13122. var canvasEntry = this.cache[id];
  13123. this.canvasFactory.destroy(canvasEntry);
  13124. delete this.cache[id];
  13125. }
  13126. }
  13127. }]);
  13128. return CachedCanvases;
  13129. }();
  13130. function compileType3Glyph(imgData) {
  13131. var POINT_TO_PROCESS_LIMIT = 1000;
  13132. var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);
  13133. var width = imgData.width,
  13134. height = imgData.height,
  13135. width1 = width + 1;
  13136. var i, ii, j, j0;
  13137. var points = new Uint8Array(width1 * (height + 1));
  13138. var lineSize = width + 7 & ~7,
  13139. data0 = imgData.data;
  13140. var data = new Uint8Array(lineSize * height);
  13141. var pos = 0;
  13142. for (i = 0, ii = data0.length; i < ii; i++) {
  13143. var elem = data0[i];
  13144. var mask = 128;
  13145. while (mask > 0) {
  13146. data[pos++] = elem & mask ? 0 : 255;
  13147. mask >>= 1;
  13148. }
  13149. }
  13150. var count = 0;
  13151. pos = 0;
  13152. if (data[pos] !== 0) {
  13153. points[0] = 1;
  13154. ++count;
  13155. }
  13156. for (j = 1; j < width; j++) {
  13157. if (data[pos] !== data[pos + 1]) {
  13158. points[j] = data[pos] ? 2 : 1;
  13159. ++count;
  13160. }
  13161. pos++;
  13162. }
  13163. if (data[pos] !== 0) {
  13164. points[j] = 2;
  13165. ++count;
  13166. }
  13167. for (i = 1; i < height; i++) {
  13168. pos = i * lineSize;
  13169. j0 = i * width1;
  13170. if (data[pos - lineSize] !== data[pos]) {
  13171. points[j0] = data[pos] ? 1 : 8;
  13172. ++count;
  13173. }
  13174. var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);
  13175. for (j = 1; j < width; j++) {
  13176. sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);
  13177. if (POINT_TYPES[sum]) {
  13178. points[j0 + j] = POINT_TYPES[sum];
  13179. ++count;
  13180. }
  13181. pos++;
  13182. }
  13183. if (data[pos - lineSize] !== data[pos]) {
  13184. points[j0 + j] = data[pos] ? 2 : 4;
  13185. ++count;
  13186. }
  13187. if (count > POINT_TO_PROCESS_LIMIT) {
  13188. return null;
  13189. }
  13190. }
  13191. pos = lineSize * (height - 1);
  13192. j0 = i * width1;
  13193. if (data[pos] !== 0) {
  13194. points[j0] = 8;
  13195. ++count;
  13196. }
  13197. for (j = 1; j < width; j++) {
  13198. if (data[pos] !== data[pos + 1]) {
  13199. points[j0 + j] = data[pos] ? 4 : 8;
  13200. ++count;
  13201. }
  13202. pos++;
  13203. }
  13204. if (data[pos] !== 0) {
  13205. points[j0 + j] = 4;
  13206. ++count;
  13207. }
  13208. if (count > POINT_TO_PROCESS_LIMIT) {
  13209. return null;
  13210. }
  13211. var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);
  13212. var outlines = [];
  13213. for (i = 0; count && i <= height; i++) {
  13214. var p = i * width1;
  13215. var end = p + width;
  13216. while (p < end && !points[p]) {
  13217. p++;
  13218. }
  13219. if (p === end) {
  13220. continue;
  13221. }
  13222. var coords = [p % width1, i];
  13223. var p0 = p;
  13224. var type = points[p];
  13225. do {
  13226. var step = steps[type];
  13227. do {
  13228. p += step;
  13229. } while (!points[p]);
  13230. var pp = points[p];
  13231. if (pp !== 5 && pp !== 10) {
  13232. type = pp;
  13233. points[p] = 0;
  13234. } else {
  13235. type = pp & 0x33 * type >> 4;
  13236. points[p] &= type >> 2 | type << 2;
  13237. }
  13238. coords.push(p % width1, p / width1 | 0);
  13239. if (!points[p]) {
  13240. --count;
  13241. }
  13242. } while (p0 !== p);
  13243. outlines.push(coords);
  13244. --i;
  13245. }
  13246. var drawOutline = function drawOutline(c) {
  13247. c.save();
  13248. c.scale(1 / width, -1 / height);
  13249. c.translate(0, -height);
  13250. c.beginPath();
  13251. for (var k = 0, kk = outlines.length; k < kk; k++) {
  13252. var o = outlines[k];
  13253. c.moveTo(o[0], o[1]);
  13254. for (var l = 2, ll = o.length; l < ll; l += 2) {
  13255. c.lineTo(o[l], o[l + 1]);
  13256. }
  13257. }
  13258. c.fill();
  13259. c.beginPath();
  13260. c.restore();
  13261. };
  13262. return drawOutline;
  13263. }
  13264. var CanvasExtraState = /*#__PURE__*/function () {
  13265. function CanvasExtraState(width, height) {
  13266. _classCallCheck(this, CanvasExtraState);
  13267. this.alphaIsShape = false;
  13268. this.fontSize = 0;
  13269. this.fontSizeScale = 1;
  13270. this.textMatrix = _util.IDENTITY_MATRIX;
  13271. this.textMatrixScale = 1;
  13272. this.fontMatrix = _util.FONT_IDENTITY_MATRIX;
  13273. this.leading = 0;
  13274. this.x = 0;
  13275. this.y = 0;
  13276. this.lineX = 0;
  13277. this.lineY = 0;
  13278. this.charSpacing = 0;
  13279. this.wordSpacing = 0;
  13280. this.textHScale = 1;
  13281. this.textRenderingMode = _util.TextRenderingMode.FILL;
  13282. this.textRise = 0;
  13283. this.fillColor = "#000000";
  13284. this.strokeColor = "#000000";
  13285. this.patternFill = false;
  13286. this.fillAlpha = 1;
  13287. this.strokeAlpha = 1;
  13288. this.lineWidth = 1;
  13289. this.activeSMask = null;
  13290. this.transferMaps = null;
  13291. this.startNewPathAndClipBox([0, 0, width, height]);
  13292. }
  13293. _createClass(CanvasExtraState, [{
  13294. key: "clone",
  13295. value: function clone() {
  13296. var clone = Object.create(this);
  13297. clone.clipBox = this.clipBox.slice();
  13298. return clone;
  13299. }
  13300. }, {
  13301. key: "setCurrentPoint",
  13302. value: function setCurrentPoint(x, y) {
  13303. this.x = x;
  13304. this.y = y;
  13305. }
  13306. }, {
  13307. key: "updatePathMinMax",
  13308. value: function updatePathMinMax(transform, x, y) {
  13309. var _Util$applyTransform = _util.Util.applyTransform([x, y], transform);
  13310. var _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2);
  13311. x = _Util$applyTransform2[0];
  13312. y = _Util$applyTransform2[1];
  13313. this.minX = Math.min(this.minX, x);
  13314. this.minY = Math.min(this.minY, y);
  13315. this.maxX = Math.max(this.maxX, x);
  13316. this.maxY = Math.max(this.maxY, y);
  13317. }
  13318. }, {
  13319. key: "updateCurvePathMinMax",
  13320. value: function updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3) {
  13321. var box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3);
  13322. this.updatePathMinMax(transform, box[0], box[1]);
  13323. this.updatePathMinMax(transform, box[2], box[3]);
  13324. }
  13325. }, {
  13326. key: "getPathBoundingBox",
  13327. value: function getPathBoundingBox() {
  13328. var pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL;
  13329. var transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
  13330. var box = [this.minX, this.minY, this.maxX, this.maxY];
  13331. if (pathType === _pattern_helper.PathType.STROKE) {
  13332. if (!transform) {
  13333. (0, _util.unreachable)("Stroke bounding box must include transform.");
  13334. }
  13335. var scale = _util.Util.singularValueDecompose2dScale(transform);
  13336. var xStrokePad = scale[0] * this.lineWidth / 2;
  13337. var yStrokePad = scale[1] * this.lineWidth / 2;
  13338. box[0] -= xStrokePad;
  13339. box[1] -= yStrokePad;
  13340. box[2] += xStrokePad;
  13341. box[3] += yStrokePad;
  13342. }
  13343. return box;
  13344. }
  13345. }, {
  13346. key: "updateClipFromPath",
  13347. value: function updateClipFromPath() {
  13348. var intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox());
  13349. this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]);
  13350. }
  13351. }, {
  13352. key: "startNewPathAndClipBox",
  13353. value: function startNewPathAndClipBox(box) {
  13354. this.clipBox = box;
  13355. this.minX = Infinity;
  13356. this.minY = Infinity;
  13357. this.maxX = 0;
  13358. this.maxY = 0;
  13359. }
  13360. }, {
  13361. key: "getClippedPathBoundingBox",
  13362. value: function getClippedPathBoundingBox() {
  13363. var pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL;
  13364. var transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
  13365. return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform));
  13366. }
  13367. }]);
  13368. return CanvasExtraState;
  13369. }();
  13370. function putBinaryImageData(ctx, imgData) {
  13371. var transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
  13372. if (typeof ImageData !== "undefined" && imgData instanceof ImageData) {
  13373. ctx.putImageData(imgData, 0, 0);
  13374. return;
  13375. }
  13376. var height = imgData.height,
  13377. width = imgData.width;
  13378. var partialChunkHeight = height % FULL_CHUNK_HEIGHT;
  13379. var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
  13380. var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
  13381. var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
  13382. var srcPos = 0,
  13383. destPos;
  13384. var src = imgData.data;
  13385. var dest = chunkImgData.data;
  13386. var i, j, thisChunkHeight, elemsInThisChunk;
  13387. var transferMapRed, transferMapGreen, transferMapBlue, transferMapGray;
  13388. if (transferMaps) {
  13389. switch (transferMaps.length) {
  13390. case 1:
  13391. transferMapRed = transferMaps[0];
  13392. transferMapGreen = transferMaps[0];
  13393. transferMapBlue = transferMaps[0];
  13394. transferMapGray = transferMaps[0];
  13395. break;
  13396. case 4:
  13397. transferMapRed = transferMaps[0];
  13398. transferMapGreen = transferMaps[1];
  13399. transferMapBlue = transferMaps[2];
  13400. transferMapGray = transferMaps[3];
  13401. break;
  13402. }
  13403. }
  13404. if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {
  13405. var srcLength = src.byteLength;
  13406. var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);
  13407. var dest32DataLength = dest32.length;
  13408. var fullSrcDiff = width + 7 >> 3;
  13409. var white = 0xffffffff;
  13410. var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;
  13411. if (transferMapGray) {
  13412. if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) {
  13413. var _ref = [black, white];
  13414. white = _ref[0];
  13415. black = _ref[1];
  13416. }
  13417. }
  13418. for (i = 0; i < totalChunks; i++) {
  13419. thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
  13420. destPos = 0;
  13421. for (j = 0; j < thisChunkHeight; j++) {
  13422. var srcDiff = srcLength - srcPos;
  13423. var k = 0;
  13424. var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;
  13425. var kEndUnrolled = kEnd & ~7;
  13426. var mask = 0;
  13427. var srcByte = 0;
  13428. for (; k < kEndUnrolled; k += 8) {
  13429. srcByte = src[srcPos++];
  13430. dest32[destPos++] = srcByte & 128 ? white : black;
  13431. dest32[destPos++] = srcByte & 64 ? white : black;
  13432. dest32[destPos++] = srcByte & 32 ? white : black;
  13433. dest32[destPos++] = srcByte & 16 ? white : black;
  13434. dest32[destPos++] = srcByte & 8 ? white : black;
  13435. dest32[destPos++] = srcByte & 4 ? white : black;
  13436. dest32[destPos++] = srcByte & 2 ? white : black;
  13437. dest32[destPos++] = srcByte & 1 ? white : black;
  13438. }
  13439. for (; k < kEnd; k++) {
  13440. if (mask === 0) {
  13441. srcByte = src[srcPos++];
  13442. mask = 128;
  13443. }
  13444. dest32[destPos++] = srcByte & mask ? white : black;
  13445. mask >>= 1;
  13446. }
  13447. }
  13448. while (destPos < dest32DataLength) {
  13449. dest32[destPos++] = 0;
  13450. }
  13451. ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
  13452. }
  13453. } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {
  13454. var hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);
  13455. j = 0;
  13456. elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;
  13457. for (i = 0; i < fullChunks; i++) {
  13458. dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));
  13459. srcPos += elemsInThisChunk;
  13460. if (hasTransferMaps) {
  13461. for (var _k = 0; _k < elemsInThisChunk; _k += 4) {
  13462. if (transferMapRed) {
  13463. dest[_k + 0] = transferMapRed[dest[_k + 0]];
  13464. }
  13465. if (transferMapGreen) {
  13466. dest[_k + 1] = transferMapGreen[dest[_k + 1]];
  13467. }
  13468. if (transferMapBlue) {
  13469. dest[_k + 2] = transferMapBlue[dest[_k + 2]];
  13470. }
  13471. }
  13472. }
  13473. ctx.putImageData(chunkImgData, 0, j);
  13474. j += FULL_CHUNK_HEIGHT;
  13475. }
  13476. if (i < totalChunks) {
  13477. elemsInThisChunk = width * partialChunkHeight * 4;
  13478. dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));
  13479. if (hasTransferMaps) {
  13480. for (var _k2 = 0; _k2 < elemsInThisChunk; _k2 += 4) {
  13481. if (transferMapRed) {
  13482. dest[_k2 + 0] = transferMapRed[dest[_k2 + 0]];
  13483. }
  13484. if (transferMapGreen) {
  13485. dest[_k2 + 1] = transferMapGreen[dest[_k2 + 1]];
  13486. }
  13487. if (transferMapBlue) {
  13488. dest[_k2 + 2] = transferMapBlue[dest[_k2 + 2]];
  13489. }
  13490. }
  13491. }
  13492. ctx.putImageData(chunkImgData, 0, j);
  13493. }
  13494. } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {
  13495. var _hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);
  13496. thisChunkHeight = FULL_CHUNK_HEIGHT;
  13497. elemsInThisChunk = width * thisChunkHeight;
  13498. for (i = 0; i < totalChunks; i++) {
  13499. if (i >= fullChunks) {
  13500. thisChunkHeight = partialChunkHeight;
  13501. elemsInThisChunk = width * thisChunkHeight;
  13502. }
  13503. destPos = 0;
  13504. for (j = elemsInThisChunk; j--;) {
  13505. dest[destPos++] = src[srcPos++];
  13506. dest[destPos++] = src[srcPos++];
  13507. dest[destPos++] = src[srcPos++];
  13508. dest[destPos++] = 255;
  13509. }
  13510. if (_hasTransferMaps) {
  13511. for (var _k3 = 0; _k3 < destPos; _k3 += 4) {
  13512. if (transferMapRed) {
  13513. dest[_k3 + 0] = transferMapRed[dest[_k3 + 0]];
  13514. }
  13515. if (transferMapGreen) {
  13516. dest[_k3 + 1] = transferMapGreen[dest[_k3 + 1]];
  13517. }
  13518. if (transferMapBlue) {
  13519. dest[_k3 + 2] = transferMapBlue[dest[_k3 + 2]];
  13520. }
  13521. }
  13522. }
  13523. ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
  13524. }
  13525. } else {
  13526. throw new Error("bad image kind: ".concat(imgData.kind));
  13527. }
  13528. }
  13529. function putBinaryImageMask(ctx, imgData) {
  13530. var height = imgData.height,
  13531. width = imgData.width;
  13532. var partialChunkHeight = height % FULL_CHUNK_HEIGHT;
  13533. var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
  13534. var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
  13535. var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
  13536. var srcPos = 0;
  13537. var src = imgData.data;
  13538. var dest = chunkImgData.data;
  13539. for (var i = 0; i < totalChunks; i++) {
  13540. var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
  13541. var destPos = 3;
  13542. for (var j = 0; j < thisChunkHeight; j++) {
  13543. var elem = void 0,
  13544. mask = 0;
  13545. for (var k = 0; k < width; k++) {
  13546. if (!mask) {
  13547. elem = src[srcPos++];
  13548. mask = 128;
  13549. }
  13550. dest[destPos] = elem & mask ? 0 : 255;
  13551. destPos += 4;
  13552. mask >>= 1;
  13553. }
  13554. }
  13555. ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
  13556. }
  13557. }
  13558. function copyCtxState(sourceCtx, destCtx) {
  13559. var properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "globalCompositeOperation", "font"];
  13560. for (var i = 0, ii = properties.length; i < ii; i++) {
  13561. var property = properties[i];
  13562. if (sourceCtx[property] !== undefined) {
  13563. destCtx[property] = sourceCtx[property];
  13564. }
  13565. }
  13566. if (sourceCtx.setLineDash !== undefined) {
  13567. destCtx.setLineDash(sourceCtx.getLineDash());
  13568. destCtx.lineDashOffset = sourceCtx.lineDashOffset;
  13569. }
  13570. }
  13571. function resetCtxToDefault(ctx) {
  13572. ctx.strokeStyle = "#000000";
  13573. ctx.fillStyle = "#000000";
  13574. ctx.fillRule = "nonzero";
  13575. ctx.globalAlpha = 1;
  13576. ctx.lineWidth = 1;
  13577. ctx.lineCap = "butt";
  13578. ctx.lineJoin = "miter";
  13579. ctx.miterLimit = 10;
  13580. ctx.globalCompositeOperation = "source-over";
  13581. ctx.font = "10px sans-serif";
  13582. if (ctx.setLineDash !== undefined) {
  13583. ctx.setLineDash([]);
  13584. ctx.lineDashOffset = 0;
  13585. }
  13586. }
  13587. function composeSMaskBackdrop(bytes, r0, g0, b0) {
  13588. var length = bytes.length;
  13589. for (var i = 3; i < length; i += 4) {
  13590. var alpha = bytes[i];
  13591. if (alpha === 0) {
  13592. bytes[i - 3] = r0;
  13593. bytes[i - 2] = g0;
  13594. bytes[i - 1] = b0;
  13595. } else if (alpha < 255) {
  13596. var alpha_ = 255 - alpha;
  13597. bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;
  13598. bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;
  13599. bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;
  13600. }
  13601. }
  13602. }
  13603. function composeSMaskAlpha(maskData, layerData, transferMap) {
  13604. var length = maskData.length;
  13605. var scale = 1 / 255;
  13606. for (var i = 3; i < length; i += 4) {
  13607. var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];
  13608. layerData[i] = layerData[i] * alpha * scale | 0;
  13609. }
  13610. }
  13611. function composeSMaskLuminosity(maskData, layerData, transferMap) {
  13612. var length = maskData.length;
  13613. for (var i = 3; i < length; i += 4) {
  13614. var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;
  13615. layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;
  13616. }
  13617. }
  13618. function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) {
  13619. var hasBackdrop = !!backdrop;
  13620. var r0 = hasBackdrop ? backdrop[0] : 0;
  13621. var g0 = hasBackdrop ? backdrop[1] : 0;
  13622. var b0 = hasBackdrop ? backdrop[2] : 0;
  13623. var composeFn;
  13624. if (subtype === "Luminosity") {
  13625. composeFn = composeSMaskLuminosity;
  13626. } else {
  13627. composeFn = composeSMaskAlpha;
  13628. }
  13629. var PIXELS_TO_PROCESS = 1048576;
  13630. var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));
  13631. for (var row = 0; row < height; row += chunkSize) {
  13632. var chunkHeight = Math.min(chunkSize, height - row);
  13633. var maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight);
  13634. var layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight);
  13635. if (hasBackdrop) {
  13636. composeSMaskBackdrop(maskData.data, r0, g0, b0);
  13637. }
  13638. composeFn(maskData.data, layerData.data, transferMap);
  13639. layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY);
  13640. }
  13641. }
  13642. function composeSMask(ctx, smask, layerCtx, layerBox) {
  13643. var layerOffsetX = layerBox[0];
  13644. var layerOffsetY = layerBox[1];
  13645. var layerWidth = layerBox[2] - layerOffsetX;
  13646. var layerHeight = layerBox[3] - layerOffsetY;
  13647. if (layerWidth === 0 || layerHeight === 0) {
  13648. return;
  13649. }
  13650. genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY);
  13651. ctx.save();
  13652. ctx.globalAlpha = 1;
  13653. ctx.globalCompositeOperation = "source-over";
  13654. ctx.setTransform(1, 0, 0, 1, 0, 0);
  13655. ctx.drawImage(layerCtx.canvas, 0, 0);
  13656. ctx.restore();
  13657. }
  13658. function getImageSmoothingEnabled(transform, interpolate) {
  13659. var scale = _util.Util.singularValueDecompose2dScale(transform);
  13660. scale[0] = Math.fround(scale[0]);
  13661. scale[1] = Math.fround(scale[1]);
  13662. var actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);
  13663. if (interpolate !== undefined) {
  13664. return interpolate;
  13665. } else if (scale[0] <= actualScale || scale[1] <= actualScale) {
  13666. return true;
  13667. }
  13668. return false;
  13669. }
  13670. var LINE_CAP_STYLES = ["butt", "round", "square"];
  13671. var LINE_JOIN_STYLES = ["miter", "round", "bevel"];
  13672. var NORMAL_CLIP = {};
  13673. var EO_CLIP = {};
  13674. var CanvasGraphics = /*#__PURE__*/function () {
  13675. function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, imageLayer, optionalContentConfig, annotationCanvasMap) {
  13676. _classCallCheck(this, CanvasGraphics);
  13677. this.ctx = canvasCtx;
  13678. this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);
  13679. this.stateStack = [];
  13680. this.pendingClip = null;
  13681. this.pendingEOFill = false;
  13682. this.res = null;
  13683. this.xobjs = null;
  13684. this.commonObjs = commonObjs;
  13685. this.objs = objs;
  13686. this.canvasFactory = canvasFactory;
  13687. this.imageLayer = imageLayer;
  13688. this.groupStack = [];
  13689. this.processingType3 = null;
  13690. this.baseTransform = null;
  13691. this.baseTransformStack = [];
  13692. this.groupLevel = 0;
  13693. this.smaskStack = [];
  13694. this.smaskCounter = 0;
  13695. this.tempSMask = null;
  13696. this.suspendedCtx = null;
  13697. this.contentVisible = true;
  13698. this.markedContentStack = [];
  13699. this.optionalContentConfig = optionalContentConfig;
  13700. this.cachedCanvases = new CachedCanvases(this.canvasFactory);
  13701. this.cachedPatterns = new Map();
  13702. this.annotationCanvasMap = annotationCanvasMap;
  13703. this.viewportScale = 1;
  13704. this.outputScaleX = 1;
  13705. this.outputScaleY = 1;
  13706. if (canvasCtx) {
  13707. addContextCurrentTransform(canvasCtx);
  13708. }
  13709. this._cachedGetSinglePixelWidth = null;
  13710. }
  13711. _createClass(CanvasGraphics, [{
  13712. key: "beginDrawing",
  13713. value: function beginDrawing(_ref2) {
  13714. var transform = _ref2.transform,
  13715. viewport = _ref2.viewport,
  13716. _ref2$transparency = _ref2.transparency,
  13717. transparency = _ref2$transparency === void 0 ? false : _ref2$transparency,
  13718. _ref2$background = _ref2.background,
  13719. background = _ref2$background === void 0 ? null : _ref2$background;
  13720. var width = this.ctx.canvas.width;
  13721. var height = this.ctx.canvas.height;
  13722. this.ctx.save();
  13723. this.ctx.fillStyle = background || "rgb(255, 255, 255)";
  13724. this.ctx.fillRect(0, 0, width, height);
  13725. this.ctx.restore();
  13726. if (transparency) {
  13727. var transparentCanvas = this.cachedCanvases.getCanvas("transparent", width, height, true);
  13728. this.compositeCtx = this.ctx;
  13729. this.transparentCanvas = transparentCanvas.canvas;
  13730. this.ctx = transparentCanvas.context;
  13731. this.ctx.save();
  13732. this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);
  13733. }
  13734. this.ctx.save();
  13735. resetCtxToDefault(this.ctx);
  13736. if (transform) {
  13737. this.ctx.transform.apply(this.ctx, transform);
  13738. this.outputScaleX = transform[0];
  13739. this.outputScaleY = transform[0];
  13740. }
  13741. this.ctx.transform.apply(this.ctx, viewport.transform);
  13742. this.viewportScale = viewport.scale;
  13743. this.baseTransform = this.ctx.mozCurrentTransform.slice();
  13744. this._combinedScaleFactor = Math.hypot(this.baseTransform[0], this.baseTransform[2]);
  13745. if (this.imageLayer) {
  13746. this.imageLayer.beginLayout();
  13747. }
  13748. }
  13749. }, {
  13750. key: "executeOperatorList",
  13751. value: function executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {
  13752. var argsArray = operatorList.argsArray;
  13753. var fnArray = operatorList.fnArray;
  13754. var i = executionStartIdx || 0;
  13755. var argsArrayLen = argsArray.length;
  13756. if (argsArrayLen === i) {
  13757. return i;
  13758. }
  13759. var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === "function";
  13760. var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;
  13761. var steps = 0;
  13762. var commonObjs = this.commonObjs;
  13763. var objs = this.objs;
  13764. var fnId;
  13765. while (true) {
  13766. if (stepper !== undefined && i === stepper.nextBreakPoint) {
  13767. stepper.breakIt(i, continueCallback);
  13768. return i;
  13769. }
  13770. fnId = fnArray[i];
  13771. if (fnId !== _util.OPS.dependency) {
  13772. this[fnId].apply(this, argsArray[i]);
  13773. } else {
  13774. var _iterator = _createForOfIteratorHelper(argsArray[i]),
  13775. _step;
  13776. try {
  13777. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  13778. var depObjId = _step.value;
  13779. var objsPool = depObjId.startsWith("g_") ? commonObjs : objs;
  13780. if (!objsPool.has(depObjId)) {
  13781. objsPool.get(depObjId, continueCallback);
  13782. return i;
  13783. }
  13784. }
  13785. } catch (err) {
  13786. _iterator.e(err);
  13787. } finally {
  13788. _iterator.f();
  13789. }
  13790. }
  13791. i++;
  13792. if (i === argsArrayLen) {
  13793. return i;
  13794. }
  13795. if (chunkOperations && ++steps > EXECUTION_STEPS) {
  13796. if (Date.now() > endTime) {
  13797. continueCallback();
  13798. return i;
  13799. }
  13800. steps = 0;
  13801. }
  13802. }
  13803. }
  13804. }, {
  13805. key: "endDrawing",
  13806. value: function endDrawing() {
  13807. while (this.stateStack.length || this.current.activeSMask !== null) {
  13808. this.restore();
  13809. }
  13810. this.ctx.restore();
  13811. if (this.transparentCanvas) {
  13812. this.ctx = this.compositeCtx;
  13813. this.ctx.save();
  13814. this.ctx.setTransform(1, 0, 0, 1, 0, 0);
  13815. this.ctx.drawImage(this.transparentCanvas, 0, 0);
  13816. this.ctx.restore();
  13817. this.transparentCanvas = null;
  13818. }
  13819. this.cachedCanvases.clear();
  13820. this.cachedPatterns.clear();
  13821. if (this.imageLayer) {
  13822. this.imageLayer.endLayout();
  13823. }
  13824. }
  13825. }, {
  13826. key: "_scaleImage",
  13827. value: function _scaleImage(img, inverseTransform) {
  13828. var width = img.width;
  13829. var height = img.height;
  13830. var widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1);
  13831. var heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1);
  13832. var paintWidth = width,
  13833. paintHeight = height;
  13834. var tmpCanvasId = "prescale1";
  13835. var tmpCanvas, tmpCtx;
  13836. while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {
  13837. var newWidth = paintWidth,
  13838. newHeight = paintHeight;
  13839. if (widthScale > 2 && paintWidth > 1) {
  13840. newWidth = Math.ceil(paintWidth / 2);
  13841. widthScale /= paintWidth / newWidth;
  13842. }
  13843. if (heightScale > 2 && paintHeight > 1) {
  13844. newHeight = Math.ceil(paintHeight / 2);
  13845. heightScale /= paintHeight / newHeight;
  13846. }
  13847. tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);
  13848. tmpCtx = tmpCanvas.context;
  13849. tmpCtx.clearRect(0, 0, newWidth, newHeight);
  13850. tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);
  13851. img = tmpCanvas.canvas;
  13852. paintWidth = newWidth;
  13853. paintHeight = newHeight;
  13854. tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1";
  13855. }
  13856. return {
  13857. img: img,
  13858. paintWidth: paintWidth,
  13859. paintHeight: paintHeight
  13860. };
  13861. }
  13862. }, {
  13863. key: "_createMaskCanvas",
  13864. value: function _createMaskCanvas(img) {
  13865. var ctx = this.ctx;
  13866. var width = img.width,
  13867. height = img.height;
  13868. var fillColor = this.current.fillColor;
  13869. var isPatternFill = this.current.patternFill;
  13870. var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
  13871. var maskCtx = maskCanvas.context;
  13872. putBinaryImageMask(maskCtx, img);
  13873. var objToCanvas = ctx.mozCurrentTransform;
  13874. var maskToCanvas = _util.Util.transform(objToCanvas, [1 / width, 0, 0, -1 / height, 0, 0]);
  13875. maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]);
  13876. var cord1 = _util.Util.applyTransform([0, 0], maskToCanvas);
  13877. var cord2 = _util.Util.applyTransform([width, height], maskToCanvas);
  13878. var rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]);
  13879. var drawnWidth = Math.ceil(rect[2] - rect[0]);
  13880. var drawnHeight = Math.ceil(rect[3] - rect[1]);
  13881. var fillCanvas = this.cachedCanvases.getCanvas("fillCanvas", drawnWidth, drawnHeight, true);
  13882. var fillCtx = fillCanvas.context;
  13883. var offsetX = Math.min(cord1[0], cord2[0]);
  13884. var offsetY = Math.min(cord1[1], cord2[1]);
  13885. fillCtx.translate(-offsetX, -offsetY);
  13886. fillCtx.transform.apply(fillCtx, maskToCanvas);
  13887. var scaled = this._scaleImage(maskCanvas.canvas, fillCtx.mozCurrentTransformInverse);
  13888. fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled(fillCtx.mozCurrentTransform, img.interpolate);
  13889. fillCtx.drawImage(scaled.img, 0, 0, scaled.img.width, scaled.img.height, 0, 0, width, height);
  13890. fillCtx.globalCompositeOperation = "source-in";
  13891. var inverse = _util.Util.transform(fillCtx.mozCurrentTransformInverse, [1, 0, 0, 1, -offsetX, -offsetY]);
  13892. fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor;
  13893. fillCtx.fillRect(0, 0, width, height);
  13894. return {
  13895. canvas: fillCanvas.canvas,
  13896. offsetX: Math.round(offsetX),
  13897. offsetY: Math.round(offsetY)
  13898. };
  13899. }
  13900. }, {
  13901. key: "setLineWidth",
  13902. value: function setLineWidth(width) {
  13903. this.current.lineWidth = width;
  13904. this.ctx.lineWidth = width;
  13905. }
  13906. }, {
  13907. key: "setLineCap",
  13908. value: function setLineCap(style) {
  13909. this.ctx.lineCap = LINE_CAP_STYLES[style];
  13910. }
  13911. }, {
  13912. key: "setLineJoin",
  13913. value: function setLineJoin(style) {
  13914. this.ctx.lineJoin = LINE_JOIN_STYLES[style];
  13915. }
  13916. }, {
  13917. key: "setMiterLimit",
  13918. value: function setMiterLimit(limit) {
  13919. this.ctx.miterLimit = limit;
  13920. }
  13921. }, {
  13922. key: "setDash",
  13923. value: function setDash(dashArray, dashPhase) {
  13924. var ctx = this.ctx;
  13925. if (ctx.setLineDash !== undefined) {
  13926. ctx.setLineDash(dashArray);
  13927. ctx.lineDashOffset = dashPhase;
  13928. }
  13929. }
  13930. }, {
  13931. key: "setRenderingIntent",
  13932. value: function setRenderingIntent(intent) {}
  13933. }, {
  13934. key: "setFlatness",
  13935. value: function setFlatness(flatness) {}
  13936. }, {
  13937. key: "setGState",
  13938. value: function setGState(states) {
  13939. for (var i = 0, ii = states.length; i < ii; i++) {
  13940. var state = states[i];
  13941. var key = state[0];
  13942. var value = state[1];
  13943. switch (key) {
  13944. case "LW":
  13945. this.setLineWidth(value);
  13946. break;
  13947. case "LC":
  13948. this.setLineCap(value);
  13949. break;
  13950. case "LJ":
  13951. this.setLineJoin(value);
  13952. break;
  13953. case "ML":
  13954. this.setMiterLimit(value);
  13955. break;
  13956. case "D":
  13957. this.setDash(value[0], value[1]);
  13958. break;
  13959. case "RI":
  13960. this.setRenderingIntent(value);
  13961. break;
  13962. case "FL":
  13963. this.setFlatness(value);
  13964. break;
  13965. case "Font":
  13966. this.setFont(value[0], value[1]);
  13967. break;
  13968. case "CA":
  13969. this.current.strokeAlpha = state[1];
  13970. break;
  13971. case "ca":
  13972. this.current.fillAlpha = state[1];
  13973. this.ctx.globalAlpha = state[1];
  13974. break;
  13975. case "BM":
  13976. this.ctx.globalCompositeOperation = value;
  13977. break;
  13978. case "SMask":
  13979. this.current.activeSMask = value ? this.tempSMask : null;
  13980. this.tempSMask = null;
  13981. this.checkSMaskState();
  13982. break;
  13983. case "TR":
  13984. this.current.transferMaps = value;
  13985. }
  13986. }
  13987. }
  13988. }, {
  13989. key: "checkSMaskState",
  13990. value: function checkSMaskState() {
  13991. var inSMaskMode = !!this.suspendedCtx;
  13992. if (this.current.activeSMask && !inSMaskMode) {
  13993. this.beginSMaskMode();
  13994. } else if (!this.current.activeSMask && inSMaskMode) {
  13995. this.endSMaskMode();
  13996. }
  13997. }
  13998. }, {
  13999. key: "beginSMaskMode",
  14000. value: function beginSMaskMode() {
  14001. if (this.suspendedCtx) {
  14002. throw new Error("beginSMaskMode called while already in smask mode");
  14003. }
  14004. var drawnWidth = this.ctx.canvas.width;
  14005. var drawnHeight = this.ctx.canvas.height;
  14006. var cacheId = "smaskGroupAt" + this.groupLevel;
  14007. var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
  14008. this.suspendedCtx = this.ctx;
  14009. this.ctx = scratchCanvas.context;
  14010. var ctx = this.ctx;
  14011. ctx.setTransform.apply(ctx, this.suspendedCtx.mozCurrentTransform);
  14012. copyCtxState(this.suspendedCtx, ctx);
  14013. mirrorContextOperations(ctx, this.suspendedCtx);
  14014. this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
  14015. }
  14016. }, {
  14017. key: "endSMaskMode",
  14018. value: function endSMaskMode() {
  14019. if (!this.suspendedCtx) {
  14020. throw new Error("endSMaskMode called while not in smask mode");
  14021. }
  14022. this.ctx._removeMirroring();
  14023. copyCtxState(this.ctx, this.suspendedCtx);
  14024. this.ctx = this.suspendedCtx;
  14025. this.current.activeSMask = null;
  14026. this.suspendedCtx = null;
  14027. }
  14028. }, {
  14029. key: "compose",
  14030. value: function compose(dirtyBox) {
  14031. if (!this.current.activeSMask) {
  14032. return;
  14033. }
  14034. if (!dirtyBox) {
  14035. dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height];
  14036. } else {
  14037. dirtyBox[0] = Math.floor(dirtyBox[0]);
  14038. dirtyBox[1] = Math.floor(dirtyBox[1]);
  14039. dirtyBox[2] = Math.ceil(dirtyBox[2]);
  14040. dirtyBox[3] = Math.ceil(dirtyBox[3]);
  14041. }
  14042. var smask = this.current.activeSMask;
  14043. var suspendedCtx = this.suspendedCtx;
  14044. composeSMask(suspendedCtx, smask, this.ctx, dirtyBox);
  14045. this.ctx.save();
  14046. this.ctx.setTransform(1, 0, 0, 1, 0, 0);
  14047. this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height);
  14048. this.ctx.restore();
  14049. }
  14050. }, {
  14051. key: "save",
  14052. value: function save() {
  14053. this.ctx.save();
  14054. var old = this.current;
  14055. this.stateStack.push(old);
  14056. this.current = old.clone();
  14057. }
  14058. }, {
  14059. key: "restore",
  14060. value: function restore() {
  14061. if (this.stateStack.length === 0 && this.current.activeSMask) {
  14062. this.endSMaskMode();
  14063. }
  14064. if (this.stateStack.length !== 0) {
  14065. this.current = this.stateStack.pop();
  14066. this.ctx.restore();
  14067. this.checkSMaskState();
  14068. this.pendingClip = null;
  14069. this._cachedGetSinglePixelWidth = null;
  14070. }
  14071. }
  14072. }, {
  14073. key: "transform",
  14074. value: function transform(a, b, c, d, e, f) {
  14075. this.ctx.transform(a, b, c, d, e, f);
  14076. this._cachedGetSinglePixelWidth = null;
  14077. }
  14078. }, {
  14079. key: "constructPath",
  14080. value: function constructPath(ops, args) {
  14081. var ctx = this.ctx;
  14082. var current = this.current;
  14083. var x = current.x,
  14084. y = current.y;
  14085. var startX, startY;
  14086. for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {
  14087. switch (ops[i] | 0) {
  14088. case _util.OPS.rectangle:
  14089. x = args[j++];
  14090. y = args[j++];
  14091. var width = args[j++];
  14092. var height = args[j++];
  14093. var xw = x + width;
  14094. var yh = y + height;
  14095. ctx.moveTo(x, y);
  14096. if (width === 0 || height === 0) {
  14097. ctx.lineTo(xw, yh);
  14098. } else {
  14099. ctx.lineTo(xw, y);
  14100. ctx.lineTo(xw, yh);
  14101. ctx.lineTo(x, yh);
  14102. }
  14103. current.updatePathMinMax(ctx.mozCurrentTransform, x, y);
  14104. current.updatePathMinMax(ctx.mozCurrentTransform, xw, yh);
  14105. ctx.closePath();
  14106. break;
  14107. case _util.OPS.moveTo:
  14108. x = args[j++];
  14109. y = args[j++];
  14110. ctx.moveTo(x, y);
  14111. current.updatePathMinMax(ctx.mozCurrentTransform, x, y);
  14112. break;
  14113. case _util.OPS.lineTo:
  14114. x = args[j++];
  14115. y = args[j++];
  14116. ctx.lineTo(x, y);
  14117. current.updatePathMinMax(ctx.mozCurrentTransform, x, y);
  14118. break;
  14119. case _util.OPS.curveTo:
  14120. startX = x;
  14121. startY = y;
  14122. x = args[j + 4];
  14123. y = args[j + 5];
  14124. ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);
  14125. current.updateCurvePathMinMax(ctx.mozCurrentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y);
  14126. j += 6;
  14127. break;
  14128. case _util.OPS.curveTo2:
  14129. startX = x;
  14130. startY = y;
  14131. ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);
  14132. current.updateCurvePathMinMax(ctx.mozCurrentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);
  14133. x = args[j + 2];
  14134. y = args[j + 3];
  14135. j += 4;
  14136. break;
  14137. case _util.OPS.curveTo3:
  14138. startX = x;
  14139. startY = y;
  14140. x = args[j + 2];
  14141. y = args[j + 3];
  14142. ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);
  14143. current.updateCurvePathMinMax(ctx.mozCurrentTransform, startX, startY, args[j], args[j + 1], x, y, x, y);
  14144. j += 4;
  14145. break;
  14146. case _util.OPS.closePath:
  14147. ctx.closePath();
  14148. break;
  14149. }
  14150. }
  14151. current.setCurrentPoint(x, y);
  14152. }
  14153. }, {
  14154. key: "closePath",
  14155. value: function closePath() {
  14156. this.ctx.closePath();
  14157. }
  14158. }, {
  14159. key: "stroke",
  14160. value: function stroke(consumePath) {
  14161. consumePath = typeof consumePath !== "undefined" ? consumePath : true;
  14162. var ctx = this.ctx;
  14163. var strokeColor = this.current.strokeColor;
  14164. ctx.globalAlpha = this.current.strokeAlpha;
  14165. if (this.contentVisible) {
  14166. if (_typeof(strokeColor) === "object" && strokeColor !== null && strokeColor !== void 0 && strokeColor.getPattern) {
  14167. var lineWidth = this.getSinglePixelWidth();
  14168. ctx.save();
  14169. ctx.strokeStyle = strokeColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.STROKE);
  14170. ctx.lineWidth = Math.max(lineWidth, this.current.lineWidth);
  14171. ctx.stroke();
  14172. ctx.restore();
  14173. } else {
  14174. var _lineWidth = this.getSinglePixelWidth();
  14175. if (_lineWidth < 0 && -_lineWidth >= this.current.lineWidth) {
  14176. ctx.save();
  14177. ctx.resetTransform();
  14178. ctx.lineWidth = Math.round(this._combinedScaleFactor);
  14179. ctx.stroke();
  14180. ctx.restore();
  14181. } else {
  14182. ctx.lineWidth = Math.max(_lineWidth, this.current.lineWidth);
  14183. ctx.stroke();
  14184. }
  14185. }
  14186. }
  14187. if (consumePath) {
  14188. this.consumePath(this.current.getClippedPathBoundingBox());
  14189. }
  14190. ctx.globalAlpha = this.current.fillAlpha;
  14191. }
  14192. }, {
  14193. key: "closeStroke",
  14194. value: function closeStroke() {
  14195. this.closePath();
  14196. this.stroke();
  14197. }
  14198. }, {
  14199. key: "fill",
  14200. value: function fill(consumePath) {
  14201. consumePath = typeof consumePath !== "undefined" ? consumePath : true;
  14202. var ctx = this.ctx;
  14203. var fillColor = this.current.fillColor;
  14204. var isPatternFill = this.current.patternFill;
  14205. var needRestore = false;
  14206. if (isPatternFill) {
  14207. ctx.save();
  14208. ctx.fillStyle = fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL);
  14209. needRestore = true;
  14210. }
  14211. var intersect = this.current.getClippedPathBoundingBox();
  14212. if (this.contentVisible && intersect !== null) {
  14213. if (this.pendingEOFill) {
  14214. ctx.fill("evenodd");
  14215. this.pendingEOFill = false;
  14216. } else {
  14217. ctx.fill();
  14218. }
  14219. }
  14220. if (needRestore) {
  14221. ctx.restore();
  14222. }
  14223. if (consumePath) {
  14224. this.consumePath(intersect);
  14225. }
  14226. }
  14227. }, {
  14228. key: "eoFill",
  14229. value: function eoFill() {
  14230. this.pendingEOFill = true;
  14231. this.fill();
  14232. }
  14233. }, {
  14234. key: "fillStroke",
  14235. value: function fillStroke() {
  14236. this.fill(false);
  14237. this.stroke(false);
  14238. this.consumePath();
  14239. }
  14240. }, {
  14241. key: "eoFillStroke",
  14242. value: function eoFillStroke() {
  14243. this.pendingEOFill = true;
  14244. this.fillStroke();
  14245. }
  14246. }, {
  14247. key: "closeFillStroke",
  14248. value: function closeFillStroke() {
  14249. this.closePath();
  14250. this.fillStroke();
  14251. }
  14252. }, {
  14253. key: "closeEOFillStroke",
  14254. value: function closeEOFillStroke() {
  14255. this.pendingEOFill = true;
  14256. this.closePath();
  14257. this.fillStroke();
  14258. }
  14259. }, {
  14260. key: "endPath",
  14261. value: function endPath() {
  14262. this.consumePath();
  14263. }
  14264. }, {
  14265. key: "clip",
  14266. value: function clip() {
  14267. this.pendingClip = NORMAL_CLIP;
  14268. }
  14269. }, {
  14270. key: "eoClip",
  14271. value: function eoClip() {
  14272. this.pendingClip = EO_CLIP;
  14273. }
  14274. }, {
  14275. key: "beginText",
  14276. value: function beginText() {
  14277. this.current.textMatrix = _util.IDENTITY_MATRIX;
  14278. this.current.textMatrixScale = 1;
  14279. this.current.x = this.current.lineX = 0;
  14280. this.current.y = this.current.lineY = 0;
  14281. }
  14282. }, {
  14283. key: "endText",
  14284. value: function endText() {
  14285. var paths = this.pendingTextPaths;
  14286. var ctx = this.ctx;
  14287. if (paths === undefined) {
  14288. ctx.beginPath();
  14289. return;
  14290. }
  14291. ctx.save();
  14292. ctx.beginPath();
  14293. for (var i = 0; i < paths.length; i++) {
  14294. var path = paths[i];
  14295. ctx.setTransform.apply(ctx, path.transform);
  14296. ctx.translate(path.x, path.y);
  14297. path.addToPath(ctx, path.fontSize);
  14298. }
  14299. ctx.restore();
  14300. ctx.clip();
  14301. ctx.beginPath();
  14302. delete this.pendingTextPaths;
  14303. }
  14304. }, {
  14305. key: "setCharSpacing",
  14306. value: function setCharSpacing(spacing) {
  14307. this.current.charSpacing = spacing;
  14308. }
  14309. }, {
  14310. key: "setWordSpacing",
  14311. value: function setWordSpacing(spacing) {
  14312. this.current.wordSpacing = spacing;
  14313. }
  14314. }, {
  14315. key: "setHScale",
  14316. value: function setHScale(scale) {
  14317. this.current.textHScale = scale / 100;
  14318. }
  14319. }, {
  14320. key: "setLeading",
  14321. value: function setLeading(leading) {
  14322. this.current.leading = -leading;
  14323. }
  14324. }, {
  14325. key: "setFont",
  14326. value: function setFont(fontRefName, size) {
  14327. var fontObj = this.commonObjs.get(fontRefName);
  14328. var current = this.current;
  14329. if (!fontObj) {
  14330. throw new Error("Can't find font for ".concat(fontRefName));
  14331. }
  14332. current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;
  14333. if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {
  14334. (0, _util.warn)("Invalid font matrix for font " + fontRefName);
  14335. }
  14336. if (size < 0) {
  14337. size = -size;
  14338. current.fontDirection = -1;
  14339. } else {
  14340. current.fontDirection = 1;
  14341. }
  14342. this.current.font = fontObj;
  14343. this.current.fontSize = size;
  14344. if (fontObj.isType3Font) {
  14345. return;
  14346. }
  14347. var name = fontObj.loadedName || "sans-serif";
  14348. var bold = "normal";
  14349. if (fontObj.black) {
  14350. bold = "900";
  14351. } else if (fontObj.bold) {
  14352. bold = "bold";
  14353. }
  14354. var italic = fontObj.italic ? "italic" : "normal";
  14355. var typeface = "\"".concat(name, "\", ").concat(fontObj.fallbackName);
  14356. var browserFontSize = size;
  14357. if (size < MIN_FONT_SIZE) {
  14358. browserFontSize = MIN_FONT_SIZE;
  14359. } else if (size > MAX_FONT_SIZE) {
  14360. browserFontSize = MAX_FONT_SIZE;
  14361. }
  14362. this.current.fontSizeScale = size / browserFontSize;
  14363. this.ctx.font = "".concat(italic, " ").concat(bold, " ").concat(browserFontSize, "px ").concat(typeface);
  14364. }
  14365. }, {
  14366. key: "setTextRenderingMode",
  14367. value: function setTextRenderingMode(mode) {
  14368. this.current.textRenderingMode = mode;
  14369. }
  14370. }, {
  14371. key: "setTextRise",
  14372. value: function setTextRise(rise) {
  14373. this.current.textRise = rise;
  14374. }
  14375. }, {
  14376. key: "moveText",
  14377. value: function moveText(x, y) {
  14378. this.current.x = this.current.lineX += x;
  14379. this.current.y = this.current.lineY += y;
  14380. }
  14381. }, {
  14382. key: "setLeadingMoveText",
  14383. value: function setLeadingMoveText(x, y) {
  14384. this.setLeading(-y);
  14385. this.moveText(x, y);
  14386. }
  14387. }, {
  14388. key: "setTextMatrix",
  14389. value: function setTextMatrix(a, b, c, d, e, f) {
  14390. this.current.textMatrix = [a, b, c, d, e, f];
  14391. this.current.textMatrixScale = Math.hypot(a, b);
  14392. this.current.x = this.current.lineX = 0;
  14393. this.current.y = this.current.lineY = 0;
  14394. }
  14395. }, {
  14396. key: "nextLine",
  14397. value: function nextLine() {
  14398. this.moveText(0, this.current.leading);
  14399. }
  14400. }, {
  14401. key: "paintChar",
  14402. value: function paintChar(character, x, y, patternTransform, resetLineWidthToOne) {
  14403. var ctx = this.ctx;
  14404. var current = this.current;
  14405. var font = current.font;
  14406. var textRenderingMode = current.textRenderingMode;
  14407. var fontSize = current.fontSize / current.fontSizeScale;
  14408. var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
  14409. var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);
  14410. var patternFill = current.patternFill && !font.missingFile;
  14411. var addToPath;
  14412. if (font.disableFontFace || isAddToPathSet || patternFill) {
  14413. addToPath = font.getPathGenerator(this.commonObjs, character);
  14414. }
  14415. if (font.disableFontFace || patternFill) {
  14416. ctx.save();
  14417. ctx.translate(x, y);
  14418. ctx.beginPath();
  14419. addToPath(ctx, fontSize);
  14420. if (patternTransform) {
  14421. ctx.setTransform.apply(ctx, patternTransform);
  14422. }
  14423. if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
  14424. ctx.fill();
  14425. }
  14426. if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
  14427. if (resetLineWidthToOne) {
  14428. ctx.resetTransform();
  14429. ctx.lineWidth = Math.round(this._combinedScaleFactor);
  14430. }
  14431. ctx.stroke();
  14432. }
  14433. ctx.restore();
  14434. } else {
  14435. if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
  14436. ctx.fillText(character, x, y);
  14437. }
  14438. if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
  14439. if (resetLineWidthToOne) {
  14440. ctx.save();
  14441. ctx.moveTo(x, y);
  14442. ctx.resetTransform();
  14443. ctx.lineWidth = Math.round(this._combinedScaleFactor);
  14444. ctx.strokeText(character, 0, 0);
  14445. ctx.restore();
  14446. } else {
  14447. ctx.strokeText(character, x, y);
  14448. }
  14449. }
  14450. }
  14451. if (isAddToPathSet) {
  14452. var paths = this.pendingTextPaths || (this.pendingTextPaths = []);
  14453. paths.push({
  14454. transform: ctx.mozCurrentTransform,
  14455. x: x,
  14456. y: y,
  14457. fontSize: fontSize,
  14458. addToPath: addToPath
  14459. });
  14460. }
  14461. }
  14462. }, {
  14463. key: "isFontSubpixelAAEnabled",
  14464. get: function get() {
  14465. var _this$cachedCanvases$ = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10),
  14466. ctx = _this$cachedCanvases$.context;
  14467. ctx.scale(1.5, 1);
  14468. ctx.fillText("I", 0, 10);
  14469. var data = ctx.getImageData(0, 0, 10, 10).data;
  14470. var enabled = false;
  14471. for (var i = 3; i < data.length; i += 4) {
  14472. if (data[i] > 0 && data[i] < 255) {
  14473. enabled = true;
  14474. break;
  14475. }
  14476. }
  14477. return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled);
  14478. }
  14479. }, {
  14480. key: "showText",
  14481. value: function showText(glyphs) {
  14482. var current = this.current;
  14483. var font = current.font;
  14484. if (font.isType3Font) {
  14485. return this.showType3Text(glyphs);
  14486. }
  14487. var fontSize = current.fontSize;
  14488. if (fontSize === 0) {
  14489. return undefined;
  14490. }
  14491. var ctx = this.ctx;
  14492. var fontSizeScale = current.fontSizeScale;
  14493. var charSpacing = current.charSpacing;
  14494. var wordSpacing = current.wordSpacing;
  14495. var fontDirection = current.fontDirection;
  14496. var textHScale = current.textHScale * fontDirection;
  14497. var glyphsLength = glyphs.length;
  14498. var vertical = font.vertical;
  14499. var spacingDir = vertical ? 1 : -1;
  14500. var defaultVMetrics = font.defaultVMetrics;
  14501. var widthAdvanceScale = fontSize * current.fontMatrix[0];
  14502. var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;
  14503. ctx.save();
  14504. ctx.transform.apply(ctx, current.textMatrix);
  14505. ctx.translate(current.x, current.y + current.textRise);
  14506. if (fontDirection > 0) {
  14507. ctx.scale(textHScale, -1);
  14508. } else {
  14509. ctx.scale(textHScale, 1);
  14510. }
  14511. var patternTransform;
  14512. if (current.patternFill) {
  14513. ctx.save();
  14514. var pattern = current.fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL);
  14515. patternTransform = ctx.mozCurrentTransform;
  14516. ctx.restore();
  14517. ctx.fillStyle = pattern;
  14518. }
  14519. var lineWidth = current.lineWidth;
  14520. var resetLineWidthToOne = false;
  14521. var scale = current.textMatrixScale;
  14522. if (scale === 0 || lineWidth === 0) {
  14523. var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
  14524. if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
  14525. this._cachedGetSinglePixelWidth = null;
  14526. lineWidth = this.getSinglePixelWidth();
  14527. resetLineWidthToOne = lineWidth < 0;
  14528. }
  14529. } else {
  14530. lineWidth /= scale;
  14531. }
  14532. if (fontSizeScale !== 1.0) {
  14533. ctx.scale(fontSizeScale, fontSizeScale);
  14534. lineWidth /= fontSizeScale;
  14535. }
  14536. ctx.lineWidth = lineWidth;
  14537. var x = 0,
  14538. i;
  14539. for (i = 0; i < glyphsLength; ++i) {
  14540. var glyph = glyphs[i];
  14541. if ((0, _util.isNum)(glyph)) {
  14542. x += spacingDir * glyph * fontSize / 1000;
  14543. continue;
  14544. }
  14545. var restoreNeeded = false;
  14546. var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
  14547. var character = glyph.fontChar;
  14548. var accent = glyph.accent;
  14549. var scaledX = void 0,
  14550. scaledY = void 0;
  14551. var width = glyph.width;
  14552. if (vertical) {
  14553. var vmetric = glyph.vmetric || defaultVMetrics;
  14554. var vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;
  14555. var vy = vmetric[2] * widthAdvanceScale;
  14556. width = vmetric ? -vmetric[0] : width;
  14557. scaledX = vx / fontSizeScale;
  14558. scaledY = (x + vy) / fontSizeScale;
  14559. } else {
  14560. scaledX = x / fontSizeScale;
  14561. scaledY = 0;
  14562. }
  14563. if (font.remeasure && width > 0) {
  14564. var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;
  14565. if (width < measuredWidth && this.isFontSubpixelAAEnabled) {
  14566. var characterScaleX = width / measuredWidth;
  14567. restoreNeeded = true;
  14568. ctx.save();
  14569. ctx.scale(characterScaleX, 1);
  14570. scaledX /= characterScaleX;
  14571. } else if (width !== measuredWidth) {
  14572. scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;
  14573. }
  14574. }
  14575. if (this.contentVisible && (glyph.isInFont || font.missingFile)) {
  14576. if (simpleFillText && !accent) {
  14577. ctx.fillText(character, scaledX, scaledY);
  14578. } else {
  14579. this.paintChar(character, scaledX, scaledY, patternTransform, resetLineWidthToOne);
  14580. if (accent) {
  14581. var scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;
  14582. var scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;
  14583. this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform, resetLineWidthToOne);
  14584. }
  14585. }
  14586. }
  14587. var charWidth = void 0;
  14588. if (vertical) {
  14589. charWidth = width * widthAdvanceScale - spacing * fontDirection;
  14590. } else {
  14591. charWidth = width * widthAdvanceScale + spacing * fontDirection;
  14592. }
  14593. x += charWidth;
  14594. if (restoreNeeded) {
  14595. ctx.restore();
  14596. }
  14597. }
  14598. if (vertical) {
  14599. current.y -= x;
  14600. } else {
  14601. current.x += x * textHScale;
  14602. }
  14603. ctx.restore();
  14604. this.compose();
  14605. return undefined;
  14606. }
  14607. }, {
  14608. key: "showType3Text",
  14609. value: function showType3Text(glyphs) {
  14610. var ctx = this.ctx;
  14611. var current = this.current;
  14612. var font = current.font;
  14613. var fontSize = current.fontSize;
  14614. var fontDirection = current.fontDirection;
  14615. var spacingDir = font.vertical ? 1 : -1;
  14616. var charSpacing = current.charSpacing;
  14617. var wordSpacing = current.wordSpacing;
  14618. var textHScale = current.textHScale * fontDirection;
  14619. var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;
  14620. var glyphsLength = glyphs.length;
  14621. var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;
  14622. var i, glyph, width, spacingLength;
  14623. if (isTextInvisible || fontSize === 0) {
  14624. return;
  14625. }
  14626. this._cachedGetSinglePixelWidth = null;
  14627. ctx.save();
  14628. ctx.transform.apply(ctx, current.textMatrix);
  14629. ctx.translate(current.x, current.y);
  14630. ctx.scale(textHScale, fontDirection);
  14631. for (i = 0; i < glyphsLength; ++i) {
  14632. glyph = glyphs[i];
  14633. if ((0, _util.isNum)(glyph)) {
  14634. spacingLength = spacingDir * glyph * fontSize / 1000;
  14635. this.ctx.translate(spacingLength, 0);
  14636. current.x += spacingLength * textHScale;
  14637. continue;
  14638. }
  14639. var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
  14640. var operatorList = font.charProcOperatorList[glyph.operatorListId];
  14641. if (!operatorList) {
  14642. (0, _util.warn)("Type3 character \"".concat(glyph.operatorListId, "\" is not available."));
  14643. continue;
  14644. }
  14645. if (this.contentVisible) {
  14646. this.processingType3 = glyph;
  14647. this.save();
  14648. ctx.scale(fontSize, fontSize);
  14649. ctx.transform.apply(ctx, fontMatrix);
  14650. this.executeOperatorList(operatorList);
  14651. this.restore();
  14652. }
  14653. var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);
  14654. width = transformed[0] * fontSize + spacing;
  14655. ctx.translate(width, 0);
  14656. current.x += width * textHScale;
  14657. }
  14658. ctx.restore();
  14659. this.processingType3 = null;
  14660. }
  14661. }, {
  14662. key: "setCharWidth",
  14663. value: function setCharWidth(xWidth, yWidth) {}
  14664. }, {
  14665. key: "setCharWidthAndBounds",
  14666. value: function setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {
  14667. this.ctx.rect(llx, lly, urx - llx, ury - lly);
  14668. this.clip();
  14669. this.endPath();
  14670. }
  14671. }, {
  14672. key: "getColorN_Pattern",
  14673. value: function getColorN_Pattern(IR) {
  14674. var _this = this;
  14675. var pattern;
  14676. if (IR[0] === "TilingPattern") {
  14677. var color = IR[1];
  14678. var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();
  14679. var canvasGraphicsFactory = {
  14680. createCanvasGraphics: function createCanvasGraphics(ctx) {
  14681. return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory);
  14682. }
  14683. };
  14684. pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);
  14685. } else {
  14686. pattern = this._getPattern(IR[1], IR[2]);
  14687. }
  14688. return pattern;
  14689. }
  14690. }, {
  14691. key: "setStrokeColorN",
  14692. value: function setStrokeColorN() {
  14693. this.current.strokeColor = this.getColorN_Pattern(arguments);
  14694. }
  14695. }, {
  14696. key: "setFillColorN",
  14697. value: function setFillColorN() {
  14698. this.current.fillColor = this.getColorN_Pattern(arguments);
  14699. this.current.patternFill = true;
  14700. }
  14701. }, {
  14702. key: "setStrokeRGBColor",
  14703. value: function setStrokeRGBColor(r, g, b) {
  14704. var color = _util.Util.makeHexColor(r, g, b);
  14705. this.ctx.strokeStyle = color;
  14706. this.current.strokeColor = color;
  14707. }
  14708. }, {
  14709. key: "setFillRGBColor",
  14710. value: function setFillRGBColor(r, g, b) {
  14711. var color = _util.Util.makeHexColor(r, g, b);
  14712. this.ctx.fillStyle = color;
  14713. this.current.fillColor = color;
  14714. this.current.patternFill = false;
  14715. }
  14716. }, {
  14717. key: "_getPattern",
  14718. value: function _getPattern(objId) {
  14719. var matrix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
  14720. var pattern;
  14721. if (this.cachedPatterns.has(objId)) {
  14722. pattern = this.cachedPatterns.get(objId);
  14723. } else {
  14724. pattern = (0, _pattern_helper.getShadingPattern)(this.objs.get(objId));
  14725. this.cachedPatterns.set(objId, pattern);
  14726. }
  14727. if (matrix) {
  14728. pattern.matrix = matrix;
  14729. }
  14730. return pattern;
  14731. }
  14732. }, {
  14733. key: "shadingFill",
  14734. value: function shadingFill(objId) {
  14735. if (!this.contentVisible) {
  14736. return;
  14737. }
  14738. var ctx = this.ctx;
  14739. this.save();
  14740. var pattern = this._getPattern(objId);
  14741. ctx.fillStyle = pattern.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.SHADING);
  14742. var inv = ctx.mozCurrentTransformInverse;
  14743. if (inv) {
  14744. var canvas = ctx.canvas;
  14745. var width = canvas.width;
  14746. var height = canvas.height;
  14747. var bl = _util.Util.applyTransform([0, 0], inv);
  14748. var br = _util.Util.applyTransform([0, height], inv);
  14749. var ul = _util.Util.applyTransform([width, 0], inv);
  14750. var ur = _util.Util.applyTransform([width, height], inv);
  14751. var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
  14752. var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
  14753. var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
  14754. var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
  14755. this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);
  14756. } else {
  14757. this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);
  14758. }
  14759. this.compose(this.current.getClippedPathBoundingBox());
  14760. this.restore();
  14761. }
  14762. }, {
  14763. key: "beginInlineImage",
  14764. value: function beginInlineImage() {
  14765. (0, _util.unreachable)("Should not call beginInlineImage");
  14766. }
  14767. }, {
  14768. key: "beginImageData",
  14769. value: function beginImageData() {
  14770. (0, _util.unreachable)("Should not call beginImageData");
  14771. }
  14772. }, {
  14773. key: "paintFormXObjectBegin",
  14774. value: function paintFormXObjectBegin(matrix, bbox) {
  14775. if (!this.contentVisible) {
  14776. return;
  14777. }
  14778. this.save();
  14779. this.baseTransformStack.push(this.baseTransform);
  14780. if (Array.isArray(matrix) && matrix.length === 6) {
  14781. this.transform.apply(this, matrix);
  14782. }
  14783. this.baseTransform = this.ctx.mozCurrentTransform;
  14784. if (bbox) {
  14785. var width = bbox[2] - bbox[0];
  14786. var height = bbox[3] - bbox[1];
  14787. this.ctx.rect(bbox[0], bbox[1], width, height);
  14788. this.current.updatePathMinMax(this.ctx.mozCurrentTransform, bbox[0], bbox[1]);
  14789. this.current.updatePathMinMax(this.ctx.mozCurrentTransform, bbox[2], bbox[3]);
  14790. this.clip();
  14791. this.endPath();
  14792. }
  14793. }
  14794. }, {
  14795. key: "paintFormXObjectEnd",
  14796. value: function paintFormXObjectEnd() {
  14797. if (!this.contentVisible) {
  14798. return;
  14799. }
  14800. this.restore();
  14801. this.baseTransform = this.baseTransformStack.pop();
  14802. }
  14803. }, {
  14804. key: "beginGroup",
  14805. value: function beginGroup(group) {
  14806. if (!this.contentVisible) {
  14807. return;
  14808. }
  14809. this.save();
  14810. var suspendedCtx = this.suspendedCtx;
  14811. if (this.current.activeSMask) {
  14812. this.suspendedCtx = null;
  14813. this.current.activeSMask = null;
  14814. }
  14815. var currentCtx = this.ctx;
  14816. if (!group.isolated) {
  14817. (0, _util.info)("TODO: Support non-isolated groups.");
  14818. }
  14819. if (group.knockout) {
  14820. (0, _util.warn)("Knockout groups not supported.");
  14821. }
  14822. var currentTransform = currentCtx.mozCurrentTransform;
  14823. if (group.matrix) {
  14824. currentCtx.transform.apply(currentCtx, group.matrix);
  14825. }
  14826. if (!group.bbox) {
  14827. throw new Error("Bounding box is required.");
  14828. }
  14829. var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);
  14830. var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];
  14831. bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];
  14832. var offsetX = Math.floor(bounds[0]);
  14833. var offsetY = Math.floor(bounds[1]);
  14834. var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);
  14835. var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);
  14836. var scaleX = 1,
  14837. scaleY = 1;
  14838. if (drawnWidth > MAX_GROUP_SIZE) {
  14839. scaleX = drawnWidth / MAX_GROUP_SIZE;
  14840. drawnWidth = MAX_GROUP_SIZE;
  14841. }
  14842. if (drawnHeight > MAX_GROUP_SIZE) {
  14843. scaleY = drawnHeight / MAX_GROUP_SIZE;
  14844. drawnHeight = MAX_GROUP_SIZE;
  14845. }
  14846. this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]);
  14847. var cacheId = "groupAt" + this.groupLevel;
  14848. if (group.smask) {
  14849. cacheId += "_smask_" + this.smaskCounter++ % 2;
  14850. }
  14851. var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
  14852. var groupCtx = scratchCanvas.context;
  14853. groupCtx.scale(1 / scaleX, 1 / scaleY);
  14854. groupCtx.translate(-offsetX, -offsetY);
  14855. groupCtx.transform.apply(groupCtx, currentTransform);
  14856. if (group.smask) {
  14857. this.smaskStack.push({
  14858. canvas: scratchCanvas.canvas,
  14859. context: groupCtx,
  14860. offsetX: offsetX,
  14861. offsetY: offsetY,
  14862. scaleX: scaleX,
  14863. scaleY: scaleY,
  14864. subtype: group.smask.subtype,
  14865. backdrop: group.smask.backdrop,
  14866. transferMap: group.smask.transferMap || null,
  14867. startTransformInverse: null
  14868. });
  14869. } else {
  14870. currentCtx.setTransform(1, 0, 0, 1, 0, 0);
  14871. currentCtx.translate(offsetX, offsetY);
  14872. currentCtx.scale(scaleX, scaleY);
  14873. currentCtx.save();
  14874. }
  14875. copyCtxState(currentCtx, groupCtx);
  14876. this.ctx = groupCtx;
  14877. this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
  14878. this.groupStack.push({
  14879. ctx: currentCtx,
  14880. suspendedCtx: suspendedCtx
  14881. });
  14882. this.groupLevel++;
  14883. }
  14884. }, {
  14885. key: "endGroup",
  14886. value: function endGroup(group) {
  14887. if (!this.contentVisible) {
  14888. return;
  14889. }
  14890. this.groupLevel--;
  14891. var groupCtx = this.ctx;
  14892. var _this$groupStack$pop = this.groupStack.pop(),
  14893. ctx = _this$groupStack$pop.ctx,
  14894. suspendedCtx = _this$groupStack$pop.suspendedCtx;
  14895. this.ctx = ctx;
  14896. this.ctx.imageSmoothingEnabled = false;
  14897. if (suspendedCtx) {
  14898. this.suspendedCtx = suspendedCtx;
  14899. }
  14900. if (group.smask) {
  14901. this.tempSMask = this.smaskStack.pop();
  14902. this.restore();
  14903. } else {
  14904. this.ctx.restore();
  14905. var currentMtx = this.ctx.mozCurrentTransform;
  14906. this.restore();
  14907. this.ctx.save();
  14908. this.ctx.setTransform.apply(this.ctx, currentMtx);
  14909. var dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx);
  14910. this.ctx.drawImage(groupCtx.canvas, 0, 0);
  14911. this.ctx.restore();
  14912. this.compose(dirtyBox);
  14913. }
  14914. }
  14915. }, {
  14916. key: "beginAnnotations",
  14917. value: function beginAnnotations() {
  14918. this.save();
  14919. if (this.baseTransform) {
  14920. this.ctx.setTransform.apply(this.ctx, this.baseTransform);
  14921. }
  14922. }
  14923. }, {
  14924. key: "endAnnotations",
  14925. value: function endAnnotations() {
  14926. this.restore();
  14927. }
  14928. }, {
  14929. key: "beginAnnotation",
  14930. value: function beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) {
  14931. this.save();
  14932. if (Array.isArray(rect) && rect.length === 4) {
  14933. var width = rect[2] - rect[0];
  14934. var height = rect[3] - rect[1];
  14935. if (hasOwnCanvas && this.annotationCanvasMap) {
  14936. transform = transform.slice();
  14937. transform[4] -= rect[0];
  14938. transform[5] -= rect[1];
  14939. rect = rect.slice();
  14940. rect[0] = rect[1] = 0;
  14941. rect[2] = width;
  14942. rect[3] = height;
  14943. var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(this.ctx.mozCurrentTransform),
  14944. _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),
  14945. scaleX = _Util$singularValueDe2[0],
  14946. scaleY = _Util$singularValueDe2[1];
  14947. var viewportScale = this.viewportScale;
  14948. var canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale);
  14949. var canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale);
  14950. this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight);
  14951. var _this$annotationCanva = this.annotationCanvas,
  14952. canvas = _this$annotationCanva.canvas,
  14953. context = _this$annotationCanva.context;
  14954. canvas.style.width = "calc(".concat(width, "px * var(--viewport-scale-factor))");
  14955. canvas.style.height = "calc(".concat(height, "px * var(--viewport-scale-factor))");
  14956. this.annotationCanvasMap.set(id, canvas);
  14957. this.annotationCanvas.savedCtx = this.ctx;
  14958. this.ctx = context;
  14959. this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY);
  14960. addContextCurrentTransform(this.ctx);
  14961. resetCtxToDefault(this.ctx);
  14962. } else {
  14963. resetCtxToDefault(this.ctx);
  14964. this.ctx.rect(rect[0], rect[1], width, height);
  14965. this.clip();
  14966. this.endPath();
  14967. }
  14968. }
  14969. this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);
  14970. this.transform.apply(this, transform);
  14971. this.transform.apply(this, matrix);
  14972. }
  14973. }, {
  14974. key: "endAnnotation",
  14975. value: function endAnnotation() {
  14976. if (this.annotationCanvas) {
  14977. this.ctx = this.annotationCanvas.savedCtx;
  14978. delete this.annotationCanvas.savedCtx;
  14979. delete this.annotationCanvas;
  14980. }
  14981. this.restore();
  14982. }
  14983. }, {
  14984. key: "paintImageMaskXObject",
  14985. value: function paintImageMaskXObject(img) {
  14986. if (!this.contentVisible) {
  14987. return;
  14988. }
  14989. var ctx = this.ctx;
  14990. var width = img.width,
  14991. height = img.height;
  14992. var glyph = this.processingType3;
  14993. if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {
  14994. if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {
  14995. glyph.compiled = compileType3Glyph({
  14996. data: img.data,
  14997. width: width,
  14998. height: height
  14999. });
  15000. } else {
  15001. glyph.compiled = null;
  15002. }
  15003. }
  15004. if (glyph !== null && glyph !== void 0 && glyph.compiled) {
  15005. glyph.compiled(ctx);
  15006. return;
  15007. }
  15008. var mask = this._createMaskCanvas(img);
  15009. var maskCanvas = mask.canvas;
  15010. ctx.save();
  15011. ctx.setTransform(1, 0, 0, 1, 0, 0);
  15012. ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY);
  15013. ctx.restore();
  15014. this.compose();
  15015. }
  15016. }, {
  15017. key: "paintImageMaskXObjectRepeat",
  15018. value: function paintImageMaskXObjectRepeat(imgData, scaleX) {
  15019. var skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
  15020. var skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
  15021. var scaleY = arguments.length > 4 ? arguments[4] : undefined;
  15022. var positions = arguments.length > 5 ? arguments[5] : undefined;
  15023. if (!this.contentVisible) {
  15024. return;
  15025. }
  15026. var ctx = this.ctx;
  15027. ctx.save();
  15028. var currentTransform = ctx.mozCurrentTransform;
  15029. ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0);
  15030. var mask = this._createMaskCanvas(imgData);
  15031. ctx.setTransform(1, 0, 0, 1, 0, 0);
  15032. for (var i = 0, ii = positions.length; i < ii; i += 2) {
  15033. var trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]);
  15034. var _Util$applyTransform3 = _util.Util.applyTransform([0, 0], trans),
  15035. _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),
  15036. x = _Util$applyTransform4[0],
  15037. y = _Util$applyTransform4[1];
  15038. ctx.drawImage(mask.canvas, x, y);
  15039. }
  15040. ctx.restore();
  15041. this.compose();
  15042. }
  15043. }, {
  15044. key: "paintImageMaskXObjectGroup",
  15045. value: function paintImageMaskXObjectGroup(images) {
  15046. if (!this.contentVisible) {
  15047. return;
  15048. }
  15049. var ctx = this.ctx;
  15050. var fillColor = this.current.fillColor;
  15051. var isPatternFill = this.current.patternFill;
  15052. for (var i = 0, ii = images.length; i < ii; i++) {
  15053. var image = images[i];
  15054. var width = image.width,
  15055. height = image.height;
  15056. var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
  15057. var maskCtx = maskCanvas.context;
  15058. maskCtx.save();
  15059. putBinaryImageMask(maskCtx, image);
  15060. maskCtx.globalCompositeOperation = "source-in";
  15061. maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL) : fillColor;
  15062. maskCtx.fillRect(0, 0, width, height);
  15063. maskCtx.restore();
  15064. ctx.save();
  15065. ctx.transform.apply(ctx, image.transform);
  15066. ctx.scale(1, -1);
  15067. ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);
  15068. ctx.restore();
  15069. }
  15070. this.compose();
  15071. }
  15072. }, {
  15073. key: "paintImageXObject",
  15074. value: function paintImageXObject(objId) {
  15075. if (!this.contentVisible) {
  15076. return;
  15077. }
  15078. var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId);
  15079. if (!imgData) {
  15080. (0, _util.warn)("Dependent image isn't ready yet");
  15081. return;
  15082. }
  15083. this.paintInlineImageXObject(imgData);
  15084. }
  15085. }, {
  15086. key: "paintImageXObjectRepeat",
  15087. value: function paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {
  15088. if (!this.contentVisible) {
  15089. return;
  15090. }
  15091. var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId);
  15092. if (!imgData) {
  15093. (0, _util.warn)("Dependent image isn't ready yet");
  15094. return;
  15095. }
  15096. var width = imgData.width;
  15097. var height = imgData.height;
  15098. var map = [];
  15099. for (var i = 0, ii = positions.length; i < ii; i += 2) {
  15100. map.push({
  15101. transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],
  15102. x: 0,
  15103. y: 0,
  15104. w: width,
  15105. h: height
  15106. });
  15107. }
  15108. this.paintInlineImageXObjectGroup(imgData, map);
  15109. }
  15110. }, {
  15111. key: "paintInlineImageXObject",
  15112. value: function paintInlineImageXObject(imgData) {
  15113. if (!this.contentVisible) {
  15114. return;
  15115. }
  15116. var width = imgData.width;
  15117. var height = imgData.height;
  15118. var ctx = this.ctx;
  15119. this.save();
  15120. ctx.scale(1 / width, -1 / height);
  15121. var imgToPaint;
  15122. if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) {
  15123. imgToPaint = imgData;
  15124. } else {
  15125. var tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height);
  15126. var tmpCtx = tmpCanvas.context;
  15127. putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);
  15128. imgToPaint = tmpCanvas.canvas;
  15129. }
  15130. var scaled = this._scaleImage(imgToPaint, ctx.mozCurrentTransformInverse);
  15131. ctx.imageSmoothingEnabled = getImageSmoothingEnabled(ctx.mozCurrentTransform, imgData.interpolate);
  15132. ctx.drawImage(scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height);
  15133. if (this.imageLayer) {
  15134. var position = this.getCanvasPosition(0, -height);
  15135. this.imageLayer.appendImage({
  15136. imgData: imgData,
  15137. left: position[0],
  15138. top: position[1],
  15139. width: width / ctx.mozCurrentTransformInverse[0],
  15140. height: height / ctx.mozCurrentTransformInverse[3]
  15141. });
  15142. }
  15143. this.compose();
  15144. this.restore();
  15145. }
  15146. }, {
  15147. key: "paintInlineImageXObjectGroup",
  15148. value: function paintInlineImageXObjectGroup(imgData, map) {
  15149. if (!this.contentVisible) {
  15150. return;
  15151. }
  15152. var ctx = this.ctx;
  15153. var w = imgData.width;
  15154. var h = imgData.height;
  15155. var tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", w, h);
  15156. var tmpCtx = tmpCanvas.context;
  15157. putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);
  15158. for (var i = 0, ii = map.length; i < ii; i++) {
  15159. var entry = map[i];
  15160. ctx.save();
  15161. ctx.transform.apply(ctx, entry.transform);
  15162. ctx.scale(1, -1);
  15163. ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);
  15164. if (this.imageLayer) {
  15165. var position = this.getCanvasPosition(entry.x, entry.y);
  15166. this.imageLayer.appendImage({
  15167. imgData: imgData,
  15168. left: position[0],
  15169. top: position[1],
  15170. width: w,
  15171. height: h
  15172. });
  15173. }
  15174. ctx.restore();
  15175. }
  15176. this.compose();
  15177. }
  15178. }, {
  15179. key: "paintSolidColorImageMask",
  15180. value: function paintSolidColorImageMask() {
  15181. if (!this.contentVisible) {
  15182. return;
  15183. }
  15184. this.ctx.fillRect(0, 0, 1, 1);
  15185. this.compose();
  15186. }
  15187. }, {
  15188. key: "markPoint",
  15189. value: function markPoint(tag) {}
  15190. }, {
  15191. key: "markPointProps",
  15192. value: function markPointProps(tag, properties) {}
  15193. }, {
  15194. key: "beginMarkedContent",
  15195. value: function beginMarkedContent(tag) {
  15196. this.markedContentStack.push({
  15197. visible: true
  15198. });
  15199. }
  15200. }, {
  15201. key: "beginMarkedContentProps",
  15202. value: function beginMarkedContentProps(tag, properties) {
  15203. if (tag === "OC") {
  15204. this.markedContentStack.push({
  15205. visible: this.optionalContentConfig.isVisible(properties)
  15206. });
  15207. } else {
  15208. this.markedContentStack.push({
  15209. visible: true
  15210. });
  15211. }
  15212. this.contentVisible = this.isContentVisible();
  15213. }
  15214. }, {
  15215. key: "endMarkedContent",
  15216. value: function endMarkedContent() {
  15217. this.markedContentStack.pop();
  15218. this.contentVisible = this.isContentVisible();
  15219. }
  15220. }, {
  15221. key: "beginCompat",
  15222. value: function beginCompat() {}
  15223. }, {
  15224. key: "endCompat",
  15225. value: function endCompat() {}
  15226. }, {
  15227. key: "consumePath",
  15228. value: function consumePath(clipBox) {
  15229. if (this.pendingClip) {
  15230. this.current.updateClipFromPath();
  15231. }
  15232. if (!this.pendingClip) {
  15233. this.compose(clipBox);
  15234. }
  15235. var ctx = this.ctx;
  15236. if (this.pendingClip) {
  15237. if (this.pendingClip === EO_CLIP) {
  15238. ctx.clip("evenodd");
  15239. } else {
  15240. ctx.clip();
  15241. }
  15242. this.pendingClip = null;
  15243. }
  15244. this.current.startNewPathAndClipBox(this.current.clipBox);
  15245. ctx.beginPath();
  15246. }
  15247. }, {
  15248. key: "getSinglePixelWidth",
  15249. value: function getSinglePixelWidth() {
  15250. if (this._cachedGetSinglePixelWidth === null) {
  15251. var m = this.ctx.mozCurrentTransform;
  15252. var absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);
  15253. var sqNorm1 = Math.pow(m[0], 2) + Math.pow(m[2], 2);
  15254. var sqNorm2 = Math.pow(m[1], 2) + Math.pow(m[3], 2);
  15255. var pixelHeight = Math.sqrt(Math.max(sqNorm1, sqNorm2)) / absDet;
  15256. if (sqNorm1 !== sqNorm2 && this._combinedScaleFactor * pixelHeight > 1) {
  15257. this._cachedGetSinglePixelWidth = -(this._combinedScaleFactor * pixelHeight);
  15258. } else if (absDet > Number.EPSILON) {
  15259. this._cachedGetSinglePixelWidth = pixelHeight;
  15260. } else {
  15261. this._cachedGetSinglePixelWidth = 1;
  15262. }
  15263. }
  15264. return this._cachedGetSinglePixelWidth;
  15265. }
  15266. }, {
  15267. key: "getCanvasPosition",
  15268. value: function getCanvasPosition(x, y) {
  15269. var transform = this.ctx.mozCurrentTransform;
  15270. return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];
  15271. }
  15272. }, {
  15273. key: "isContentVisible",
  15274. value: function isContentVisible() {
  15275. for (var i = this.markedContentStack.length - 1; i >= 0; i--) {
  15276. if (!this.markedContentStack[i].visible) {
  15277. return false;
  15278. }
  15279. }
  15280. return true;
  15281. }
  15282. }]);
  15283. return CanvasGraphics;
  15284. }();
  15285. exports.CanvasGraphics = CanvasGraphics;
  15286. for (var op in _util.OPS) {
  15287. if (CanvasGraphics.prototype[op] !== undefined) {
  15288. CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];
  15289. }
  15290. }
  15291. /***/ }),
  15292. /* 141 */
  15293. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  15294. "use strict";
  15295. function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  15296. Object.defineProperty(exports, "__esModule", ({
  15297. value: true
  15298. }));
  15299. exports.TilingPattern = exports.PathType = void 0;
  15300. exports.getShadingPattern = getShadingPattern;
  15301. var _util = __w_pdfjs_require__(4);
  15302. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  15303. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  15304. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  15305. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
  15306. function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
  15307. function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
  15308. function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
  15309. function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  15310. function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
  15311. function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
  15312. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  15313. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  15314. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  15315. var PathType = {
  15316. FILL: "Fill",
  15317. STROKE: "Stroke",
  15318. SHADING: "Shading"
  15319. };
  15320. exports.PathType = PathType;
  15321. function applyBoundingBox(ctx, bbox) {
  15322. if (!bbox || typeof Path2D === "undefined") {
  15323. return;
  15324. }
  15325. var width = bbox[2] - bbox[0];
  15326. var height = bbox[3] - bbox[1];
  15327. var region = new Path2D();
  15328. region.rect(bbox[0], bbox[1], width, height);
  15329. ctx.clip(region);
  15330. }
  15331. var BaseShadingPattern = /*#__PURE__*/function () {
  15332. function BaseShadingPattern() {
  15333. _classCallCheck(this, BaseShadingPattern);
  15334. if (this.constructor === BaseShadingPattern) {
  15335. (0, _util.unreachable)("Cannot initialize BaseShadingPattern.");
  15336. }
  15337. }
  15338. _createClass(BaseShadingPattern, [{
  15339. key: "getPattern",
  15340. value: function getPattern() {
  15341. (0, _util.unreachable)("Abstract method `getPattern` called.");
  15342. }
  15343. }]);
  15344. return BaseShadingPattern;
  15345. }();
  15346. var RadialAxialShadingPattern = /*#__PURE__*/function (_BaseShadingPattern) {
  15347. _inherits(RadialAxialShadingPattern, _BaseShadingPattern);
  15348. var _super = _createSuper(RadialAxialShadingPattern);
  15349. function RadialAxialShadingPattern(IR) {
  15350. var _this;
  15351. _classCallCheck(this, RadialAxialShadingPattern);
  15352. _this = _super.call(this);
  15353. _this._type = IR[1];
  15354. _this._bbox = IR[2];
  15355. _this._colorStops = IR[3];
  15356. _this._p0 = IR[4];
  15357. _this._p1 = IR[5];
  15358. _this._r0 = IR[6];
  15359. _this._r1 = IR[7];
  15360. _this.matrix = null;
  15361. return _this;
  15362. }
  15363. _createClass(RadialAxialShadingPattern, [{
  15364. key: "_createGradient",
  15365. value: function _createGradient(ctx) {
  15366. var grad;
  15367. if (this._type === "axial") {
  15368. grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]);
  15369. } else if (this._type === "radial") {
  15370. grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1);
  15371. }
  15372. var _iterator = _createForOfIteratorHelper(this._colorStops),
  15373. _step;
  15374. try {
  15375. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  15376. var colorStop = _step.value;
  15377. grad.addColorStop(colorStop[0], colorStop[1]);
  15378. }
  15379. } catch (err) {
  15380. _iterator.e(err);
  15381. } finally {
  15382. _iterator.f();
  15383. }
  15384. return grad;
  15385. }
  15386. }, {
  15387. key: "getPattern",
  15388. value: function getPattern(ctx, owner, inverse, pathType) {
  15389. var pattern;
  15390. if (pathType === PathType.STROKE || pathType === PathType.FILL) {
  15391. var ownerBBox = owner.current.getClippedPathBoundingBox(pathType, ctx.mozCurrentTransform) || [0, 0, 0, 0];
  15392. var width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1;
  15393. var height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1;
  15394. var tmpCanvas = owner.cachedCanvases.getCanvas("pattern", width, height, true);
  15395. var tmpCtx = tmpCanvas.context;
  15396. tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);
  15397. tmpCtx.beginPath();
  15398. tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);
  15399. tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]);
  15400. inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]);
  15401. tmpCtx.transform.apply(tmpCtx, owner.baseTransform);
  15402. if (this.matrix) {
  15403. tmpCtx.transform.apply(tmpCtx, this.matrix);
  15404. }
  15405. applyBoundingBox(tmpCtx, this._bbox);
  15406. tmpCtx.fillStyle = this._createGradient(tmpCtx);
  15407. tmpCtx.fill();
  15408. pattern = ctx.createPattern(tmpCanvas.canvas, "no-repeat");
  15409. var domMatrix = new DOMMatrix(inverse);
  15410. try {
  15411. pattern.setTransform(domMatrix);
  15412. } catch (ex) {
  15413. (0, _util.warn)("RadialAxialShadingPattern.getPattern: \"".concat(ex === null || ex === void 0 ? void 0 : ex.message, "\"."));
  15414. }
  15415. } else {
  15416. applyBoundingBox(ctx, this._bbox);
  15417. pattern = this._createGradient(ctx);
  15418. }
  15419. return pattern;
  15420. }
  15421. }]);
  15422. return RadialAxialShadingPattern;
  15423. }(BaseShadingPattern);
  15424. function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {
  15425. var coords = context.coords,
  15426. colors = context.colors;
  15427. var bytes = data.data,
  15428. rowSize = data.width * 4;
  15429. var tmp;
  15430. if (coords[p1 + 1] > coords[p2 + 1]) {
  15431. tmp = p1;
  15432. p1 = p2;
  15433. p2 = tmp;
  15434. tmp = c1;
  15435. c1 = c2;
  15436. c2 = tmp;
  15437. }
  15438. if (coords[p2 + 1] > coords[p3 + 1]) {
  15439. tmp = p2;
  15440. p2 = p3;
  15441. p3 = tmp;
  15442. tmp = c2;
  15443. c2 = c3;
  15444. c3 = tmp;
  15445. }
  15446. if (coords[p1 + 1] > coords[p2 + 1]) {
  15447. tmp = p1;
  15448. p1 = p2;
  15449. p2 = tmp;
  15450. tmp = c1;
  15451. c1 = c2;
  15452. c2 = tmp;
  15453. }
  15454. var x1 = (coords[p1] + context.offsetX) * context.scaleX;
  15455. var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;
  15456. var x2 = (coords[p2] + context.offsetX) * context.scaleX;
  15457. var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;
  15458. var x3 = (coords[p3] + context.offsetX) * context.scaleX;
  15459. var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;
  15460. if (y1 >= y3) {
  15461. return;
  15462. }
  15463. var c1r = colors[c1],
  15464. c1g = colors[c1 + 1],
  15465. c1b = colors[c1 + 2];
  15466. var c2r = colors[c2],
  15467. c2g = colors[c2 + 1],
  15468. c2b = colors[c2 + 2];
  15469. var c3r = colors[c3],
  15470. c3g = colors[c3 + 1],
  15471. c3b = colors[c3 + 2];
  15472. var minY = Math.round(y1),
  15473. maxY = Math.round(y3);
  15474. var xa, car, cag, cab;
  15475. var xb, cbr, cbg, cbb;
  15476. for (var y = minY; y <= maxY; y++) {
  15477. if (y < y2) {
  15478. var _k = void 0;
  15479. if (y < y1) {
  15480. _k = 0;
  15481. } else {
  15482. _k = (y1 - y) / (y1 - y2);
  15483. }
  15484. xa = x1 - (x1 - x2) * _k;
  15485. car = c1r - (c1r - c2r) * _k;
  15486. cag = c1g - (c1g - c2g) * _k;
  15487. cab = c1b - (c1b - c2b) * _k;
  15488. } else {
  15489. var _k2 = void 0;
  15490. if (y > y3) {
  15491. _k2 = 1;
  15492. } else if (y2 === y3) {
  15493. _k2 = 0;
  15494. } else {
  15495. _k2 = (y2 - y) / (y2 - y3);
  15496. }
  15497. xa = x2 - (x2 - x3) * _k2;
  15498. car = c2r - (c2r - c3r) * _k2;
  15499. cag = c2g - (c2g - c3g) * _k2;
  15500. cab = c2b - (c2b - c3b) * _k2;
  15501. }
  15502. var k = void 0;
  15503. if (y < y1) {
  15504. k = 0;
  15505. } else if (y > y3) {
  15506. k = 1;
  15507. } else {
  15508. k = (y1 - y) / (y1 - y3);
  15509. }
  15510. xb = x1 - (x1 - x3) * k;
  15511. cbr = c1r - (c1r - c3r) * k;
  15512. cbg = c1g - (c1g - c3g) * k;
  15513. cbb = c1b - (c1b - c3b) * k;
  15514. var x1_ = Math.round(Math.min(xa, xb));
  15515. var x2_ = Math.round(Math.max(xa, xb));
  15516. var j = rowSize * y + x1_ * 4;
  15517. for (var x = x1_; x <= x2_; x++) {
  15518. k = (xa - x) / (xa - xb);
  15519. if (k < 0) {
  15520. k = 0;
  15521. } else if (k > 1) {
  15522. k = 1;
  15523. }
  15524. bytes[j++] = car - (car - cbr) * k | 0;
  15525. bytes[j++] = cag - (cag - cbg) * k | 0;
  15526. bytes[j++] = cab - (cab - cbb) * k | 0;
  15527. bytes[j++] = 255;
  15528. }
  15529. }
  15530. }
  15531. function drawFigure(data, figure, context) {
  15532. var ps = figure.coords;
  15533. var cs = figure.colors;
  15534. var i, ii;
  15535. switch (figure.type) {
  15536. case "lattice":
  15537. var verticesPerRow = figure.verticesPerRow;
  15538. var rows = Math.floor(ps.length / verticesPerRow) - 1;
  15539. var cols = verticesPerRow - 1;
  15540. for (i = 0; i < rows; i++) {
  15541. var q = i * verticesPerRow;
  15542. for (var j = 0; j < cols; j++, q++) {
  15543. drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);
  15544. drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);
  15545. }
  15546. }
  15547. break;
  15548. case "triangles":
  15549. for (i = 0, ii = ps.length; i < ii; i += 3) {
  15550. drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);
  15551. }
  15552. break;
  15553. default:
  15554. throw new Error("illegal figure");
  15555. }
  15556. }
  15557. var MeshShadingPattern = /*#__PURE__*/function (_BaseShadingPattern2) {
  15558. _inherits(MeshShadingPattern, _BaseShadingPattern2);
  15559. var _super2 = _createSuper(MeshShadingPattern);
  15560. function MeshShadingPattern(IR) {
  15561. var _this2;
  15562. _classCallCheck(this, MeshShadingPattern);
  15563. _this2 = _super2.call(this);
  15564. _this2._coords = IR[2];
  15565. _this2._colors = IR[3];
  15566. _this2._figures = IR[4];
  15567. _this2._bounds = IR[5];
  15568. _this2._bbox = IR[7];
  15569. _this2._background = IR[8];
  15570. _this2.matrix = null;
  15571. return _this2;
  15572. }
  15573. _createClass(MeshShadingPattern, [{
  15574. key: "_createMeshCanvas",
  15575. value: function _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) {
  15576. var EXPECTED_SCALE = 1.1;
  15577. var MAX_PATTERN_SIZE = 3000;
  15578. var BORDER_SIZE = 2;
  15579. var offsetX = Math.floor(this._bounds[0]);
  15580. var offsetY = Math.floor(this._bounds[1]);
  15581. var boundsWidth = Math.ceil(this._bounds[2]) - offsetX;
  15582. var boundsHeight = Math.ceil(this._bounds[3]) - offsetY;
  15583. var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
  15584. var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
  15585. var scaleX = boundsWidth / width;
  15586. var scaleY = boundsHeight / height;
  15587. var context = {
  15588. coords: this._coords,
  15589. colors: this._colors,
  15590. offsetX: -offsetX,
  15591. offsetY: -offsetY,
  15592. scaleX: 1 / scaleX,
  15593. scaleY: 1 / scaleY
  15594. };
  15595. var paddedWidth = width + BORDER_SIZE * 2;
  15596. var paddedHeight = height + BORDER_SIZE * 2;
  15597. var tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
  15598. var tmpCtx = tmpCanvas.context;
  15599. var data = tmpCtx.createImageData(width, height);
  15600. if (backgroundColor) {
  15601. var bytes = data.data;
  15602. for (var i = 0, ii = bytes.length; i < ii; i += 4) {
  15603. bytes[i] = backgroundColor[0];
  15604. bytes[i + 1] = backgroundColor[1];
  15605. bytes[i + 2] = backgroundColor[2];
  15606. bytes[i + 3] = 255;
  15607. }
  15608. }
  15609. var _iterator2 = _createForOfIteratorHelper(this._figures),
  15610. _step2;
  15611. try {
  15612. for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
  15613. var figure = _step2.value;
  15614. drawFigure(data, figure, context);
  15615. }
  15616. } catch (err) {
  15617. _iterator2.e(err);
  15618. } finally {
  15619. _iterator2.f();
  15620. }
  15621. tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);
  15622. var canvas = tmpCanvas.canvas;
  15623. return {
  15624. canvas: canvas,
  15625. offsetX: offsetX - BORDER_SIZE * scaleX,
  15626. offsetY: offsetY - BORDER_SIZE * scaleY,
  15627. scaleX: scaleX,
  15628. scaleY: scaleY
  15629. };
  15630. }
  15631. }, {
  15632. key: "getPattern",
  15633. value: function getPattern(ctx, owner, inverse, pathType) {
  15634. applyBoundingBox(ctx, this._bbox);
  15635. var scale;
  15636. if (pathType === PathType.SHADING) {
  15637. scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);
  15638. } else {
  15639. scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);
  15640. if (this.matrix) {
  15641. var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);
  15642. scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];
  15643. }
  15644. }
  15645. var temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases);
  15646. if (pathType !== PathType.SHADING) {
  15647. ctx.setTransform.apply(ctx, owner.baseTransform);
  15648. if (this.matrix) {
  15649. ctx.transform.apply(ctx, this.matrix);
  15650. }
  15651. }
  15652. ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);
  15653. ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);
  15654. return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat");
  15655. }
  15656. }]);
  15657. return MeshShadingPattern;
  15658. }(BaseShadingPattern);
  15659. var DummyShadingPattern = /*#__PURE__*/function (_BaseShadingPattern3) {
  15660. _inherits(DummyShadingPattern, _BaseShadingPattern3);
  15661. var _super3 = _createSuper(DummyShadingPattern);
  15662. function DummyShadingPattern() {
  15663. _classCallCheck(this, DummyShadingPattern);
  15664. return _super3.apply(this, arguments);
  15665. }
  15666. _createClass(DummyShadingPattern, [{
  15667. key: "getPattern",
  15668. value: function getPattern() {
  15669. return "hotpink";
  15670. }
  15671. }]);
  15672. return DummyShadingPattern;
  15673. }(BaseShadingPattern);
  15674. function getShadingPattern(IR) {
  15675. switch (IR[0]) {
  15676. case "RadialAxial":
  15677. return new RadialAxialShadingPattern(IR);
  15678. case "Mesh":
  15679. return new MeshShadingPattern(IR);
  15680. case "Dummy":
  15681. return new DummyShadingPattern();
  15682. }
  15683. throw new Error("Unknown IR type: ".concat(IR[0]));
  15684. }
  15685. var PaintType = {
  15686. COLORED: 1,
  15687. UNCOLORED: 2
  15688. };
  15689. var TilingPattern = /*#__PURE__*/function () {
  15690. function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {
  15691. _classCallCheck(this, TilingPattern);
  15692. this.operatorList = IR[2];
  15693. this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];
  15694. this.bbox = IR[4];
  15695. this.xstep = IR[5];
  15696. this.ystep = IR[6];
  15697. this.paintType = IR[7];
  15698. this.tilingType = IR[8];
  15699. this.color = color;
  15700. this.ctx = ctx;
  15701. this.canvasGraphicsFactory = canvasGraphicsFactory;
  15702. this.baseTransform = baseTransform;
  15703. }
  15704. _createClass(TilingPattern, [{
  15705. key: "createPatternCanvas",
  15706. value: function createPatternCanvas(owner) {
  15707. var operatorList = this.operatorList;
  15708. var bbox = this.bbox;
  15709. var xstep = this.xstep;
  15710. var ystep = this.ystep;
  15711. var paintType = this.paintType;
  15712. var tilingType = this.tilingType;
  15713. var color = this.color;
  15714. var canvasGraphicsFactory = this.canvasGraphicsFactory;
  15715. (0, _util.info)("TilingType: " + tilingType);
  15716. var x0 = bbox[0],
  15717. y0 = bbox[1],
  15718. x1 = bbox[2],
  15719. y1 = bbox[3];
  15720. var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);
  15721. var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);
  15722. var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];
  15723. var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);
  15724. var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);
  15725. var tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size, true);
  15726. var tmpCtx = tmpCanvas.context;
  15727. var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);
  15728. graphics.groupLevel = owner.groupLevel;
  15729. this.setFillAndStrokeStyleToContext(graphics, paintType, color);
  15730. var adjustedX0 = x0;
  15731. var adjustedY0 = y0;
  15732. var adjustedX1 = x1;
  15733. var adjustedY1 = y1;
  15734. if (x0 < 0) {
  15735. adjustedX0 = 0;
  15736. adjustedX1 += Math.abs(x0);
  15737. }
  15738. if (y0 < 0) {
  15739. adjustedY0 = 0;
  15740. adjustedY1 += Math.abs(y0);
  15741. }
  15742. tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0));
  15743. graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);
  15744. this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1);
  15745. graphics.baseTransform = graphics.ctx.mozCurrentTransform.slice();
  15746. graphics.executeOperatorList(operatorList);
  15747. graphics.endDrawing();
  15748. return {
  15749. canvas: tmpCanvas.canvas,
  15750. scaleX: dimx.scale,
  15751. scaleY: dimy.scale,
  15752. offsetX: adjustedX0,
  15753. offsetY: adjustedY0
  15754. };
  15755. }
  15756. }, {
  15757. key: "getSizeAndScale",
  15758. value: function getSizeAndScale(step, realOutputSize, scale) {
  15759. step = Math.abs(step);
  15760. var maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize);
  15761. var size = Math.ceil(step * scale);
  15762. if (size >= maxSize) {
  15763. size = maxSize;
  15764. } else {
  15765. scale = size / step;
  15766. }
  15767. return {
  15768. scale: scale,
  15769. size: size
  15770. };
  15771. }
  15772. }, {
  15773. key: "clipBbox",
  15774. value: function clipBbox(graphics, x0, y0, x1, y1) {
  15775. var bboxWidth = x1 - x0;
  15776. var bboxHeight = y1 - y0;
  15777. graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);
  15778. graphics.clip();
  15779. graphics.endPath();
  15780. }
  15781. }, {
  15782. key: "setFillAndStrokeStyleToContext",
  15783. value: function setFillAndStrokeStyleToContext(graphics, paintType, color) {
  15784. var context = graphics.ctx,
  15785. current = graphics.current;
  15786. switch (paintType) {
  15787. case PaintType.COLORED:
  15788. var ctx = this.ctx;
  15789. context.fillStyle = ctx.fillStyle;
  15790. context.strokeStyle = ctx.strokeStyle;
  15791. current.fillColor = ctx.fillStyle;
  15792. current.strokeColor = ctx.strokeStyle;
  15793. break;
  15794. case PaintType.UNCOLORED:
  15795. var cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]);
  15796. context.fillStyle = cssColor;
  15797. context.strokeStyle = cssColor;
  15798. current.fillColor = cssColor;
  15799. current.strokeColor = cssColor;
  15800. break;
  15801. default:
  15802. throw new _util.FormatError("Unsupported paint type: ".concat(paintType));
  15803. }
  15804. }
  15805. }, {
  15806. key: "getPattern",
  15807. value: function getPattern(ctx, owner, inverse, pathType) {
  15808. var matrix = inverse;
  15809. if (pathType !== PathType.SHADING) {
  15810. matrix = _util.Util.transform(matrix, owner.baseTransform);
  15811. if (this.matrix) {
  15812. matrix = _util.Util.transform(matrix, this.matrix);
  15813. }
  15814. }
  15815. var temporaryPatternCanvas = this.createPatternCanvas(owner);
  15816. var domMatrix = new DOMMatrix(matrix);
  15817. domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);
  15818. domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY);
  15819. var pattern = ctx.createPattern(temporaryPatternCanvas.canvas, "repeat");
  15820. try {
  15821. pattern.setTransform(domMatrix);
  15822. } catch (ex) {
  15823. (0, _util.warn)("TilingPattern.getPattern: \"".concat(ex === null || ex === void 0 ? void 0 : ex.message, "\"."));
  15824. }
  15825. return pattern;
  15826. }
  15827. }], [{
  15828. key: "MAX_PATTERN_SIZE",
  15829. get: function get() {
  15830. return (0, _util.shadow)(this, "MAX_PATTERN_SIZE", 3000);
  15831. }
  15832. }]);
  15833. return TilingPattern;
  15834. }();
  15835. exports.TilingPattern = TilingPattern;
  15836. /***/ }),
  15837. /* 142 */
  15838. /***/ ((__unused_webpack_module, exports) => {
  15839. "use strict";
  15840. Object.defineProperty(exports, "__esModule", ({
  15841. value: true
  15842. }));
  15843. exports.GlobalWorkerOptions = void 0;
  15844. var GlobalWorkerOptions = Object.create(null);
  15845. exports.GlobalWorkerOptions = GlobalWorkerOptions;
  15846. GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;
  15847. GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? "" : GlobalWorkerOptions.workerSrc;
  15848. /***/ }),
  15849. /* 143 */
  15850. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  15851. "use strict";
  15852. Object.defineProperty(exports, "__esModule", ({
  15853. value: true
  15854. }));
  15855. exports.MessageHandler = void 0;
  15856. var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
  15857. var _util = __w_pdfjs_require__(4);
  15858. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  15859. function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
  15860. function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
  15861. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  15862. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  15863. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  15864. function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  15865. var CallbackKind = {
  15866. UNKNOWN: 0,
  15867. DATA: 1,
  15868. ERROR: 2
  15869. };
  15870. var StreamKind = {
  15871. UNKNOWN: 0,
  15872. CANCEL: 1,
  15873. CANCEL_COMPLETE: 2,
  15874. CLOSE: 3,
  15875. ENQUEUE: 4,
  15876. ERROR: 5,
  15877. PULL: 6,
  15878. PULL_COMPLETE: 7,
  15879. START_COMPLETE: 8
  15880. };
  15881. function wrapReason(reason) {
  15882. if (!(reason instanceof Error || _typeof(reason) === "object" && reason !== null)) {
  15883. (0, _util.warn)('wrapReason: Expected "reason" to be a (possibly cloned) Error.');
  15884. return reason;
  15885. }
  15886. switch (reason.name) {
  15887. case "AbortException":
  15888. return new _util.AbortException(reason.message);
  15889. case "MissingPDFException":
  15890. return new _util.MissingPDFException(reason.message);
  15891. case "PasswordException":
  15892. return new _util.PasswordException(reason.message, reason.code);
  15893. case "UnexpectedResponseException":
  15894. return new _util.UnexpectedResponseException(reason.message, reason.status);
  15895. case "UnknownErrorException":
  15896. return new _util.UnknownErrorException(reason.message, reason.details);
  15897. default:
  15898. return new _util.UnknownErrorException(reason.message, reason.toString());
  15899. }
  15900. }
  15901. var MessageHandler = /*#__PURE__*/function () {
  15902. function MessageHandler(sourceName, targetName, comObj) {
  15903. var _this = this;
  15904. _classCallCheck(this, MessageHandler);
  15905. this.sourceName = sourceName;
  15906. this.targetName = targetName;
  15907. this.comObj = comObj;
  15908. this.callbackId = 1;
  15909. this.streamId = 1;
  15910. this.streamSinks = Object.create(null);
  15911. this.streamControllers = Object.create(null);
  15912. this.callbackCapabilities = Object.create(null);
  15913. this.actionHandler = Object.create(null);
  15914. this._onComObjOnMessage = function (event) {
  15915. var data = event.data;
  15916. if (data.targetName !== _this.sourceName) {
  15917. return;
  15918. }
  15919. if (data.stream) {
  15920. _this._processStreamMessage(data);
  15921. return;
  15922. }
  15923. if (data.callback) {
  15924. var callbackId = data.callbackId;
  15925. var capability = _this.callbackCapabilities[callbackId];
  15926. if (!capability) {
  15927. throw new Error("Cannot resolve callback ".concat(callbackId));
  15928. }
  15929. delete _this.callbackCapabilities[callbackId];
  15930. if (data.callback === CallbackKind.DATA) {
  15931. capability.resolve(data.data);
  15932. } else if (data.callback === CallbackKind.ERROR) {
  15933. capability.reject(wrapReason(data.reason));
  15934. } else {
  15935. throw new Error("Unexpected callback case");
  15936. }
  15937. return;
  15938. }
  15939. var action = _this.actionHandler[data.action];
  15940. if (!action) {
  15941. throw new Error("Unknown action from worker: ".concat(data.action));
  15942. }
  15943. if (data.callbackId) {
  15944. var cbSourceName = _this.sourceName;
  15945. var cbTargetName = data.sourceName;
  15946. new Promise(function (resolve) {
  15947. resolve(action(data.data));
  15948. }).then(function (result) {
  15949. comObj.postMessage({
  15950. sourceName: cbSourceName,
  15951. targetName: cbTargetName,
  15952. callback: CallbackKind.DATA,
  15953. callbackId: data.callbackId,
  15954. data: result
  15955. });
  15956. }, function (reason) {
  15957. comObj.postMessage({
  15958. sourceName: cbSourceName,
  15959. targetName: cbTargetName,
  15960. callback: CallbackKind.ERROR,
  15961. callbackId: data.callbackId,
  15962. reason: wrapReason(reason)
  15963. });
  15964. });
  15965. return;
  15966. }
  15967. if (data.streamId) {
  15968. _this._createStreamSink(data);
  15969. return;
  15970. }
  15971. action(data.data);
  15972. };
  15973. comObj.addEventListener("message", this._onComObjOnMessage);
  15974. }
  15975. _createClass(MessageHandler, [{
  15976. key: "on",
  15977. value: function on(actionName, handler) {
  15978. var ah = this.actionHandler;
  15979. if (ah[actionName]) {
  15980. throw new Error("There is already an actionName called \"".concat(actionName, "\""));
  15981. }
  15982. ah[actionName] = handler;
  15983. }
  15984. }, {
  15985. key: "send",
  15986. value: function send(actionName, data, transfers) {
  15987. this.comObj.postMessage({
  15988. sourceName: this.sourceName,
  15989. targetName: this.targetName,
  15990. action: actionName,
  15991. data: data
  15992. }, transfers);
  15993. }
  15994. }, {
  15995. key: "sendWithPromise",
  15996. value: function sendWithPromise(actionName, data, transfers) {
  15997. var callbackId = this.callbackId++;
  15998. var capability = (0, _util.createPromiseCapability)();
  15999. this.callbackCapabilities[callbackId] = capability;
  16000. try {
  16001. this.comObj.postMessage({
  16002. sourceName: this.sourceName,
  16003. targetName: this.targetName,
  16004. action: actionName,
  16005. callbackId: callbackId,
  16006. data: data
  16007. }, transfers);
  16008. } catch (ex) {
  16009. capability.reject(ex);
  16010. }
  16011. return capability.promise;
  16012. }
  16013. }, {
  16014. key: "sendWithStream",
  16015. value: function sendWithStream(actionName, data, queueingStrategy, transfers) {
  16016. var _this2 = this;
  16017. var streamId = this.streamId++,
  16018. sourceName = this.sourceName,
  16019. targetName = this.targetName,
  16020. comObj = this.comObj;
  16021. return new ReadableStream({
  16022. start: function start(controller) {
  16023. var startCapability = (0, _util.createPromiseCapability)();
  16024. _this2.streamControllers[streamId] = {
  16025. controller: controller,
  16026. startCall: startCapability,
  16027. pullCall: null,
  16028. cancelCall: null,
  16029. isClosed: false
  16030. };
  16031. comObj.postMessage({
  16032. sourceName: sourceName,
  16033. targetName: targetName,
  16034. action: actionName,
  16035. streamId: streamId,
  16036. data: data,
  16037. desiredSize: controller.desiredSize
  16038. }, transfers);
  16039. return startCapability.promise;
  16040. },
  16041. pull: function pull(controller) {
  16042. var pullCapability = (0, _util.createPromiseCapability)();
  16043. _this2.streamControllers[streamId].pullCall = pullCapability;
  16044. comObj.postMessage({
  16045. sourceName: sourceName,
  16046. targetName: targetName,
  16047. stream: StreamKind.PULL,
  16048. streamId: streamId,
  16049. desiredSize: controller.desiredSize
  16050. });
  16051. return pullCapability.promise;
  16052. },
  16053. cancel: function cancel(reason) {
  16054. (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason");
  16055. var cancelCapability = (0, _util.createPromiseCapability)();
  16056. _this2.streamControllers[streamId].cancelCall = cancelCapability;
  16057. _this2.streamControllers[streamId].isClosed = true;
  16058. comObj.postMessage({
  16059. sourceName: sourceName,
  16060. targetName: targetName,
  16061. stream: StreamKind.CANCEL,
  16062. streamId: streamId,
  16063. reason: wrapReason(reason)
  16064. });
  16065. return cancelCapability.promise;
  16066. }
  16067. }, queueingStrategy);
  16068. }
  16069. }, {
  16070. key: "_createStreamSink",
  16071. value: function _createStreamSink(data) {
  16072. var streamId = data.streamId,
  16073. sourceName = this.sourceName,
  16074. targetName = data.sourceName,
  16075. comObj = this.comObj;
  16076. var self = this,
  16077. action = this.actionHandler[data.action];
  16078. var streamSink = {
  16079. enqueue: function enqueue(chunk) {
  16080. var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
  16081. var transfers = arguments.length > 2 ? arguments[2] : undefined;
  16082. if (this.isCancelled) {
  16083. return;
  16084. }
  16085. var lastDesiredSize = this.desiredSize;
  16086. this.desiredSize -= size;
  16087. if (lastDesiredSize > 0 && this.desiredSize <= 0) {
  16088. this.sinkCapability = (0, _util.createPromiseCapability)();
  16089. this.ready = this.sinkCapability.promise;
  16090. }
  16091. comObj.postMessage({
  16092. sourceName: sourceName,
  16093. targetName: targetName,
  16094. stream: StreamKind.ENQUEUE,
  16095. streamId: streamId,
  16096. chunk: chunk
  16097. }, transfers);
  16098. },
  16099. close: function close() {
  16100. if (this.isCancelled) {
  16101. return;
  16102. }
  16103. this.isCancelled = true;
  16104. comObj.postMessage({
  16105. sourceName: sourceName,
  16106. targetName: targetName,
  16107. stream: StreamKind.CLOSE,
  16108. streamId: streamId
  16109. });
  16110. delete self.streamSinks[streamId];
  16111. },
  16112. error: function error(reason) {
  16113. (0, _util.assert)(reason instanceof Error, "error must have a valid reason");
  16114. if (this.isCancelled) {
  16115. return;
  16116. }
  16117. this.isCancelled = true;
  16118. comObj.postMessage({
  16119. sourceName: sourceName,
  16120. targetName: targetName,
  16121. stream: StreamKind.ERROR,
  16122. streamId: streamId,
  16123. reason: wrapReason(reason)
  16124. });
  16125. },
  16126. sinkCapability: (0, _util.createPromiseCapability)(),
  16127. onPull: null,
  16128. onCancel: null,
  16129. isCancelled: false,
  16130. desiredSize: data.desiredSize,
  16131. ready: null
  16132. };
  16133. streamSink.sinkCapability.resolve();
  16134. streamSink.ready = streamSink.sinkCapability.promise;
  16135. this.streamSinks[streamId] = streamSink;
  16136. new Promise(function (resolve) {
  16137. resolve(action(data.data, streamSink));
  16138. }).then(function () {
  16139. comObj.postMessage({
  16140. sourceName: sourceName,
  16141. targetName: targetName,
  16142. stream: StreamKind.START_COMPLETE,
  16143. streamId: streamId,
  16144. success: true
  16145. });
  16146. }, function (reason) {
  16147. comObj.postMessage({
  16148. sourceName: sourceName,
  16149. targetName: targetName,
  16150. stream: StreamKind.START_COMPLETE,
  16151. streamId: streamId,
  16152. reason: wrapReason(reason)
  16153. });
  16154. });
  16155. }
  16156. }, {
  16157. key: "_processStreamMessage",
  16158. value: function _processStreamMessage(data) {
  16159. var streamId = data.streamId,
  16160. sourceName = this.sourceName,
  16161. targetName = data.sourceName,
  16162. comObj = this.comObj;
  16163. var streamController = this.streamControllers[streamId],
  16164. streamSink = this.streamSinks[streamId];
  16165. switch (data.stream) {
  16166. case StreamKind.START_COMPLETE:
  16167. if (data.success) {
  16168. streamController.startCall.resolve();
  16169. } else {
  16170. streamController.startCall.reject(wrapReason(data.reason));
  16171. }
  16172. break;
  16173. case StreamKind.PULL_COMPLETE:
  16174. if (data.success) {
  16175. streamController.pullCall.resolve();
  16176. } else {
  16177. streamController.pullCall.reject(wrapReason(data.reason));
  16178. }
  16179. break;
  16180. case StreamKind.PULL:
  16181. if (!streamSink) {
  16182. comObj.postMessage({
  16183. sourceName: sourceName,
  16184. targetName: targetName,
  16185. stream: StreamKind.PULL_COMPLETE,
  16186. streamId: streamId,
  16187. success: true
  16188. });
  16189. break;
  16190. }
  16191. if (streamSink.desiredSize <= 0 && data.desiredSize > 0) {
  16192. streamSink.sinkCapability.resolve();
  16193. }
  16194. streamSink.desiredSize = data.desiredSize;
  16195. new Promise(function (resolve) {
  16196. resolve(streamSink.onPull && streamSink.onPull());
  16197. }).then(function () {
  16198. comObj.postMessage({
  16199. sourceName: sourceName,
  16200. targetName: targetName,
  16201. stream: StreamKind.PULL_COMPLETE,
  16202. streamId: streamId,
  16203. success: true
  16204. });
  16205. }, function (reason) {
  16206. comObj.postMessage({
  16207. sourceName: sourceName,
  16208. targetName: targetName,
  16209. stream: StreamKind.PULL_COMPLETE,
  16210. streamId: streamId,
  16211. reason: wrapReason(reason)
  16212. });
  16213. });
  16214. break;
  16215. case StreamKind.ENQUEUE:
  16216. (0, _util.assert)(streamController, "enqueue should have stream controller");
  16217. if (streamController.isClosed) {
  16218. break;
  16219. }
  16220. streamController.controller.enqueue(data.chunk);
  16221. break;
  16222. case StreamKind.CLOSE:
  16223. (0, _util.assert)(streamController, "close should have stream controller");
  16224. if (streamController.isClosed) {
  16225. break;
  16226. }
  16227. streamController.isClosed = true;
  16228. streamController.controller.close();
  16229. this._deleteStreamController(streamController, streamId);
  16230. break;
  16231. case StreamKind.ERROR:
  16232. (0, _util.assert)(streamController, "error should have stream controller");
  16233. streamController.controller.error(wrapReason(data.reason));
  16234. this._deleteStreamController(streamController, streamId);
  16235. break;
  16236. case StreamKind.CANCEL_COMPLETE:
  16237. if (data.success) {
  16238. streamController.cancelCall.resolve();
  16239. } else {
  16240. streamController.cancelCall.reject(wrapReason(data.reason));
  16241. }
  16242. this._deleteStreamController(streamController, streamId);
  16243. break;
  16244. case StreamKind.CANCEL:
  16245. if (!streamSink) {
  16246. break;
  16247. }
  16248. new Promise(function (resolve) {
  16249. resolve(streamSink.onCancel && streamSink.onCancel(wrapReason(data.reason)));
  16250. }).then(function () {
  16251. comObj.postMessage({
  16252. sourceName: sourceName,
  16253. targetName: targetName,
  16254. stream: StreamKind.CANCEL_COMPLETE,
  16255. streamId: streamId,
  16256. success: true
  16257. });
  16258. }, function (reason) {
  16259. comObj.postMessage({
  16260. sourceName: sourceName,
  16261. targetName: targetName,
  16262. stream: StreamKind.CANCEL_COMPLETE,
  16263. streamId: streamId,
  16264. reason: wrapReason(reason)
  16265. });
  16266. });
  16267. streamSink.sinkCapability.reject(wrapReason(data.reason));
  16268. streamSink.isCancelled = true;
  16269. delete this.streamSinks[streamId];
  16270. break;
  16271. default:
  16272. throw new Error("Unexpected stream case");
  16273. }
  16274. }
  16275. }, {
  16276. key: "_deleteStreamController",
  16277. value: function () {
  16278. var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(streamController, streamId) {
  16279. return _regenerator["default"].wrap(function _callee$(_context) {
  16280. while (1) {
  16281. switch (_context.prev = _context.next) {
  16282. case 0:
  16283. _context.next = 2;
  16284. return Promise.allSettled([streamController.startCall && streamController.startCall.promise, streamController.pullCall && streamController.pullCall.promise, streamController.cancelCall && streamController.cancelCall.promise]);
  16285. case 2:
  16286. delete this.streamControllers[streamId];
  16287. case 3:
  16288. case "end":
  16289. return _context.stop();
  16290. }
  16291. }
  16292. }, _callee, this);
  16293. }));
  16294. function _deleteStreamController(_x, _x2) {
  16295. return _deleteStreamController2.apply(this, arguments);
  16296. }
  16297. return _deleteStreamController;
  16298. }()
  16299. }, {
  16300. key: "destroy",
  16301. value: function destroy() {
  16302. this.comObj.removeEventListener("message", this._onComObjOnMessage);
  16303. }
  16304. }]);
  16305. return MessageHandler;
  16306. }();
  16307. exports.MessageHandler = MessageHandler;
  16308. /***/ }),
  16309. /* 144 */
  16310. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  16311. "use strict";
  16312. Object.defineProperty(exports, "__esModule", ({
  16313. value: true
  16314. }));
  16315. exports.Metadata = void 0;
  16316. var _util = __w_pdfjs_require__(4);
  16317. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  16318. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  16319. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  16320. function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
  16321. function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
  16322. function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
  16323. function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
  16324. function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
  16325. function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
  16326. function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
  16327. var _metadataMap = /*#__PURE__*/new WeakMap();
  16328. var _data = /*#__PURE__*/new WeakMap();
  16329. var Metadata = /*#__PURE__*/function () {
  16330. function Metadata(_ref) {
  16331. var parsedData = _ref.parsedData,
  16332. rawData = _ref.rawData;
  16333. _classCallCheck(this, Metadata);
  16334. _classPrivateFieldInitSpec(this, _metadataMap, {
  16335. writable: true,
  16336. value: void 0
  16337. });
  16338. _classPrivateFieldInitSpec(this, _data, {
  16339. writable: true,
  16340. value: void 0
  16341. });
  16342. _classPrivateFieldSet(this, _metadataMap, parsedData);
  16343. _classPrivateFieldSet(this, _data, rawData);
  16344. }
  16345. _createClass(Metadata, [{
  16346. key: "getRaw",
  16347. value: function getRaw() {
  16348. return _classPrivateFieldGet(this, _data);
  16349. }
  16350. }, {
  16351. key: "get",
  16352. value: function get(name) {
  16353. var _classPrivateFieldGet2;
  16354. return (_classPrivateFieldGet2 = _classPrivateFieldGet(this, _metadataMap).get(name)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : null;
  16355. }
  16356. }, {
  16357. key: "getAll",
  16358. value: function getAll() {
  16359. return (0, _util.objectFromMap)(_classPrivateFieldGet(this, _metadataMap));
  16360. }
  16361. }, {
  16362. key: "has",
  16363. value: function has(name) {
  16364. return _classPrivateFieldGet(this, _metadataMap).has(name);
  16365. }
  16366. }]);
  16367. return Metadata;
  16368. }();
  16369. exports.Metadata = Metadata;
  16370. /***/ }),
  16371. /* 145 */
  16372. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  16373. "use strict";
  16374. Object.defineProperty(exports, "__esModule", ({
  16375. value: true
  16376. }));
  16377. exports.OptionalContentConfig = void 0;
  16378. var _util = __w_pdfjs_require__(4);
  16379. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  16380. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  16381. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  16382. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  16383. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  16384. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  16385. var OptionalContentGroup = function OptionalContentGroup(name, intent) {
  16386. _classCallCheck(this, OptionalContentGroup);
  16387. this.visible = true;
  16388. this.name = name;
  16389. this.intent = intent;
  16390. };
  16391. var OptionalContentConfig = /*#__PURE__*/function () {
  16392. function OptionalContentConfig(data) {
  16393. _classCallCheck(this, OptionalContentConfig);
  16394. this.name = null;
  16395. this.creator = null;
  16396. this._order = null;
  16397. this._groups = new Map();
  16398. if (data === null) {
  16399. return;
  16400. }
  16401. this.name = data.name;
  16402. this.creator = data.creator;
  16403. this._order = data.order;
  16404. var _iterator = _createForOfIteratorHelper(data.groups),
  16405. _step;
  16406. try {
  16407. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  16408. var _group = _step.value;
  16409. this._groups.set(_group.id, new OptionalContentGroup(_group.name, _group.intent));
  16410. }
  16411. } catch (err) {
  16412. _iterator.e(err);
  16413. } finally {
  16414. _iterator.f();
  16415. }
  16416. if (data.baseState === "OFF") {
  16417. var _iterator2 = _createForOfIteratorHelper(this._groups),
  16418. _step2;
  16419. try {
  16420. for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
  16421. var group = _step2.value;
  16422. group.visible = false;
  16423. }
  16424. } catch (err) {
  16425. _iterator2.e(err);
  16426. } finally {
  16427. _iterator2.f();
  16428. }
  16429. }
  16430. var _iterator3 = _createForOfIteratorHelper(data.on),
  16431. _step3;
  16432. try {
  16433. for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
  16434. var on = _step3.value;
  16435. this._groups.get(on).visible = true;
  16436. }
  16437. } catch (err) {
  16438. _iterator3.e(err);
  16439. } finally {
  16440. _iterator3.f();
  16441. }
  16442. var _iterator4 = _createForOfIteratorHelper(data.off),
  16443. _step4;
  16444. try {
  16445. for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
  16446. var off = _step4.value;
  16447. this._groups.get(off).visible = false;
  16448. }
  16449. } catch (err) {
  16450. _iterator4.e(err);
  16451. } finally {
  16452. _iterator4.f();
  16453. }
  16454. }
  16455. _createClass(OptionalContentConfig, [{
  16456. key: "_evaluateVisibilityExpression",
  16457. value: function _evaluateVisibilityExpression(array) {
  16458. var length = array.length;
  16459. if (length < 2) {
  16460. return true;
  16461. }
  16462. var operator = array[0];
  16463. for (var i = 1; i < length; i++) {
  16464. var element = array[i];
  16465. var state = void 0;
  16466. if (Array.isArray(element)) {
  16467. state = this._evaluateVisibilityExpression(element);
  16468. } else if (this._groups.has(element)) {
  16469. state = this._groups.get(element).visible;
  16470. } else {
  16471. (0, _util.warn)("Optional content group not found: ".concat(element));
  16472. return true;
  16473. }
  16474. switch (operator) {
  16475. case "And":
  16476. if (!state) {
  16477. return false;
  16478. }
  16479. break;
  16480. case "Or":
  16481. if (state) {
  16482. return true;
  16483. }
  16484. break;
  16485. case "Not":
  16486. return !state;
  16487. default:
  16488. return true;
  16489. }
  16490. }
  16491. return operator === "And";
  16492. }
  16493. }, {
  16494. key: "isVisible",
  16495. value: function isVisible(group) {
  16496. if (this._groups.size === 0) {
  16497. return true;
  16498. }
  16499. if (!group) {
  16500. (0, _util.warn)("Optional content group not defined.");
  16501. return true;
  16502. }
  16503. if (group.type === "OCG") {
  16504. if (!this._groups.has(group.id)) {
  16505. (0, _util.warn)("Optional content group not found: ".concat(group.id));
  16506. return true;
  16507. }
  16508. return this._groups.get(group.id).visible;
  16509. } else if (group.type === "OCMD") {
  16510. if (group.expression) {
  16511. return this._evaluateVisibilityExpression(group.expression);
  16512. }
  16513. if (!group.policy || group.policy === "AnyOn") {
  16514. var _iterator5 = _createForOfIteratorHelper(group.ids),
  16515. _step5;
  16516. try {
  16517. for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
  16518. var id = _step5.value;
  16519. if (!this._groups.has(id)) {
  16520. (0, _util.warn)("Optional content group not found: ".concat(id));
  16521. return true;
  16522. }
  16523. if (this._groups.get(id).visible) {
  16524. return true;
  16525. }
  16526. }
  16527. } catch (err) {
  16528. _iterator5.e(err);
  16529. } finally {
  16530. _iterator5.f();
  16531. }
  16532. return false;
  16533. } else if (group.policy === "AllOn") {
  16534. var _iterator6 = _createForOfIteratorHelper(group.ids),
  16535. _step6;
  16536. try {
  16537. for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
  16538. var _id = _step6.value;
  16539. if (!this._groups.has(_id)) {
  16540. (0, _util.warn)("Optional content group not found: ".concat(_id));
  16541. return true;
  16542. }
  16543. if (!this._groups.get(_id).visible) {
  16544. return false;
  16545. }
  16546. }
  16547. } catch (err) {
  16548. _iterator6.e(err);
  16549. } finally {
  16550. _iterator6.f();
  16551. }
  16552. return true;
  16553. } else if (group.policy === "AnyOff") {
  16554. var _iterator7 = _createForOfIteratorHelper(group.ids),
  16555. _step7;
  16556. try {
  16557. for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
  16558. var _id2 = _step7.value;
  16559. if (!this._groups.has(_id2)) {
  16560. (0, _util.warn)("Optional content group not found: ".concat(_id2));
  16561. return true;
  16562. }
  16563. if (!this._groups.get(_id2).visible) {
  16564. return true;
  16565. }
  16566. }
  16567. } catch (err) {
  16568. _iterator7.e(err);
  16569. } finally {
  16570. _iterator7.f();
  16571. }
  16572. return false;
  16573. } else if (group.policy === "AllOff") {
  16574. var _iterator8 = _createForOfIteratorHelper(group.ids),
  16575. _step8;
  16576. try {
  16577. for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
  16578. var _id3 = _step8.value;
  16579. if (!this._groups.has(_id3)) {
  16580. (0, _util.warn)("Optional content group not found: ".concat(_id3));
  16581. return true;
  16582. }
  16583. if (this._groups.get(_id3).visible) {
  16584. return false;
  16585. }
  16586. }
  16587. } catch (err) {
  16588. _iterator8.e(err);
  16589. } finally {
  16590. _iterator8.f();
  16591. }
  16592. return true;
  16593. }
  16594. (0, _util.warn)("Unknown optional content policy ".concat(group.policy, "."));
  16595. return true;
  16596. }
  16597. (0, _util.warn)("Unknown group type ".concat(group.type, "."));
  16598. return true;
  16599. }
  16600. }, {
  16601. key: "setVisibility",
  16602. value: function setVisibility(id) {
  16603. var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
  16604. if (!this._groups.has(id)) {
  16605. (0, _util.warn)("Optional content group not found: ".concat(id));
  16606. return;
  16607. }
  16608. this._groups.get(id).visible = !!visible;
  16609. }
  16610. }, {
  16611. key: "getOrder",
  16612. value: function getOrder() {
  16613. if (!this._groups.size) {
  16614. return null;
  16615. }
  16616. if (this._order) {
  16617. return this._order.slice();
  16618. }
  16619. return Array.from(this._groups.keys());
  16620. }
  16621. }, {
  16622. key: "getGroups",
  16623. value: function getGroups() {
  16624. return this._groups.size > 0 ? (0, _util.objectFromMap)(this._groups) : null;
  16625. }
  16626. }, {
  16627. key: "getGroup",
  16628. value: function getGroup(id) {
  16629. return this._groups.get(id) || null;
  16630. }
  16631. }]);
  16632. return OptionalContentConfig;
  16633. }();
  16634. exports.OptionalContentConfig = OptionalContentConfig;
  16635. /***/ }),
  16636. /* 146 */
  16637. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  16638. "use strict";
  16639. Object.defineProperty(exports, "__esModule", ({
  16640. value: true
  16641. }));
  16642. exports.PDFDataTransportStream = void 0;
  16643. var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
  16644. var _util = __w_pdfjs_require__(4);
  16645. var _display_utils = __w_pdfjs_require__(1);
  16646. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  16647. function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
  16648. function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
  16649. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  16650. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  16651. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  16652. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  16653. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  16654. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  16655. var PDFDataTransportStream = /*#__PURE__*/function () {
  16656. function PDFDataTransportStream(params, pdfDataRangeTransport) {
  16657. var _this = this;
  16658. _classCallCheck(this, PDFDataTransportStream);
  16659. (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.');
  16660. this._queuedChunks = [];
  16661. this._progressiveDone = params.progressiveDone || false;
  16662. this._contentDispositionFilename = params.contentDispositionFilename || null;
  16663. var initialData = params.initialData;
  16664. if ((initialData === null || initialData === void 0 ? void 0 : initialData.length) > 0) {
  16665. var buffer = new Uint8Array(initialData).buffer;
  16666. this._queuedChunks.push(buffer);
  16667. }
  16668. this._pdfDataRangeTransport = pdfDataRangeTransport;
  16669. this._isStreamingSupported = !params.disableStream;
  16670. this._isRangeSupported = !params.disableRange;
  16671. this._contentLength = params.length;
  16672. this._fullRequestReader = null;
  16673. this._rangeReaders = [];
  16674. this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {
  16675. _this._onReceiveData({
  16676. begin: begin,
  16677. chunk: chunk
  16678. });
  16679. });
  16680. this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {
  16681. _this._onProgress({
  16682. loaded: loaded,
  16683. total: total
  16684. });
  16685. });
  16686. this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {
  16687. _this._onReceiveData({
  16688. chunk: chunk
  16689. });
  16690. });
  16691. this._pdfDataRangeTransport.addProgressiveDoneListener(function () {
  16692. _this._onProgressiveDone();
  16693. });
  16694. this._pdfDataRangeTransport.transportReady();
  16695. }
  16696. _createClass(PDFDataTransportStream, [{
  16697. key: "_onReceiveData",
  16698. value: function _onReceiveData(args) {
  16699. var buffer = new Uint8Array(args.chunk).buffer;
  16700. if (args.begin === undefined) {
  16701. if (this._fullRequestReader) {
  16702. this._fullRequestReader._enqueue(buffer);
  16703. } else {
  16704. this._queuedChunks.push(buffer);
  16705. }
  16706. } else {
  16707. var found = this._rangeReaders.some(function (rangeReader) {
  16708. if (rangeReader._begin !== args.begin) {
  16709. return false;
  16710. }
  16711. rangeReader._enqueue(buffer);
  16712. return true;
  16713. });
  16714. (0, _util.assert)(found, "_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.");
  16715. }
  16716. }
  16717. }, {
  16718. key: "_progressiveDataLength",
  16719. get: function get() {
  16720. var _this$_fullRequestRea, _this$_fullRequestRea2;
  16721. return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0;
  16722. }
  16723. }, {
  16724. key: "_onProgress",
  16725. value: function _onProgress(evt) {
  16726. if (evt.total === undefined) {
  16727. var firstReader = this._rangeReaders[0];
  16728. if (firstReader !== null && firstReader !== void 0 && firstReader.onProgress) {
  16729. firstReader.onProgress({
  16730. loaded: evt.loaded
  16731. });
  16732. }
  16733. } else {
  16734. var fullReader = this._fullRequestReader;
  16735. if (fullReader !== null && fullReader !== void 0 && fullReader.onProgress) {
  16736. fullReader.onProgress({
  16737. loaded: evt.loaded,
  16738. total: evt.total
  16739. });
  16740. }
  16741. }
  16742. }
  16743. }, {
  16744. key: "_onProgressiveDone",
  16745. value: function _onProgressiveDone() {
  16746. if (this._fullRequestReader) {
  16747. this._fullRequestReader.progressiveDone();
  16748. }
  16749. this._progressiveDone = true;
  16750. }
  16751. }, {
  16752. key: "_removeRangeReader",
  16753. value: function _removeRangeReader(reader) {
  16754. var i = this._rangeReaders.indexOf(reader);
  16755. if (i >= 0) {
  16756. this._rangeReaders.splice(i, 1);
  16757. }
  16758. }
  16759. }, {
  16760. key: "getFullReader",
  16761. value: function getFullReader() {
  16762. (0, _util.assert)(!this._fullRequestReader, "PDFDataTransportStream.getFullReader can only be called once.");
  16763. var queuedChunks = this._queuedChunks;
  16764. this._queuedChunks = null;
  16765. return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename);
  16766. }
  16767. }, {
  16768. key: "getRangeReader",
  16769. value: function getRangeReader(begin, end) {
  16770. if (end <= this._progressiveDataLength) {
  16771. return null;
  16772. }
  16773. var reader = new PDFDataTransportStreamRangeReader(this, begin, end);
  16774. this._pdfDataRangeTransport.requestDataRange(begin, end);
  16775. this._rangeReaders.push(reader);
  16776. return reader;
  16777. }
  16778. }, {
  16779. key: "cancelAllRequests",
  16780. value: function cancelAllRequests(reason) {
  16781. if (this._fullRequestReader) {
  16782. this._fullRequestReader.cancel(reason);
  16783. }
  16784. var _iterator = _createForOfIteratorHelper(this._rangeReaders.slice(0)),
  16785. _step;
  16786. try {
  16787. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  16788. var reader = _step.value;
  16789. reader.cancel(reason);
  16790. }
  16791. } catch (err) {
  16792. _iterator.e(err);
  16793. } finally {
  16794. _iterator.f();
  16795. }
  16796. this._pdfDataRangeTransport.abort();
  16797. }
  16798. }]);
  16799. return PDFDataTransportStream;
  16800. }();
  16801. exports.PDFDataTransportStream = PDFDataTransportStream;
  16802. var PDFDataTransportStreamReader = /*#__PURE__*/function () {
  16803. function PDFDataTransportStreamReader(stream, queuedChunks) {
  16804. var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  16805. var contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
  16806. _classCallCheck(this, PDFDataTransportStreamReader);
  16807. this._stream = stream;
  16808. this._done = progressiveDone || false;
  16809. this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null;
  16810. this._queuedChunks = queuedChunks || [];
  16811. this._loaded = 0;
  16812. var _iterator2 = _createForOfIteratorHelper(this._queuedChunks),
  16813. _step2;
  16814. try {
  16815. for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
  16816. var chunk = _step2.value;
  16817. this._loaded += chunk.byteLength;
  16818. }
  16819. } catch (err) {
  16820. _iterator2.e(err);
  16821. } finally {
  16822. _iterator2.f();
  16823. }
  16824. this._requests = [];
  16825. this._headersReady = Promise.resolve();
  16826. stream._fullRequestReader = this;
  16827. this.onProgress = null;
  16828. }
  16829. _createClass(PDFDataTransportStreamReader, [{
  16830. key: "_enqueue",
  16831. value: function _enqueue(chunk) {
  16832. if (this._done) {
  16833. return;
  16834. }
  16835. if (this._requests.length > 0) {
  16836. var requestCapability = this._requests.shift();
  16837. requestCapability.resolve({
  16838. value: chunk,
  16839. done: false
  16840. });
  16841. } else {
  16842. this._queuedChunks.push(chunk);
  16843. }
  16844. this._loaded += chunk.byteLength;
  16845. }
  16846. }, {
  16847. key: "headersReady",
  16848. get: function get() {
  16849. return this._headersReady;
  16850. }
  16851. }, {
  16852. key: "filename",
  16853. get: function get() {
  16854. return this._filename;
  16855. }
  16856. }, {
  16857. key: "isRangeSupported",
  16858. get: function get() {
  16859. return this._stream._isRangeSupported;
  16860. }
  16861. }, {
  16862. key: "isStreamingSupported",
  16863. get: function get() {
  16864. return this._stream._isStreamingSupported;
  16865. }
  16866. }, {
  16867. key: "contentLength",
  16868. get: function get() {
  16869. return this._stream._contentLength;
  16870. }
  16871. }, {
  16872. key: "read",
  16873. value: function () {
  16874. var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
  16875. var chunk, requestCapability;
  16876. return _regenerator["default"].wrap(function _callee$(_context) {
  16877. while (1) {
  16878. switch (_context.prev = _context.next) {
  16879. case 0:
  16880. if (!(this._queuedChunks.length > 0)) {
  16881. _context.next = 3;
  16882. break;
  16883. }
  16884. chunk = this._queuedChunks.shift();
  16885. return _context.abrupt("return", {
  16886. value: chunk,
  16887. done: false
  16888. });
  16889. case 3:
  16890. if (!this._done) {
  16891. _context.next = 5;
  16892. break;
  16893. }
  16894. return _context.abrupt("return", {
  16895. value: undefined,
  16896. done: true
  16897. });
  16898. case 5:
  16899. requestCapability = (0, _util.createPromiseCapability)();
  16900. this._requests.push(requestCapability);
  16901. return _context.abrupt("return", requestCapability.promise);
  16902. case 8:
  16903. case "end":
  16904. return _context.stop();
  16905. }
  16906. }
  16907. }, _callee, this);
  16908. }));
  16909. function read() {
  16910. return _read.apply(this, arguments);
  16911. }
  16912. return read;
  16913. }()
  16914. }, {
  16915. key: "cancel",
  16916. value: function cancel(reason) {
  16917. this._done = true;
  16918. var _iterator3 = _createForOfIteratorHelper(this._requests),
  16919. _step3;
  16920. try {
  16921. for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
  16922. var requestCapability = _step3.value;
  16923. requestCapability.resolve({
  16924. value: undefined,
  16925. done: true
  16926. });
  16927. }
  16928. } catch (err) {
  16929. _iterator3.e(err);
  16930. } finally {
  16931. _iterator3.f();
  16932. }
  16933. this._requests.length = 0;
  16934. }
  16935. }, {
  16936. key: "progressiveDone",
  16937. value: function progressiveDone() {
  16938. if (this._done) {
  16939. return;
  16940. }
  16941. this._done = true;
  16942. }
  16943. }]);
  16944. return PDFDataTransportStreamReader;
  16945. }();
  16946. var PDFDataTransportStreamRangeReader = /*#__PURE__*/function () {
  16947. function PDFDataTransportStreamRangeReader(stream, begin, end) {
  16948. _classCallCheck(this, PDFDataTransportStreamRangeReader);
  16949. this._stream = stream;
  16950. this._begin = begin;
  16951. this._end = end;
  16952. this._queuedChunk = null;
  16953. this._requests = [];
  16954. this._done = false;
  16955. this.onProgress = null;
  16956. }
  16957. _createClass(PDFDataTransportStreamRangeReader, [{
  16958. key: "_enqueue",
  16959. value: function _enqueue(chunk) {
  16960. if (this._done) {
  16961. return;
  16962. }
  16963. if (this._requests.length === 0) {
  16964. this._queuedChunk = chunk;
  16965. } else {
  16966. var requestsCapability = this._requests.shift();
  16967. requestsCapability.resolve({
  16968. value: chunk,
  16969. done: false
  16970. });
  16971. var _iterator4 = _createForOfIteratorHelper(this._requests),
  16972. _step4;
  16973. try {
  16974. for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
  16975. var requestCapability = _step4.value;
  16976. requestCapability.resolve({
  16977. value: undefined,
  16978. done: true
  16979. });
  16980. }
  16981. } catch (err) {
  16982. _iterator4.e(err);
  16983. } finally {
  16984. _iterator4.f();
  16985. }
  16986. this._requests.length = 0;
  16987. }
  16988. this._done = true;
  16989. this._stream._removeRangeReader(this);
  16990. }
  16991. }, {
  16992. key: "isStreamingSupported",
  16993. get: function get() {
  16994. return false;
  16995. }
  16996. }, {
  16997. key: "read",
  16998. value: function () {
  16999. var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
  17000. var chunk, requestCapability;
  17001. return _regenerator["default"].wrap(function _callee2$(_context2) {
  17002. while (1) {
  17003. switch (_context2.prev = _context2.next) {
  17004. case 0:
  17005. if (!this._queuedChunk) {
  17006. _context2.next = 4;
  17007. break;
  17008. }
  17009. chunk = this._queuedChunk;
  17010. this._queuedChunk = null;
  17011. return _context2.abrupt("return", {
  17012. value: chunk,
  17013. done: false
  17014. });
  17015. case 4:
  17016. if (!this._done) {
  17017. _context2.next = 6;
  17018. break;
  17019. }
  17020. return _context2.abrupt("return", {
  17021. value: undefined,
  17022. done: true
  17023. });
  17024. case 6:
  17025. requestCapability = (0, _util.createPromiseCapability)();
  17026. this._requests.push(requestCapability);
  17027. return _context2.abrupt("return", requestCapability.promise);
  17028. case 9:
  17029. case "end":
  17030. return _context2.stop();
  17031. }
  17032. }
  17033. }, _callee2, this);
  17034. }));
  17035. function read() {
  17036. return _read2.apply(this, arguments);
  17037. }
  17038. return read;
  17039. }()
  17040. }, {
  17041. key: "cancel",
  17042. value: function cancel(reason) {
  17043. this._done = true;
  17044. var _iterator5 = _createForOfIteratorHelper(this._requests),
  17045. _step5;
  17046. try {
  17047. for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
  17048. var requestCapability = _step5.value;
  17049. requestCapability.resolve({
  17050. value: undefined,
  17051. done: true
  17052. });
  17053. }
  17054. } catch (err) {
  17055. _iterator5.e(err);
  17056. } finally {
  17057. _iterator5.f();
  17058. }
  17059. this._requests.length = 0;
  17060. this._stream._removeRangeReader(this);
  17061. }
  17062. }]);
  17063. return PDFDataTransportStreamRangeReader;
  17064. }();
  17065. /***/ }),
  17066. /* 147 */
  17067. /***/ ((__unused_webpack_module, exports) => {
  17068. "use strict";
  17069. Object.defineProperty(exports, "__esModule", ({
  17070. value: true
  17071. }));
  17072. exports.XfaText = void 0;
  17073. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  17074. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  17075. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  17076. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  17077. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  17078. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  17079. var XfaText = /*#__PURE__*/function () {
  17080. function XfaText() {
  17081. _classCallCheck(this, XfaText);
  17082. }
  17083. _createClass(XfaText, null, [{
  17084. key: "textContent",
  17085. value: function textContent(xfa) {
  17086. var items = [];
  17087. var output = {
  17088. items: items,
  17089. styles: Object.create(null)
  17090. };
  17091. function walk(node) {
  17092. var _node$attributes;
  17093. if (!node) {
  17094. return;
  17095. }
  17096. var str = null;
  17097. var name = node.name;
  17098. if (name === "#text") {
  17099. str = node.value;
  17100. } else if (!XfaText.shouldBuildText(name)) {
  17101. return;
  17102. } else if (node !== null && node !== void 0 && (_node$attributes = node.attributes) !== null && _node$attributes !== void 0 && _node$attributes.textContent) {
  17103. str = node.attributes.textContent;
  17104. } else if (node.value) {
  17105. str = node.value;
  17106. }
  17107. if (str !== null) {
  17108. items.push({
  17109. str: str
  17110. });
  17111. }
  17112. if (!node.children) {
  17113. return;
  17114. }
  17115. var _iterator = _createForOfIteratorHelper(node.children),
  17116. _step;
  17117. try {
  17118. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  17119. var child = _step.value;
  17120. walk(child);
  17121. }
  17122. } catch (err) {
  17123. _iterator.e(err);
  17124. } finally {
  17125. _iterator.f();
  17126. }
  17127. }
  17128. walk(xfa);
  17129. return output;
  17130. }
  17131. }, {
  17132. key: "shouldBuildText",
  17133. value: function shouldBuildText(name) {
  17134. return !(name === "textarea" || name === "input" || name === "option" || name === "select");
  17135. }
  17136. }]);
  17137. return XfaText;
  17138. }();
  17139. exports.XfaText = XfaText;
  17140. /***/ }),
  17141. /* 148 */
  17142. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  17143. "use strict";
  17144. function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  17145. Object.defineProperty(exports, "__esModule", ({
  17146. value: true
  17147. }));
  17148. exports.AnnotationLayer = void 0;
  17149. var _util = __w_pdfjs_require__(4);
  17150. var _display_utils = __w_pdfjs_require__(1);
  17151. var _annotation_storage = __w_pdfjs_require__(139);
  17152. var _scripting_utils = __w_pdfjs_require__(149);
  17153. var _xfa_layer = __w_pdfjs_require__(150);
  17154. function _classStaticPrivateMethodGet(receiver, classConstructor, method) { _classCheckPrivateStaticAccess(receiver, classConstructor); return method; }
  17155. function _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError("Private static access of wrong provenance"); } }
  17156. function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
  17157. function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
  17158. function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  17159. function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
  17160. function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
  17161. function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
  17162. function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
  17163. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
  17164. function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
  17165. function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
  17166. function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
  17167. function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  17168. function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
  17169. function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
  17170. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  17171. function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
  17172. function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
  17173. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  17174. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  17175. function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
  17176. function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
  17177. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  17178. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  17179. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  17180. var DEFAULT_TAB_INDEX = 1000;
  17181. var GetElementsByNameSet = new WeakSet();
  17182. var AnnotationElementFactory = /*#__PURE__*/function () {
  17183. function AnnotationElementFactory() {
  17184. _classCallCheck(this, AnnotationElementFactory);
  17185. }
  17186. _createClass(AnnotationElementFactory, null, [{
  17187. key: "create",
  17188. value: function create(parameters) {
  17189. var subtype = parameters.data.annotationType;
  17190. switch (subtype) {
  17191. case _util.AnnotationType.LINK:
  17192. return new LinkAnnotationElement(parameters);
  17193. case _util.AnnotationType.TEXT:
  17194. return new TextAnnotationElement(parameters);
  17195. case _util.AnnotationType.WIDGET:
  17196. var fieldType = parameters.data.fieldType;
  17197. switch (fieldType) {
  17198. case "Tx":
  17199. return new TextWidgetAnnotationElement(parameters);
  17200. case "Btn":
  17201. if (parameters.data.radioButton) {
  17202. return new RadioButtonWidgetAnnotationElement(parameters);
  17203. } else if (parameters.data.checkBox) {
  17204. return new CheckboxWidgetAnnotationElement(parameters);
  17205. }
  17206. return new PushButtonWidgetAnnotationElement(parameters);
  17207. case "Ch":
  17208. return new ChoiceWidgetAnnotationElement(parameters);
  17209. }
  17210. return new WidgetAnnotationElement(parameters);
  17211. case _util.AnnotationType.POPUP:
  17212. return new PopupAnnotationElement(parameters);
  17213. case _util.AnnotationType.FREETEXT:
  17214. return new FreeTextAnnotationElement(parameters);
  17215. case _util.AnnotationType.LINE:
  17216. return new LineAnnotationElement(parameters);
  17217. case _util.AnnotationType.SQUARE:
  17218. return new SquareAnnotationElement(parameters);
  17219. case _util.AnnotationType.CIRCLE:
  17220. return new CircleAnnotationElement(parameters);
  17221. case _util.AnnotationType.POLYLINE:
  17222. return new PolylineAnnotationElement(parameters);
  17223. case _util.AnnotationType.CARET:
  17224. return new CaretAnnotationElement(parameters);
  17225. case _util.AnnotationType.INK:
  17226. return new InkAnnotationElement(parameters);
  17227. case _util.AnnotationType.POLYGON:
  17228. return new PolygonAnnotationElement(parameters);
  17229. case _util.AnnotationType.HIGHLIGHT:
  17230. return new HighlightAnnotationElement(parameters);
  17231. case _util.AnnotationType.UNDERLINE:
  17232. return new UnderlineAnnotationElement(parameters);
  17233. case _util.AnnotationType.SQUIGGLY:
  17234. return new SquigglyAnnotationElement(parameters);
  17235. case _util.AnnotationType.STRIKEOUT:
  17236. return new StrikeOutAnnotationElement(parameters);
  17237. case _util.AnnotationType.STAMP:
  17238. return new StampAnnotationElement(parameters);
  17239. case _util.AnnotationType.FILEATTACHMENT:
  17240. return new FileAttachmentAnnotationElement(parameters);
  17241. default:
  17242. return new AnnotationElement(parameters);
  17243. }
  17244. }
  17245. }]);
  17246. return AnnotationElementFactory;
  17247. }();
  17248. var AnnotationElement = /*#__PURE__*/function () {
  17249. function AnnotationElement(parameters) {
  17250. var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
  17251. _ref$isRenderable = _ref.isRenderable,
  17252. isRenderable = _ref$isRenderable === void 0 ? false : _ref$isRenderable,
  17253. _ref$ignoreBorder = _ref.ignoreBorder,
  17254. ignoreBorder = _ref$ignoreBorder === void 0 ? false : _ref$ignoreBorder,
  17255. _ref$createQuadrilate = _ref.createQuadrilaterals,
  17256. createQuadrilaterals = _ref$createQuadrilate === void 0 ? false : _ref$createQuadrilate;
  17257. _classCallCheck(this, AnnotationElement);
  17258. this.isRenderable = isRenderable;
  17259. this.data = parameters.data;
  17260. this.layer = parameters.layer;
  17261. this.page = parameters.page;
  17262. this.viewport = parameters.viewport;
  17263. this.linkService = parameters.linkService;
  17264. this.downloadManager = parameters.downloadManager;
  17265. this.imageResourcesPath = parameters.imageResourcesPath;
  17266. this.renderForms = parameters.renderForms;
  17267. this.svgFactory = parameters.svgFactory;
  17268. this.annotationStorage = parameters.annotationStorage;
  17269. this.enableScripting = parameters.enableScripting;
  17270. this.hasJSActions = parameters.hasJSActions;
  17271. this._fieldObjects = parameters.fieldObjects;
  17272. this._mouseState = parameters.mouseState;
  17273. if (isRenderable) {
  17274. this.container = this._createContainer(ignoreBorder);
  17275. }
  17276. if (createQuadrilaterals) {
  17277. this.quadrilaterals = this._createQuadrilaterals(ignoreBorder);
  17278. }
  17279. }
  17280. _createClass(AnnotationElement, [{
  17281. key: "_createContainer",
  17282. value: function _createContainer() {
  17283. var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
  17284. var data = this.data,
  17285. page = this.page,
  17286. viewport = this.viewport;
  17287. var container = document.createElement("section");
  17288. var width = data.rect[2] - data.rect[0];
  17289. var height = data.rect[3] - data.rect[1];
  17290. container.setAttribute("data-annotation-id", data.id);
  17291. var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);
  17292. if (data.hasOwnCanvas) {
  17293. var transform = viewport.transform.slice();
  17294. var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(transform),
  17295. _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),
  17296. scaleX = _Util$singularValueDe2[0],
  17297. scaleY = _Util$singularValueDe2[1];
  17298. width = Math.ceil(width * scaleX);
  17299. height = Math.ceil(height * scaleY);
  17300. rect[0] *= scaleX;
  17301. rect[1] *= scaleY;
  17302. for (var i = 0; i < 4; i++) {
  17303. transform[i] = Math.sign(transform[i]);
  17304. }
  17305. container.style.transform = "matrix(".concat(transform.join(","), ")");
  17306. } else {
  17307. container.style.transform = "matrix(".concat(viewport.transform.join(","), ")");
  17308. }
  17309. container.style.transformOrigin = "".concat(-rect[0], "px ").concat(-rect[1], "px");
  17310. if (!ignoreBorder && data.borderStyle.width > 0) {
  17311. container.style.borderWidth = "".concat(data.borderStyle.width, "px");
  17312. if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {
  17313. width -= 2 * data.borderStyle.width;
  17314. height -= 2 * data.borderStyle.width;
  17315. }
  17316. var horizontalRadius = data.borderStyle.horizontalCornerRadius;
  17317. var verticalRadius = data.borderStyle.verticalCornerRadius;
  17318. if (horizontalRadius > 0 || verticalRadius > 0) {
  17319. var radius = "".concat(horizontalRadius, "px / ").concat(verticalRadius, "px");
  17320. container.style.borderRadius = radius;
  17321. }
  17322. switch (data.borderStyle.style) {
  17323. case _util.AnnotationBorderStyleType.SOLID:
  17324. container.style.borderStyle = "solid";
  17325. break;
  17326. case _util.AnnotationBorderStyleType.DASHED:
  17327. container.style.borderStyle = "dashed";
  17328. break;
  17329. case _util.AnnotationBorderStyleType.BEVELED:
  17330. (0, _util.warn)("Unimplemented border style: beveled");
  17331. break;
  17332. case _util.AnnotationBorderStyleType.INSET:
  17333. (0, _util.warn)("Unimplemented border style: inset");
  17334. break;
  17335. case _util.AnnotationBorderStyleType.UNDERLINE:
  17336. container.style.borderBottomStyle = "solid";
  17337. break;
  17338. default:
  17339. break;
  17340. }
  17341. var borderColor = data.borderColor || data.color || null;
  17342. if (borderColor) {
  17343. container.style.borderColor = _util.Util.makeHexColor(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);
  17344. } else {
  17345. container.style.borderWidth = 0;
  17346. }
  17347. }
  17348. container.style.left = "".concat(rect[0], "px");
  17349. container.style.top = "".concat(rect[1], "px");
  17350. if (data.hasOwnCanvas) {
  17351. container.style.width = container.style.height = "auto";
  17352. } else {
  17353. container.style.width = "".concat(width, "px");
  17354. container.style.height = "".concat(height, "px");
  17355. }
  17356. return container;
  17357. }
  17358. }, {
  17359. key: "_createQuadrilaterals",
  17360. value: function _createQuadrilaterals() {
  17361. var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
  17362. if (!this.data.quadPoints) {
  17363. return null;
  17364. }
  17365. var quadrilaterals = [];
  17366. var savedRect = this.data.rect;
  17367. var _iterator = _createForOfIteratorHelper(this.data.quadPoints),
  17368. _step;
  17369. try {
  17370. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  17371. var quadPoint = _step.value;
  17372. this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y];
  17373. quadrilaterals.push(this._createContainer(ignoreBorder));
  17374. }
  17375. } catch (err) {
  17376. _iterator.e(err);
  17377. } finally {
  17378. _iterator.f();
  17379. }
  17380. this.data.rect = savedRect;
  17381. return quadrilaterals;
  17382. }
  17383. }, {
  17384. key: "_createPopup",
  17385. value: function _createPopup(trigger, data) {
  17386. var container = this.container;
  17387. if (this.quadrilaterals) {
  17388. trigger = trigger || this.quadrilaterals;
  17389. container = this.quadrilaterals[0];
  17390. }
  17391. if (!trigger) {
  17392. trigger = document.createElement("div");
  17393. trigger.style.height = container.style.height;
  17394. trigger.style.width = container.style.width;
  17395. container.appendChild(trigger);
  17396. }
  17397. var popupElement = new PopupElement({
  17398. container: container,
  17399. trigger: trigger,
  17400. color: data.color,
  17401. titleObj: data.titleObj,
  17402. modificationDate: data.modificationDate,
  17403. contentsObj: data.contentsObj,
  17404. richText: data.richText,
  17405. hideWrapper: true
  17406. });
  17407. var popup = popupElement.render();
  17408. popup.style.left = container.style.width;
  17409. container.appendChild(popup);
  17410. }
  17411. }, {
  17412. key: "_renderQuadrilaterals",
  17413. value: function _renderQuadrilaterals(className) {
  17414. var _iterator2 = _createForOfIteratorHelper(this.quadrilaterals),
  17415. _step2;
  17416. try {
  17417. for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
  17418. var quadrilateral = _step2.value;
  17419. quadrilateral.className = className;
  17420. }
  17421. } catch (err) {
  17422. _iterator2.e(err);
  17423. } finally {
  17424. _iterator2.f();
  17425. }
  17426. return this.quadrilaterals;
  17427. }
  17428. }, {
  17429. key: "render",
  17430. value: function render() {
  17431. (0, _util.unreachable)("Abstract method `AnnotationElement.render` called");
  17432. }
  17433. }, {
  17434. key: "_getElementsByName",
  17435. value: function _getElementsByName(name) {
  17436. var skipId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
  17437. var fields = [];
  17438. if (this._fieldObjects) {
  17439. var fieldObj = this._fieldObjects[name];
  17440. if (fieldObj) {
  17441. var _iterator3 = _createForOfIteratorHelper(fieldObj),
  17442. _step3;
  17443. try {
  17444. for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
  17445. var _step3$value = _step3.value,
  17446. page = _step3$value.page,
  17447. id = _step3$value.id,
  17448. exportValues = _step3$value.exportValues;
  17449. if (page === -1) {
  17450. continue;
  17451. }
  17452. if (id === skipId) {
  17453. continue;
  17454. }
  17455. var exportValue = typeof exportValues === "string" ? exportValues : null;
  17456. var domElement = document.getElementById(id);
  17457. if (domElement && !GetElementsByNameSet.has(domElement)) {
  17458. (0, _util.warn)("_getElementsByName - element not allowed: ".concat(id));
  17459. continue;
  17460. }
  17461. fields.push({
  17462. id: id,
  17463. exportValue: exportValue,
  17464. domElement: domElement
  17465. });
  17466. }
  17467. } catch (err) {
  17468. _iterator3.e(err);
  17469. } finally {
  17470. _iterator3.f();
  17471. }
  17472. }
  17473. return fields;
  17474. }
  17475. var _iterator4 = _createForOfIteratorHelper(document.getElementsByName(name)),
  17476. _step4;
  17477. try {
  17478. for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
  17479. var _domElement = _step4.value;
  17480. var _id = _domElement.id,
  17481. _exportValue = _domElement.exportValue;
  17482. if (_id === skipId) {
  17483. continue;
  17484. }
  17485. if (!GetElementsByNameSet.has(_domElement)) {
  17486. continue;
  17487. }
  17488. fields.push({
  17489. id: _id,
  17490. exportValue: _exportValue,
  17491. domElement: _domElement
  17492. });
  17493. }
  17494. } catch (err) {
  17495. _iterator4.e(err);
  17496. } finally {
  17497. _iterator4.f();
  17498. }
  17499. return fields;
  17500. }
  17501. }], [{
  17502. key: "platform",
  17503. get: function get() {
  17504. var platform = typeof navigator !== "undefined" ? navigator.platform : "";
  17505. return (0, _util.shadow)(this, "platform", {
  17506. isWin: platform.includes("Win"),
  17507. isMac: platform.includes("Mac")
  17508. });
  17509. }
  17510. }]);
  17511. return AnnotationElement;
  17512. }();
  17513. var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {
  17514. _inherits(LinkAnnotationElement, _AnnotationElement);
  17515. var _super = _createSuper(LinkAnnotationElement);
  17516. function LinkAnnotationElement(parameters) {
  17517. var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
  17518. _classCallCheck(this, LinkAnnotationElement);
  17519. var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action || parameters.data.isTooltipOnly || parameters.data.resetForm || parameters.data.actions && (parameters.data.actions.Action || parameters.data.actions["Mouse Up"] || parameters.data.actions["Mouse Down"]));
  17520. return _super.call(this, parameters, {
  17521. isRenderable: isRenderable,
  17522. ignoreBorder: !!(options !== null && options !== void 0 && options.ignoreBorder),
  17523. createQuadrilaterals: true
  17524. });
  17525. }
  17526. _createClass(LinkAnnotationElement, [{
  17527. key: "render",
  17528. value: function render() {
  17529. var data = this.data,
  17530. linkService = this.linkService;
  17531. var link = document.createElement("a");
  17532. if (data.url) {
  17533. var _linkService$addLinkA;
  17534. if (!linkService.addLinkAttributes) {
  17535. (0, _util.warn)("LinkAnnotationElement.render - missing `addLinkAttributes`-method on the `linkService`-instance.");
  17536. }
  17537. (_linkService$addLinkA = linkService.addLinkAttributes) === null || _linkService$addLinkA === void 0 ? void 0 : _linkService$addLinkA.call(linkService, link, data.url, data.newWindow);
  17538. } else if (data.action) {
  17539. this._bindNamedAction(link, data.action);
  17540. } else if (data.dest) {
  17541. this._bindLink(link, data.dest);
  17542. } else {
  17543. var hasClickAction = false;
  17544. if (data.actions && (data.actions.Action || data.actions["Mouse Up"] || data.actions["Mouse Down"]) && this.enableScripting && this.hasJSActions) {
  17545. hasClickAction = true;
  17546. this._bindJSAction(link, data);
  17547. }
  17548. if (data.resetForm) {
  17549. this._bindResetFormAction(link, data.resetForm);
  17550. } else if (!hasClickAction) {
  17551. this._bindLink(link, "");
  17552. }
  17553. }
  17554. if (this.quadrilaterals) {
  17555. return this._renderQuadrilaterals("linkAnnotation").map(function (quadrilateral, index) {
  17556. var linkElement = index === 0 ? link : link.cloneNode();
  17557. quadrilateral.appendChild(linkElement);
  17558. return quadrilateral;
  17559. });
  17560. }
  17561. this.container.className = "linkAnnotation";
  17562. this.container.appendChild(link);
  17563. return this.container;
  17564. }
  17565. }, {
  17566. key: "_bindLink",
  17567. value: function _bindLink(link, destination) {
  17568. var _this = this;
  17569. link.href = this.linkService.getDestinationHash(destination);
  17570. link.onclick = function () {
  17571. if (destination) {
  17572. _this.linkService.goToDestination(destination);
  17573. }
  17574. return false;
  17575. };
  17576. if (destination || destination === "") {
  17577. link.className = "internalLink";
  17578. }
  17579. }
  17580. }, {
  17581. key: "_bindNamedAction",
  17582. value: function _bindNamedAction(link, action) {
  17583. var _this2 = this;
  17584. link.href = this.linkService.getAnchorUrl("");
  17585. link.onclick = function () {
  17586. _this2.linkService.executeNamedAction(action);
  17587. return false;
  17588. };
  17589. link.className = "internalLink";
  17590. }
  17591. }, {
  17592. key: "_bindJSAction",
  17593. value: function _bindJSAction(link, data) {
  17594. var _this3 = this;
  17595. link.href = this.linkService.getAnchorUrl("");
  17596. var map = new Map([["Action", "onclick"], ["Mouse Up", "onmouseup"], ["Mouse Down", "onmousedown"]]);
  17597. var _loop = function _loop() {
  17598. var name = _Object$keys[_i2];
  17599. var jsName = map.get(name);
  17600. if (!jsName) {
  17601. return "continue";
  17602. }
  17603. link[jsName] = function () {
  17604. var _this3$linkService$ev;
  17605. (_this3$linkService$ev = _this3.linkService.eventBus) === null || _this3$linkService$ev === void 0 ? void 0 : _this3$linkService$ev.dispatch("dispatcheventinsandbox", {
  17606. source: _this3,
  17607. detail: {
  17608. id: data.id,
  17609. name: name
  17610. }
  17611. });
  17612. return false;
  17613. };
  17614. };
  17615. for (var _i2 = 0, _Object$keys = Object.keys(data.actions); _i2 < _Object$keys.length; _i2++) {
  17616. var _ret = _loop();
  17617. if (_ret === "continue") continue;
  17618. }
  17619. if (!link.onclick) {
  17620. link.onclick = function () {
  17621. return false;
  17622. };
  17623. }
  17624. link.className = "internalLink";
  17625. }
  17626. }, {
  17627. key: "_bindResetFormAction",
  17628. value: function _bindResetFormAction(link, resetForm) {
  17629. var _this4 = this;
  17630. var otherClickAction = link.onclick;
  17631. if (!otherClickAction) {
  17632. link.href = this.linkService.getAnchorUrl("");
  17633. }
  17634. link.className = "internalLink";
  17635. if (!this._fieldObjects) {
  17636. (0, _util.warn)("_bindResetFormAction - \"resetForm\" action not supported, " + "ensure that the `fieldObjects` parameter is provided.");
  17637. if (!otherClickAction) {
  17638. link.onclick = function () {
  17639. return false;
  17640. };
  17641. }
  17642. return;
  17643. }
  17644. link.onclick = function () {
  17645. if (otherClickAction) {
  17646. otherClickAction();
  17647. }
  17648. var resetFormFields = resetForm.fields,
  17649. resetFormRefs = resetForm.refs,
  17650. include = resetForm.include;
  17651. var allFields = [];
  17652. if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) {
  17653. var fieldIds = new Set(resetFormRefs);
  17654. var _iterator5 = _createForOfIteratorHelper(resetFormFields),
  17655. _step5;
  17656. try {
  17657. for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
  17658. var fieldName = _step5.value;
  17659. var _fields = _this4._fieldObjects[fieldName] || [];
  17660. var _iterator7 = _createForOfIteratorHelper(_fields),
  17661. _step7;
  17662. try {
  17663. for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
  17664. var id = _step7.value.id;
  17665. fieldIds.add(id);
  17666. }
  17667. } catch (err) {
  17668. _iterator7.e(err);
  17669. } finally {
  17670. _iterator7.f();
  17671. }
  17672. }
  17673. } catch (err) {
  17674. _iterator5.e(err);
  17675. } finally {
  17676. _iterator5.f();
  17677. }
  17678. for (var _i3 = 0, _Object$values = Object.values(_this4._fieldObjects); _i3 < _Object$values.length; _i3++) {
  17679. var fields = _Object$values[_i3];
  17680. var _iterator6 = _createForOfIteratorHelper(fields),
  17681. _step6;
  17682. try {
  17683. for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
  17684. var field = _step6.value;
  17685. if (fieldIds.has(field.id) === include) {
  17686. allFields.push(field);
  17687. }
  17688. }
  17689. } catch (err) {
  17690. _iterator6.e(err);
  17691. } finally {
  17692. _iterator6.f();
  17693. }
  17694. }
  17695. } else {
  17696. for (var _i4 = 0, _Object$values2 = Object.values(_this4._fieldObjects); _i4 < _Object$values2.length; _i4++) {
  17697. var _fields2 = _Object$values2[_i4];
  17698. allFields.push.apply(allFields, _toConsumableArray(_fields2));
  17699. }
  17700. }
  17701. var storage = _this4.annotationStorage;
  17702. var allIds = [];
  17703. for (var _i5 = 0, _allFields = allFields; _i5 < _allFields.length; _i5++) {
  17704. var _field = _allFields[_i5];
  17705. var _id2 = _field.id;
  17706. allIds.push(_id2);
  17707. switch (_field.type) {
  17708. case "text":
  17709. {
  17710. var value = _field.defaultValue || "";
  17711. storage.setValue(_id2, {
  17712. value: value,
  17713. valueAsString: value
  17714. });
  17715. break;
  17716. }
  17717. case "checkbox":
  17718. case "radiobutton":
  17719. {
  17720. var _value = _field.defaultValue === _field.exportValues;
  17721. storage.setValue(_id2, {
  17722. value: _value
  17723. });
  17724. break;
  17725. }
  17726. case "combobox":
  17727. case "listbox":
  17728. {
  17729. var _value2 = _field.defaultValue || "";
  17730. storage.setValue(_id2, {
  17731. value: _value2
  17732. });
  17733. break;
  17734. }
  17735. default:
  17736. continue;
  17737. }
  17738. var domElement = document.getElementById(_id2);
  17739. if (!domElement || !GetElementsByNameSet.has(domElement)) {
  17740. continue;
  17741. }
  17742. domElement.dispatchEvent(new Event("resetform"));
  17743. }
  17744. if (_this4.enableScripting) {
  17745. var _this4$linkService$ev;
  17746. (_this4$linkService$ev = _this4.linkService.eventBus) === null || _this4$linkService$ev === void 0 ? void 0 : _this4$linkService$ev.dispatch("dispatcheventinsandbox", {
  17747. source: _this4,
  17748. detail: {
  17749. id: "app",
  17750. ids: allIds,
  17751. name: "ResetForm"
  17752. }
  17753. });
  17754. }
  17755. return false;
  17756. };
  17757. }
  17758. }]);
  17759. return LinkAnnotationElement;
  17760. }(AnnotationElement);
  17761. var TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {
  17762. _inherits(TextAnnotationElement, _AnnotationElement2);
  17763. var _super2 = _createSuper(TextAnnotationElement);
  17764. function TextAnnotationElement(parameters) {
  17765. var _parameters$data$titl, _parameters$data$cont, _parameters$data$rich;
  17766. _classCallCheck(this, TextAnnotationElement);
  17767. var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl = parameters.data.titleObj) !== null && _parameters$data$titl !== void 0 && _parameters$data$titl.str || (_parameters$data$cont = parameters.data.contentsObj) !== null && _parameters$data$cont !== void 0 && _parameters$data$cont.str || (_parameters$data$rich = parameters.data.richText) !== null && _parameters$data$rich !== void 0 && _parameters$data$rich.str);
  17768. return _super2.call(this, parameters, {
  17769. isRenderable: isRenderable
  17770. });
  17771. }
  17772. _createClass(TextAnnotationElement, [{
  17773. key: "render",
  17774. value: function render() {
  17775. this.container.className = "textAnnotation";
  17776. var image = document.createElement("img");
  17777. image.style.height = this.container.style.height;
  17778. image.style.width = this.container.style.width;
  17779. image.src = this.imageResourcesPath + "annotation-" + this.data.name.toLowerCase() + ".svg";
  17780. image.alt = "[{{type}} Annotation]";
  17781. image.dataset.l10nId = "text_annotation_type";
  17782. image.dataset.l10nArgs = JSON.stringify({
  17783. type: this.data.name
  17784. });
  17785. if (!this.data.hasPopup) {
  17786. this._createPopup(image, this.data);
  17787. }
  17788. this.container.appendChild(image);
  17789. return this.container;
  17790. }
  17791. }]);
  17792. return TextAnnotationElement;
  17793. }(AnnotationElement);
  17794. var WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {
  17795. _inherits(WidgetAnnotationElement, _AnnotationElement3);
  17796. var _super3 = _createSuper(WidgetAnnotationElement);
  17797. function WidgetAnnotationElement() {
  17798. _classCallCheck(this, WidgetAnnotationElement);
  17799. return _super3.apply(this, arguments);
  17800. }
  17801. _createClass(WidgetAnnotationElement, [{
  17802. key: "render",
  17803. value: function render() {
  17804. if (this.data.alternativeText) {
  17805. this.container.title = this.data.alternativeText;
  17806. }
  17807. return this.container;
  17808. }
  17809. }, {
  17810. key: "_getKeyModifier",
  17811. value: function _getKeyModifier(event) {
  17812. var _AnnotationElement$pl = AnnotationElement.platform,
  17813. isWin = _AnnotationElement$pl.isWin,
  17814. isMac = _AnnotationElement$pl.isMac;
  17815. return isWin && event.ctrlKey || isMac && event.metaKey;
  17816. }
  17817. }, {
  17818. key: "_setEventListener",
  17819. value: function _setEventListener(element, baseName, eventName, valueGetter) {
  17820. var _this5 = this;
  17821. if (baseName.includes("mouse")) {
  17822. element.addEventListener(baseName, function (event) {
  17823. var _this5$linkService$ev;
  17824. (_this5$linkService$ev = _this5.linkService.eventBus) === null || _this5$linkService$ev === void 0 ? void 0 : _this5$linkService$ev.dispatch("dispatcheventinsandbox", {
  17825. source: _this5,
  17826. detail: {
  17827. id: _this5.data.id,
  17828. name: eventName,
  17829. value: valueGetter(event),
  17830. shift: event.shiftKey,
  17831. modifier: _this5._getKeyModifier(event)
  17832. }
  17833. });
  17834. });
  17835. } else {
  17836. element.addEventListener(baseName, function (event) {
  17837. var _this5$linkService$ev2;
  17838. (_this5$linkService$ev2 = _this5.linkService.eventBus) === null || _this5$linkService$ev2 === void 0 ? void 0 : _this5$linkService$ev2.dispatch("dispatcheventinsandbox", {
  17839. source: _this5,
  17840. detail: {
  17841. id: _this5.data.id,
  17842. name: eventName,
  17843. value: event.target.checked
  17844. }
  17845. });
  17846. });
  17847. }
  17848. }
  17849. }, {
  17850. key: "_setEventListeners",
  17851. value: function _setEventListeners(element, names, getter) {
  17852. var _iterator8 = _createForOfIteratorHelper(names),
  17853. _step8;
  17854. try {
  17855. for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
  17856. var _this$data$actions;
  17857. var _step8$value = _slicedToArray(_step8.value, 2),
  17858. baseName = _step8$value[0],
  17859. eventName = _step8$value[1];
  17860. if (eventName === "Action" || (_this$data$actions = this.data.actions) !== null && _this$data$actions !== void 0 && _this$data$actions[eventName]) {
  17861. this._setEventListener(element, baseName, eventName, getter);
  17862. }
  17863. }
  17864. } catch (err) {
  17865. _iterator8.e(err);
  17866. } finally {
  17867. _iterator8.f();
  17868. }
  17869. }
  17870. }, {
  17871. key: "_setBackgroundColor",
  17872. value: function _setBackgroundColor(element) {
  17873. var color = this.data.backgroundColor || null;
  17874. element.style.backgroundColor = color === null ? "transparent" : _util.Util.makeHexColor(color[0], color[1], color[2]);
  17875. }
  17876. }, {
  17877. key: "_dispatchEventFromSandbox",
  17878. value: function _dispatchEventFromSandbox(actions, jsEvent) {
  17879. var _this6 = this;
  17880. var setColor = function setColor(jsName, styleName, event) {
  17881. var color = event.detail[jsName];
  17882. event.target.style[styleName] = _scripting_utils.ColorConverters["".concat(color[0], "_HTML")](color.slice(1));
  17883. };
  17884. var commonActions = {
  17885. display: function display(event) {
  17886. var hidden = event.detail.display % 2 === 1;
  17887. event.target.style.visibility = hidden ? "hidden" : "visible";
  17888. _this6.annotationStorage.setValue(_this6.data.id, {
  17889. hidden: hidden,
  17890. print: event.detail.display === 0 || event.detail.display === 3
  17891. });
  17892. },
  17893. print: function print(event) {
  17894. _this6.annotationStorage.setValue(_this6.data.id, {
  17895. print: event.detail.print
  17896. });
  17897. },
  17898. hidden: function hidden(event) {
  17899. event.target.style.visibility = event.detail.hidden ? "hidden" : "visible";
  17900. _this6.annotationStorage.setValue(_this6.data.id, {
  17901. hidden: event.detail.hidden
  17902. });
  17903. },
  17904. focus: function focus(event) {
  17905. setTimeout(function () {
  17906. return event.target.focus({
  17907. preventScroll: false
  17908. });
  17909. }, 0);
  17910. },
  17911. userName: function userName(event) {
  17912. event.target.title = event.detail.userName;
  17913. },
  17914. readonly: function readonly(event) {
  17915. if (event.detail.readonly) {
  17916. event.target.setAttribute("readonly", "");
  17917. } else {
  17918. event.target.removeAttribute("readonly");
  17919. }
  17920. },
  17921. required: function required(event) {
  17922. if (event.detail.required) {
  17923. event.target.setAttribute("required", "");
  17924. } else {
  17925. event.target.removeAttribute("required");
  17926. }
  17927. },
  17928. bgColor: function bgColor(event) {
  17929. setColor("bgColor", "backgroundColor", event);
  17930. },
  17931. fillColor: function fillColor(event) {
  17932. setColor("fillColor", "backgroundColor", event);
  17933. },
  17934. fgColor: function fgColor(event) {
  17935. setColor("fgColor", "color", event);
  17936. },
  17937. textColor: function textColor(event) {
  17938. setColor("textColor", "color", event);
  17939. },
  17940. borderColor: function borderColor(event) {
  17941. setColor("borderColor", "borderColor", event);
  17942. },
  17943. strokeColor: function strokeColor(event) {
  17944. setColor("strokeColor", "borderColor", event);
  17945. }
  17946. };
  17947. for (var _i6 = 0, _Object$keys2 = Object.keys(jsEvent.detail); _i6 < _Object$keys2.length; _i6++) {
  17948. var name = _Object$keys2[_i6];
  17949. var action = actions[name] || commonActions[name];
  17950. if (action) {
  17951. action(jsEvent);
  17952. }
  17953. }
  17954. }
  17955. }]);
  17956. return WidgetAnnotationElement;
  17957. }(AnnotationElement);
  17958. var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {
  17959. _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);
  17960. var _super4 = _createSuper(TextWidgetAnnotationElement);
  17961. function TextWidgetAnnotationElement(parameters) {
  17962. _classCallCheck(this, TextWidgetAnnotationElement);
  17963. var isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;
  17964. return _super4.call(this, parameters, {
  17965. isRenderable: isRenderable
  17966. });
  17967. }
  17968. _createClass(TextWidgetAnnotationElement, [{
  17969. key: "setPropertyOnSiblings",
  17970. value: function setPropertyOnSiblings(base, key, value, keyInStorage) {
  17971. var storage = this.annotationStorage;
  17972. var _iterator9 = _createForOfIteratorHelper(this._getElementsByName(base.name, base.id)),
  17973. _step9;
  17974. try {
  17975. for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
  17976. var element = _step9.value;
  17977. if (element.domElement) {
  17978. element.domElement[key] = value;
  17979. }
  17980. storage.setValue(element.id, _defineProperty({}, keyInStorage, value));
  17981. }
  17982. } catch (err) {
  17983. _iterator9.e(err);
  17984. } finally {
  17985. _iterator9.f();
  17986. }
  17987. }
  17988. }, {
  17989. key: "render",
  17990. value: function render() {
  17991. var _this7 = this;
  17992. var storage = this.annotationStorage;
  17993. var id = this.data.id;
  17994. this.container.className = "textWidgetAnnotation";
  17995. var element = null;
  17996. if (this.renderForms) {
  17997. var storedData = storage.getValue(id, {
  17998. value: this.data.fieldValue,
  17999. valueAsString: this.data.fieldValue
  18000. });
  18001. var textContent = storedData.valueAsString || storedData.value || "";
  18002. var elementData = {
  18003. userValue: null,
  18004. formattedValue: null,
  18005. beforeInputSelectionRange: null,
  18006. beforeInputValue: null
  18007. };
  18008. if (this.data.multiLine) {
  18009. element = document.createElement("textarea");
  18010. element.textContent = textContent;
  18011. } else {
  18012. element = document.createElement("input");
  18013. element.type = "text";
  18014. element.setAttribute("value", textContent);
  18015. }
  18016. GetElementsByNameSet.add(element);
  18017. element.disabled = this.data.readOnly;
  18018. element.name = this.data.fieldName;
  18019. element.tabIndex = DEFAULT_TAB_INDEX;
  18020. elementData.userValue = textContent;
  18021. element.setAttribute("id", id);
  18022. element.addEventListener("input", function (event) {
  18023. storage.setValue(id, {
  18024. value: event.target.value
  18025. });
  18026. _this7.setPropertyOnSiblings(element, "value", event.target.value, "value");
  18027. });
  18028. element.addEventListener("resetform", function (event) {
  18029. var defaultValue = _this7.data.defaultFieldValue || "";
  18030. element.value = elementData.userValue = defaultValue;
  18031. delete elementData.formattedValue;
  18032. });
  18033. var blurListener = function blurListener(event) {
  18034. if (elementData.formattedValue) {
  18035. event.target.value = elementData.formattedValue;
  18036. }
  18037. event.target.scrollLeft = 0;
  18038. elementData.beforeInputSelectionRange = null;
  18039. };
  18040. if (this.enableScripting && this.hasJSActions) {
  18041. var _this$data$actions2;
  18042. element.addEventListener("focus", function (event) {
  18043. if (elementData.userValue) {
  18044. event.target.value = elementData.userValue;
  18045. }
  18046. });
  18047. element.addEventListener("updatefromsandbox", function (jsEvent) {
  18048. var actions = {
  18049. value: function value(event) {
  18050. elementData.userValue = event.detail.value || "";
  18051. storage.setValue(id, {
  18052. value: elementData.userValue.toString()
  18053. });
  18054. if (!elementData.formattedValue) {
  18055. event.target.value = elementData.userValue;
  18056. }
  18057. },
  18058. valueAsString: function valueAsString(event) {
  18059. elementData.formattedValue = event.detail.valueAsString || "";
  18060. if (event.target !== document.activeElement) {
  18061. event.target.value = elementData.formattedValue;
  18062. }
  18063. storage.setValue(id, {
  18064. formattedValue: elementData.formattedValue
  18065. });
  18066. },
  18067. selRange: function selRange(event) {
  18068. var _event$detail$selRang = _slicedToArray(event.detail.selRange, 2),
  18069. selStart = _event$detail$selRang[0],
  18070. selEnd = _event$detail$selRang[1];
  18071. if (selStart >= 0 && selEnd < event.target.value.length) {
  18072. event.target.setSelectionRange(selStart, selEnd);
  18073. }
  18074. }
  18075. };
  18076. _this7._dispatchEventFromSandbox(actions, jsEvent);
  18077. });
  18078. element.addEventListener("keydown", function (event) {
  18079. var _this7$linkService$ev;
  18080. elementData.beforeInputValue = event.target.value;
  18081. var commitKey = -1;
  18082. if (event.key === "Escape") {
  18083. commitKey = 0;
  18084. } else if (event.key === "Enter") {
  18085. commitKey = 2;
  18086. } else if (event.key === "Tab") {
  18087. commitKey = 3;
  18088. }
  18089. if (commitKey === -1) {
  18090. return;
  18091. }
  18092. elementData.userValue = event.target.value;
  18093. (_this7$linkService$ev = _this7.linkService.eventBus) === null || _this7$linkService$ev === void 0 ? void 0 : _this7$linkService$ev.dispatch("dispatcheventinsandbox", {
  18094. source: _this7,
  18095. detail: {
  18096. id: id,
  18097. name: "Keystroke",
  18098. value: event.target.value,
  18099. willCommit: true,
  18100. commitKey: commitKey,
  18101. selStart: event.target.selectionStart,
  18102. selEnd: event.target.selectionEnd
  18103. }
  18104. });
  18105. });
  18106. var _blurListener = blurListener;
  18107. blurListener = null;
  18108. element.addEventListener("blur", function (event) {
  18109. if (_this7._mouseState.isDown) {
  18110. var _this7$linkService$ev2;
  18111. elementData.userValue = event.target.value;
  18112. (_this7$linkService$ev2 = _this7.linkService.eventBus) === null || _this7$linkService$ev2 === void 0 ? void 0 : _this7$linkService$ev2.dispatch("dispatcheventinsandbox", {
  18113. source: _this7,
  18114. detail: {
  18115. id: id,
  18116. name: "Keystroke",
  18117. value: event.target.value,
  18118. willCommit: true,
  18119. commitKey: 1,
  18120. selStart: event.target.selectionStart,
  18121. selEnd: event.target.selectionEnd
  18122. }
  18123. });
  18124. }
  18125. _blurListener(event);
  18126. });
  18127. element.addEventListener("mousedown", function (event) {
  18128. elementData.beforeInputValue = event.target.value;
  18129. elementData.beforeInputSelectionRange = null;
  18130. });
  18131. element.addEventListener("keyup", function (event) {
  18132. if (event.target.selectionStart === event.target.selectionEnd) {
  18133. elementData.beforeInputSelectionRange = null;
  18134. }
  18135. });
  18136. element.addEventListener("select", function (event) {
  18137. elementData.beforeInputSelectionRange = [event.target.selectionStart, event.target.selectionEnd];
  18138. });
  18139. if ((_this$data$actions2 = this.data.actions) !== null && _this$data$actions2 !== void 0 && _this$data$actions2.Keystroke) {
  18140. element.addEventListener("input", function (event) {
  18141. var _this7$linkService$ev3;
  18142. var selStart = -1;
  18143. var selEnd = -1;
  18144. if (elementData.beforeInputSelectionRange) {
  18145. var _elementData$beforeIn = _slicedToArray(elementData.beforeInputSelectionRange, 2);
  18146. selStart = _elementData$beforeIn[0];
  18147. selEnd = _elementData$beforeIn[1];
  18148. }
  18149. (_this7$linkService$ev3 = _this7.linkService.eventBus) === null || _this7$linkService$ev3 === void 0 ? void 0 : _this7$linkService$ev3.dispatch("dispatcheventinsandbox", {
  18150. source: _this7,
  18151. detail: {
  18152. id: id,
  18153. name: "Keystroke",
  18154. value: elementData.beforeInputValue,
  18155. change: event.data,
  18156. willCommit: false,
  18157. selStart: selStart,
  18158. selEnd: selEnd
  18159. }
  18160. });
  18161. });
  18162. }
  18163. this._setEventListeners(element, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) {
  18164. return event.target.value;
  18165. });
  18166. }
  18167. if (blurListener) {
  18168. element.addEventListener("blur", blurListener);
  18169. }
  18170. if (this.data.maxLen !== null) {
  18171. element.maxLength = this.data.maxLen;
  18172. }
  18173. if (this.data.comb) {
  18174. var fieldWidth = this.data.rect[2] - this.data.rect[0];
  18175. var combWidth = fieldWidth / this.data.maxLen;
  18176. element.classList.add("comb");
  18177. element.style.letterSpacing = "calc(".concat(combWidth, "px - 1ch)");
  18178. }
  18179. } else {
  18180. element = document.createElement("div");
  18181. element.textContent = this.data.fieldValue;
  18182. element.style.verticalAlign = "middle";
  18183. element.style.display = "table-cell";
  18184. }
  18185. this._setTextStyle(element);
  18186. this._setBackgroundColor(element);
  18187. this.container.appendChild(element);
  18188. return this.container;
  18189. }
  18190. }, {
  18191. key: "_setTextStyle",
  18192. value: function _setTextStyle(element) {
  18193. var TEXT_ALIGNMENT = ["left", "center", "right"];
  18194. var _this$data$defaultApp = this.data.defaultAppearanceData,
  18195. fontSize = _this$data$defaultApp.fontSize,
  18196. fontColor = _this$data$defaultApp.fontColor;
  18197. var style = element.style;
  18198. if (fontSize) {
  18199. style.fontSize = "".concat(fontSize, "px");
  18200. }
  18201. style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);
  18202. if (this.data.textAlignment !== null) {
  18203. style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];
  18204. }
  18205. }
  18206. }]);
  18207. return TextWidgetAnnotationElement;
  18208. }(WidgetAnnotationElement);
  18209. var CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {
  18210. _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);
  18211. var _super5 = _createSuper(CheckboxWidgetAnnotationElement);
  18212. function CheckboxWidgetAnnotationElement(parameters) {
  18213. _classCallCheck(this, CheckboxWidgetAnnotationElement);
  18214. return _super5.call(this, parameters, {
  18215. isRenderable: parameters.renderForms
  18216. });
  18217. }
  18218. _createClass(CheckboxWidgetAnnotationElement, [{
  18219. key: "render",
  18220. value: function render() {
  18221. var _this8 = this;
  18222. var storage = this.annotationStorage;
  18223. var data = this.data;
  18224. var id = data.id;
  18225. var value = storage.getValue(id, {
  18226. value: data.exportValue === data.fieldValue
  18227. }).value;
  18228. if (typeof value === "string") {
  18229. value = value !== "Off";
  18230. storage.setValue(id, {
  18231. value: value
  18232. });
  18233. }
  18234. this.container.className = "buttonWidgetAnnotation checkBox";
  18235. var element = document.createElement("input");
  18236. GetElementsByNameSet.add(element);
  18237. element.disabled = data.readOnly;
  18238. element.type = "checkbox";
  18239. element.name = data.fieldName;
  18240. if (value) {
  18241. element.setAttribute("checked", true);
  18242. }
  18243. element.setAttribute("id", id);
  18244. element.setAttribute("exportValue", data.exportValue);
  18245. element.tabIndex = DEFAULT_TAB_INDEX;
  18246. element.addEventListener("change", function (event) {
  18247. var _event$target = event.target,
  18248. name = _event$target.name,
  18249. checked = _event$target.checked;
  18250. var _iterator10 = _createForOfIteratorHelper(_this8._getElementsByName(name, id)),
  18251. _step10;
  18252. try {
  18253. for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
  18254. var checkbox = _step10.value;
  18255. var curChecked = checked && checkbox.exportValue === data.exportValue;
  18256. if (checkbox.domElement) {
  18257. checkbox.domElement.checked = curChecked;
  18258. }
  18259. storage.setValue(checkbox.id, {
  18260. value: curChecked
  18261. });
  18262. }
  18263. } catch (err) {
  18264. _iterator10.e(err);
  18265. } finally {
  18266. _iterator10.f();
  18267. }
  18268. storage.setValue(id, {
  18269. value: checked
  18270. });
  18271. });
  18272. element.addEventListener("resetform", function (event) {
  18273. var defaultValue = data.defaultFieldValue || "Off";
  18274. event.target.checked = defaultValue === data.exportValue;
  18275. });
  18276. if (this.enableScripting && this.hasJSActions) {
  18277. element.addEventListener("updatefromsandbox", function (jsEvent) {
  18278. var actions = {
  18279. value: function value(event) {
  18280. event.target.checked = event.detail.value !== "Off";
  18281. storage.setValue(id, {
  18282. value: event.target.checked
  18283. });
  18284. }
  18285. };
  18286. _this8._dispatchEventFromSandbox(actions, jsEvent);
  18287. });
  18288. this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) {
  18289. return event.target.checked;
  18290. });
  18291. }
  18292. this._setBackgroundColor(element);
  18293. this.container.appendChild(element);
  18294. return this.container;
  18295. }
  18296. }]);
  18297. return CheckboxWidgetAnnotationElement;
  18298. }(WidgetAnnotationElement);
  18299. var RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {
  18300. _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);
  18301. var _super6 = _createSuper(RadioButtonWidgetAnnotationElement);
  18302. function RadioButtonWidgetAnnotationElement(parameters) {
  18303. _classCallCheck(this, RadioButtonWidgetAnnotationElement);
  18304. return _super6.call(this, parameters, {
  18305. isRenderable: parameters.renderForms
  18306. });
  18307. }
  18308. _createClass(RadioButtonWidgetAnnotationElement, [{
  18309. key: "render",
  18310. value: function render() {
  18311. var _this9 = this;
  18312. this.container.className = "buttonWidgetAnnotation radioButton";
  18313. var storage = this.annotationStorage;
  18314. var data = this.data;
  18315. var id = data.id;
  18316. var value = storage.getValue(id, {
  18317. value: data.fieldValue === data.buttonValue
  18318. }).value;
  18319. if (typeof value === "string") {
  18320. value = value !== data.buttonValue;
  18321. storage.setValue(id, {
  18322. value: value
  18323. });
  18324. }
  18325. var element = document.createElement("input");
  18326. GetElementsByNameSet.add(element);
  18327. element.disabled = data.readOnly;
  18328. element.type = "radio";
  18329. element.name = data.fieldName;
  18330. if (value) {
  18331. element.setAttribute("checked", true);
  18332. }
  18333. element.setAttribute("id", id);
  18334. element.tabIndex = DEFAULT_TAB_INDEX;
  18335. element.addEventListener("change", function (event) {
  18336. var _event$target2 = event.target,
  18337. name = _event$target2.name,
  18338. checked = _event$target2.checked;
  18339. var _iterator11 = _createForOfIteratorHelper(_this9._getElementsByName(name, id)),
  18340. _step11;
  18341. try {
  18342. for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
  18343. var radio = _step11.value;
  18344. storage.setValue(radio.id, {
  18345. value: false
  18346. });
  18347. }
  18348. } catch (err) {
  18349. _iterator11.e(err);
  18350. } finally {
  18351. _iterator11.f();
  18352. }
  18353. storage.setValue(id, {
  18354. value: checked
  18355. });
  18356. });
  18357. element.addEventListener("resetform", function (event) {
  18358. var defaultValue = data.defaultFieldValue;
  18359. event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue;
  18360. });
  18361. if (this.enableScripting && this.hasJSActions) {
  18362. var pdfButtonValue = data.buttonValue;
  18363. element.addEventListener("updatefromsandbox", function (jsEvent) {
  18364. var actions = {
  18365. value: function value(event) {
  18366. var checked = pdfButtonValue === event.detail.value;
  18367. var _iterator12 = _createForOfIteratorHelper(_this9._getElementsByName(event.target.name)),
  18368. _step12;
  18369. try {
  18370. for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
  18371. var radio = _step12.value;
  18372. var curChecked = checked && radio.id === id;
  18373. if (radio.domElement) {
  18374. radio.domElement.checked = curChecked;
  18375. }
  18376. storage.setValue(radio.id, {
  18377. value: curChecked
  18378. });
  18379. }
  18380. } catch (err) {
  18381. _iterator12.e(err);
  18382. } finally {
  18383. _iterator12.f();
  18384. }
  18385. }
  18386. };
  18387. _this9._dispatchEventFromSandbox(actions, jsEvent);
  18388. });
  18389. this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) {
  18390. return event.target.checked;
  18391. });
  18392. }
  18393. this._setBackgroundColor(element);
  18394. this.container.appendChild(element);
  18395. return this.container;
  18396. }
  18397. }]);
  18398. return RadioButtonWidgetAnnotationElement;
  18399. }(WidgetAnnotationElement);
  18400. var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {
  18401. _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);
  18402. var _super7 = _createSuper(PushButtonWidgetAnnotationElement);
  18403. function PushButtonWidgetAnnotationElement(parameters) {
  18404. _classCallCheck(this, PushButtonWidgetAnnotationElement);
  18405. return _super7.call(this, parameters, {
  18406. ignoreBorder: parameters.data.hasAppearance
  18407. });
  18408. }
  18409. _createClass(PushButtonWidgetAnnotationElement, [{
  18410. key: "render",
  18411. value: function render() {
  18412. var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), "render", this).call(this);
  18413. container.className = "buttonWidgetAnnotation pushButton";
  18414. if (this.data.alternativeText) {
  18415. container.title = this.data.alternativeText;
  18416. }
  18417. return container;
  18418. }
  18419. }]);
  18420. return PushButtonWidgetAnnotationElement;
  18421. }(LinkAnnotationElement);
  18422. var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {
  18423. _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);
  18424. var _super8 = _createSuper(ChoiceWidgetAnnotationElement);
  18425. function ChoiceWidgetAnnotationElement(parameters) {
  18426. _classCallCheck(this, ChoiceWidgetAnnotationElement);
  18427. return _super8.call(this, parameters, {
  18428. isRenderable: parameters.renderForms
  18429. });
  18430. }
  18431. _createClass(ChoiceWidgetAnnotationElement, [{
  18432. key: "render",
  18433. value: function render() {
  18434. var _this10 = this;
  18435. this.container.className = "choiceWidgetAnnotation";
  18436. var storage = this.annotationStorage;
  18437. var id = this.data.id;
  18438. storage.getValue(id, {
  18439. value: this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : undefined
  18440. });
  18441. var fontSize = this.data.defaultAppearanceData.fontSize;
  18442. if (!fontSize) {
  18443. fontSize = 9;
  18444. }
  18445. var fontSizeStyle = "calc(".concat(fontSize, "px * var(--zoom-factor))");
  18446. var selectElement = document.createElement("select");
  18447. GetElementsByNameSet.add(selectElement);
  18448. selectElement.disabled = this.data.readOnly;
  18449. selectElement.name = this.data.fieldName;
  18450. selectElement.setAttribute("id", id);
  18451. selectElement.tabIndex = DEFAULT_TAB_INDEX;
  18452. selectElement.style.fontSize = "".concat(fontSize, "px");
  18453. if (!this.data.combo) {
  18454. selectElement.size = this.data.options.length;
  18455. if (this.data.multiSelect) {
  18456. selectElement.multiple = true;
  18457. }
  18458. }
  18459. selectElement.addEventListener("resetform", function (event) {
  18460. var defaultValue = _this10.data.defaultFieldValue;
  18461. var _iterator13 = _createForOfIteratorHelper(selectElement.options),
  18462. _step13;
  18463. try {
  18464. for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
  18465. var option = _step13.value;
  18466. option.selected = option.value === defaultValue;
  18467. }
  18468. } catch (err) {
  18469. _iterator13.e(err);
  18470. } finally {
  18471. _iterator13.f();
  18472. }
  18473. });
  18474. var _iterator14 = _createForOfIteratorHelper(this.data.options),
  18475. _step14;
  18476. try {
  18477. for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
  18478. var option = _step14.value;
  18479. var optionElement = document.createElement("option");
  18480. optionElement.textContent = option.displayValue;
  18481. optionElement.value = option.exportValue;
  18482. if (this.data.combo) {
  18483. optionElement.style.fontSize = fontSizeStyle;
  18484. }
  18485. if (this.data.fieldValue.includes(option.exportValue)) {
  18486. optionElement.setAttribute("selected", true);
  18487. }
  18488. selectElement.appendChild(optionElement);
  18489. }
  18490. } catch (err) {
  18491. _iterator14.e(err);
  18492. } finally {
  18493. _iterator14.f();
  18494. }
  18495. var getValue = function getValue(event, isExport) {
  18496. var name = isExport ? "value" : "textContent";
  18497. var options = event.target.options;
  18498. if (!event.target.multiple) {
  18499. return options.selectedIndex === -1 ? null : options[options.selectedIndex][name];
  18500. }
  18501. return Array.prototype.filter.call(options, function (option) {
  18502. return option.selected;
  18503. }).map(function (option) {
  18504. return option[name];
  18505. });
  18506. };
  18507. var getItems = function getItems(event) {
  18508. var options = event.target.options;
  18509. return Array.prototype.map.call(options, function (option) {
  18510. return {
  18511. displayValue: option.textContent,
  18512. exportValue: option.value
  18513. };
  18514. });
  18515. };
  18516. if (this.enableScripting && this.hasJSActions) {
  18517. selectElement.addEventListener("updatefromsandbox", function (jsEvent) {
  18518. var actions = {
  18519. value: function value(event) {
  18520. var value = event.detail.value;
  18521. var values = new Set(Array.isArray(value) ? value : [value]);
  18522. var _iterator15 = _createForOfIteratorHelper(selectElement.options),
  18523. _step15;
  18524. try {
  18525. for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
  18526. var option = _step15.value;
  18527. option.selected = values.has(option.value);
  18528. }
  18529. } catch (err) {
  18530. _iterator15.e(err);
  18531. } finally {
  18532. _iterator15.f();
  18533. }
  18534. storage.setValue(id, {
  18535. value: getValue(event, true)
  18536. });
  18537. },
  18538. multipleSelection: function multipleSelection(event) {
  18539. selectElement.multiple = true;
  18540. },
  18541. remove: function remove(event) {
  18542. var options = selectElement.options;
  18543. var index = event.detail.remove;
  18544. options[index].selected = false;
  18545. selectElement.remove(index);
  18546. if (options.length > 0) {
  18547. var i = Array.prototype.findIndex.call(options, function (option) {
  18548. return option.selected;
  18549. });
  18550. if (i === -1) {
  18551. options[0].selected = true;
  18552. }
  18553. }
  18554. storage.setValue(id, {
  18555. value: getValue(event, true),
  18556. items: getItems(event)
  18557. });
  18558. },
  18559. clear: function clear(event) {
  18560. while (selectElement.length !== 0) {
  18561. selectElement.remove(0);
  18562. }
  18563. storage.setValue(id, {
  18564. value: null,
  18565. items: []
  18566. });
  18567. },
  18568. insert: function insert(event) {
  18569. var _event$detail$insert = event.detail.insert,
  18570. index = _event$detail$insert.index,
  18571. displayValue = _event$detail$insert.displayValue,
  18572. exportValue = _event$detail$insert.exportValue;
  18573. var optionElement = document.createElement("option");
  18574. optionElement.textContent = displayValue;
  18575. optionElement.value = exportValue;
  18576. selectElement.insertBefore(optionElement, selectElement.children[index]);
  18577. storage.setValue(id, {
  18578. value: getValue(event, true),
  18579. items: getItems(event)
  18580. });
  18581. },
  18582. items: function items(event) {
  18583. var items = event.detail.items;
  18584. while (selectElement.length !== 0) {
  18585. selectElement.remove(0);
  18586. }
  18587. var _iterator16 = _createForOfIteratorHelper(items),
  18588. _step16;
  18589. try {
  18590. for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
  18591. var item = _step16.value;
  18592. var displayValue = item.displayValue,
  18593. exportValue = item.exportValue;
  18594. var optionElement = document.createElement("option");
  18595. optionElement.textContent = displayValue;
  18596. optionElement.value = exportValue;
  18597. selectElement.appendChild(optionElement);
  18598. }
  18599. } catch (err) {
  18600. _iterator16.e(err);
  18601. } finally {
  18602. _iterator16.f();
  18603. }
  18604. if (selectElement.options.length > 0) {
  18605. selectElement.options[0].selected = true;
  18606. }
  18607. storage.setValue(id, {
  18608. value: getValue(event, true),
  18609. items: getItems(event)
  18610. });
  18611. },
  18612. indices: function indices(event) {
  18613. var indices = new Set(event.detail.indices);
  18614. var _iterator17 = _createForOfIteratorHelper(event.target.options),
  18615. _step17;
  18616. try {
  18617. for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
  18618. var option = _step17.value;
  18619. option.selected = indices.has(option.index);
  18620. }
  18621. } catch (err) {
  18622. _iterator17.e(err);
  18623. } finally {
  18624. _iterator17.f();
  18625. }
  18626. storage.setValue(id, {
  18627. value: getValue(event, true)
  18628. });
  18629. },
  18630. editable: function editable(event) {
  18631. event.target.disabled = !event.detail.editable;
  18632. }
  18633. };
  18634. _this10._dispatchEventFromSandbox(actions, jsEvent);
  18635. });
  18636. selectElement.addEventListener("input", function (event) {
  18637. var _this10$linkService$e;
  18638. var exportValue = getValue(event, true);
  18639. var value = getValue(event, false);
  18640. storage.setValue(id, {
  18641. value: exportValue
  18642. });
  18643. (_this10$linkService$e = _this10.linkService.eventBus) === null || _this10$linkService$e === void 0 ? void 0 : _this10$linkService$e.dispatch("dispatcheventinsandbox", {
  18644. source: _this10,
  18645. detail: {
  18646. id: id,
  18647. name: "Keystroke",
  18648. value: value,
  18649. changeEx: exportValue,
  18650. willCommit: true,
  18651. commitKey: 1,
  18652. keyDown: false
  18653. }
  18654. });
  18655. });
  18656. this._setEventListeners(selectElement, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"], ["input", "Action"]], function (event) {
  18657. return event.target.checked;
  18658. });
  18659. } else {
  18660. selectElement.addEventListener("input", function (event) {
  18661. storage.setValue(id, {
  18662. value: getValue(event)
  18663. });
  18664. });
  18665. }
  18666. this._setBackgroundColor(selectElement);
  18667. this.container.appendChild(selectElement);
  18668. return this.container;
  18669. }
  18670. }]);
  18671. return ChoiceWidgetAnnotationElement;
  18672. }(WidgetAnnotationElement);
  18673. var PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {
  18674. _inherits(PopupAnnotationElement, _AnnotationElement4);
  18675. var _super9 = _createSuper(PopupAnnotationElement);
  18676. function PopupAnnotationElement(parameters) {
  18677. var _parameters$data$titl2, _parameters$data$cont2, _parameters$data$rich2;
  18678. _classCallCheck(this, PopupAnnotationElement);
  18679. var isRenderable = !!((_parameters$data$titl2 = parameters.data.titleObj) !== null && _parameters$data$titl2 !== void 0 && _parameters$data$titl2.str || (_parameters$data$cont2 = parameters.data.contentsObj) !== null && _parameters$data$cont2 !== void 0 && _parameters$data$cont2.str || (_parameters$data$rich2 = parameters.data.richText) !== null && _parameters$data$rich2 !== void 0 && _parameters$data$rich2.str);
  18680. return _super9.call(this, parameters, {
  18681. isRenderable: isRenderable
  18682. });
  18683. }
  18684. _createClass(PopupAnnotationElement, [{
  18685. key: "render",
  18686. value: function render() {
  18687. var IGNORE_TYPES = ["Line", "Square", "Circle", "PolyLine", "Polygon", "Ink"];
  18688. this.container.className = "popupAnnotation";
  18689. if (IGNORE_TYPES.includes(this.data.parentType)) {
  18690. return this.container;
  18691. }
  18692. var selector = "[data-annotation-id=\"".concat(this.data.parentId, "\"]");
  18693. var parentElements = this.layer.querySelectorAll(selector);
  18694. if (parentElements.length === 0) {
  18695. return this.container;
  18696. }
  18697. var popup = new PopupElement({
  18698. container: this.container,
  18699. trigger: Array.from(parentElements),
  18700. color: this.data.color,
  18701. titleObj: this.data.titleObj,
  18702. modificationDate: this.data.modificationDate,
  18703. contentsObj: this.data.contentsObj,
  18704. richText: this.data.richText
  18705. });
  18706. var page = this.page;
  18707. var rect = _util.Util.normalizeRect([this.data.parentRect[0], page.view[3] - this.data.parentRect[1] + page.view[1], this.data.parentRect[2], page.view[3] - this.data.parentRect[3] + page.view[1]]);
  18708. var popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0];
  18709. var popupTop = rect[1];
  18710. this.container.style.transformOrigin = "".concat(-popupLeft, "px ").concat(-popupTop, "px");
  18711. this.container.style.left = "".concat(popupLeft, "px");
  18712. this.container.style.top = "".concat(popupTop, "px");
  18713. this.container.appendChild(popup.render());
  18714. return this.container;
  18715. }
  18716. }]);
  18717. return PopupAnnotationElement;
  18718. }(AnnotationElement);
  18719. var PopupElement = /*#__PURE__*/function () {
  18720. function PopupElement(parameters) {
  18721. _classCallCheck(this, PopupElement);
  18722. this.container = parameters.container;
  18723. this.trigger = parameters.trigger;
  18724. this.color = parameters.color;
  18725. this.titleObj = parameters.titleObj;
  18726. this.modificationDate = parameters.modificationDate;
  18727. this.contentsObj = parameters.contentsObj;
  18728. this.richText = parameters.richText;
  18729. this.hideWrapper = parameters.hideWrapper || false;
  18730. this.pinned = false;
  18731. }
  18732. _createClass(PopupElement, [{
  18733. key: "render",
  18734. value: function render() {
  18735. var _this$richText, _this$contentsObj;
  18736. var BACKGROUND_ENLIGHT = 0.7;
  18737. var wrapper = document.createElement("div");
  18738. wrapper.className = "popupWrapper";
  18739. this.hideElement = this.hideWrapper ? wrapper : this.container;
  18740. this.hideElement.hidden = true;
  18741. var popup = document.createElement("div");
  18742. popup.className = "popup";
  18743. var color = this.color;
  18744. if (color) {
  18745. var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];
  18746. var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];
  18747. var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];
  18748. popup.style.backgroundColor = _util.Util.makeHexColor(r | 0, g | 0, b | 0);
  18749. }
  18750. var title = document.createElement("h1");
  18751. title.dir = this.titleObj.dir;
  18752. title.textContent = this.titleObj.str;
  18753. popup.appendChild(title);
  18754. var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);
  18755. if (dateObject) {
  18756. var modificationDate = document.createElement("span");
  18757. modificationDate.className = "popupDate";
  18758. modificationDate.textContent = "{{date}}, {{time}}";
  18759. modificationDate.dataset.l10nId = "annotation_date_string";
  18760. modificationDate.dataset.l10nArgs = JSON.stringify({
  18761. date: dateObject.toLocaleDateString(),
  18762. time: dateObject.toLocaleTimeString()
  18763. });
  18764. popup.appendChild(modificationDate);
  18765. }
  18766. if ((_this$richText = this.richText) !== null && _this$richText !== void 0 && _this$richText.str && (!((_this$contentsObj = this.contentsObj) !== null && _this$contentsObj !== void 0 && _this$contentsObj.str) || this.contentsObj.str === this.richText.str)) {
  18767. _xfa_layer.XfaLayer.render({
  18768. xfaHtml: this.richText.html,
  18769. intent: "richText",
  18770. div: popup
  18771. });
  18772. popup.lastChild.className = "richText popupContent";
  18773. } else {
  18774. var contents = this._formatContents(this.contentsObj);
  18775. popup.appendChild(contents);
  18776. }
  18777. if (!Array.isArray(this.trigger)) {
  18778. this.trigger = [this.trigger];
  18779. }
  18780. var _iterator18 = _createForOfIteratorHelper(this.trigger),
  18781. _step18;
  18782. try {
  18783. for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
  18784. var element = _step18.value;
  18785. element.addEventListener("click", this._toggle.bind(this));
  18786. element.addEventListener("mouseover", this._show.bind(this, false));
  18787. element.addEventListener("mouseout", this._hide.bind(this, false));
  18788. }
  18789. } catch (err) {
  18790. _iterator18.e(err);
  18791. } finally {
  18792. _iterator18.f();
  18793. }
  18794. popup.addEventListener("click", this._hide.bind(this, true));
  18795. wrapper.appendChild(popup);
  18796. return wrapper;
  18797. }
  18798. }, {
  18799. key: "_formatContents",
  18800. value: function _formatContents(_ref2) {
  18801. var str = _ref2.str,
  18802. dir = _ref2.dir;
  18803. var p = document.createElement("p");
  18804. p.className = "popupContent";
  18805. p.dir = dir;
  18806. var lines = str.split(/(?:\r\n?|\n)/);
  18807. for (var i = 0, ii = lines.length; i < ii; ++i) {
  18808. var line = lines[i];
  18809. p.appendChild(document.createTextNode(line));
  18810. if (i < ii - 1) {
  18811. p.appendChild(document.createElement("br"));
  18812. }
  18813. }
  18814. return p;
  18815. }
  18816. }, {
  18817. key: "_toggle",
  18818. value: function _toggle() {
  18819. if (this.pinned) {
  18820. this._hide(true);
  18821. } else {
  18822. this._show(true);
  18823. }
  18824. }
  18825. }, {
  18826. key: "_show",
  18827. value: function _show() {
  18828. var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
  18829. if (pin) {
  18830. this.pinned = true;
  18831. }
  18832. if (this.hideElement.hidden) {
  18833. this.hideElement.hidden = false;
  18834. this.container.style.zIndex += 1;
  18835. }
  18836. }
  18837. }, {
  18838. key: "_hide",
  18839. value: function _hide() {
  18840. var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
  18841. if (unpin) {
  18842. this.pinned = false;
  18843. }
  18844. if (!this.hideElement.hidden && !this.pinned) {
  18845. this.hideElement.hidden = true;
  18846. this.container.style.zIndex -= 1;
  18847. }
  18848. }
  18849. }]);
  18850. return PopupElement;
  18851. }();
  18852. var FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {
  18853. _inherits(FreeTextAnnotationElement, _AnnotationElement5);
  18854. var _super10 = _createSuper(FreeTextAnnotationElement);
  18855. function FreeTextAnnotationElement(parameters) {
  18856. var _parameters$data$titl3, _parameters$data$cont3, _parameters$data$rich3;
  18857. _classCallCheck(this, FreeTextAnnotationElement);
  18858. var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl3 = parameters.data.titleObj) !== null && _parameters$data$titl3 !== void 0 && _parameters$data$titl3.str || (_parameters$data$cont3 = parameters.data.contentsObj) !== null && _parameters$data$cont3 !== void 0 && _parameters$data$cont3.str || (_parameters$data$rich3 = parameters.data.richText) !== null && _parameters$data$rich3 !== void 0 && _parameters$data$rich3.str);
  18859. return _super10.call(this, parameters, {
  18860. isRenderable: isRenderable,
  18861. ignoreBorder: true
  18862. });
  18863. }
  18864. _createClass(FreeTextAnnotationElement, [{
  18865. key: "render",
  18866. value: function render() {
  18867. this.container.className = "freeTextAnnotation";
  18868. if (!this.data.hasPopup) {
  18869. this._createPopup(null, this.data);
  18870. }
  18871. return this.container;
  18872. }
  18873. }]);
  18874. return FreeTextAnnotationElement;
  18875. }(AnnotationElement);
  18876. var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {
  18877. _inherits(LineAnnotationElement, _AnnotationElement6);
  18878. var _super11 = _createSuper(LineAnnotationElement);
  18879. function LineAnnotationElement(parameters) {
  18880. var _parameters$data$titl4, _parameters$data$cont4, _parameters$data$rich4;
  18881. _classCallCheck(this, LineAnnotationElement);
  18882. var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl4 = parameters.data.titleObj) !== null && _parameters$data$titl4 !== void 0 && _parameters$data$titl4.str || (_parameters$data$cont4 = parameters.data.contentsObj) !== null && _parameters$data$cont4 !== void 0 && _parameters$data$cont4.str || (_parameters$data$rich4 = parameters.data.richText) !== null && _parameters$data$rich4 !== void 0 && _parameters$data$rich4.str);
  18883. return _super11.call(this, parameters, {
  18884. isRenderable: isRenderable,
  18885. ignoreBorder: true
  18886. });
  18887. }
  18888. _createClass(LineAnnotationElement, [{
  18889. key: "render",
  18890. value: function render() {
  18891. this.container.className = "lineAnnotation";
  18892. var data = this.data;
  18893. var width = data.rect[2] - data.rect[0];
  18894. var height = data.rect[3] - data.rect[1];
  18895. var svg = this.svgFactory.create(width, height);
  18896. var line = this.svgFactory.createElement("svg:line");
  18897. line.setAttribute("x1", data.rect[2] - data.lineCoordinates[0]);
  18898. line.setAttribute("y1", data.rect[3] - data.lineCoordinates[1]);
  18899. line.setAttribute("x2", data.rect[2] - data.lineCoordinates[2]);
  18900. line.setAttribute("y2", data.rect[3] - data.lineCoordinates[3]);
  18901. line.setAttribute("stroke-width", data.borderStyle.width || 1);
  18902. line.setAttribute("stroke", "transparent");
  18903. line.setAttribute("fill", "transparent");
  18904. svg.appendChild(line);
  18905. this.container.append(svg);
  18906. this._createPopup(line, data);
  18907. return this.container;
  18908. }
  18909. }]);
  18910. return LineAnnotationElement;
  18911. }(AnnotationElement);
  18912. var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {
  18913. _inherits(SquareAnnotationElement, _AnnotationElement7);
  18914. var _super12 = _createSuper(SquareAnnotationElement);
  18915. function SquareAnnotationElement(parameters) {
  18916. var _parameters$data$titl5, _parameters$data$cont5, _parameters$data$rich5;
  18917. _classCallCheck(this, SquareAnnotationElement);
  18918. var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl5 = parameters.data.titleObj) !== null && _parameters$data$titl5 !== void 0 && _parameters$data$titl5.str || (_parameters$data$cont5 = parameters.data.contentsObj) !== null && _parameters$data$cont5 !== void 0 && _parameters$data$cont5.str || (_parameters$data$rich5 = parameters.data.richText) !== null && _parameters$data$rich5 !== void 0 && _parameters$data$rich5.str);
  18919. return _super12.call(this, parameters, {
  18920. isRenderable: isRenderable,
  18921. ignoreBorder: true
  18922. });
  18923. }
  18924. _createClass(SquareAnnotationElement, [{
  18925. key: "render",
  18926. value: function render() {
  18927. this.container.className = "squareAnnotation";
  18928. var data = this.data;
  18929. var width = data.rect[2] - data.rect[0];
  18930. var height = data.rect[3] - data.rect[1];
  18931. var svg = this.svgFactory.create(width, height);
  18932. var borderWidth = data.borderStyle.width;
  18933. var square = this.svgFactory.createElement("svg:rect");
  18934. square.setAttribute("x", borderWidth / 2);
  18935. square.setAttribute("y", borderWidth / 2);
  18936. square.setAttribute("width", width - borderWidth);
  18937. square.setAttribute("height", height - borderWidth);
  18938. square.setAttribute("stroke-width", borderWidth || 1);
  18939. square.setAttribute("stroke", "transparent");
  18940. square.setAttribute("fill", "transparent");
  18941. svg.appendChild(square);
  18942. this.container.append(svg);
  18943. this._createPopup(square, data);
  18944. return this.container;
  18945. }
  18946. }]);
  18947. return SquareAnnotationElement;
  18948. }(AnnotationElement);
  18949. var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {
  18950. _inherits(CircleAnnotationElement, _AnnotationElement8);
  18951. var _super13 = _createSuper(CircleAnnotationElement);
  18952. function CircleAnnotationElement(parameters) {
  18953. var _parameters$data$titl6, _parameters$data$cont6, _parameters$data$rich6;
  18954. _classCallCheck(this, CircleAnnotationElement);
  18955. var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl6 = parameters.data.titleObj) !== null && _parameters$data$titl6 !== void 0 && _parameters$data$titl6.str || (_parameters$data$cont6 = parameters.data.contentsObj) !== null && _parameters$data$cont6 !== void 0 && _parameters$data$cont6.str || (_parameters$data$rich6 = parameters.data.richText) !== null && _parameters$data$rich6 !== void 0 && _parameters$data$rich6.str);
  18956. return _super13.call(this, parameters, {
  18957. isRenderable: isRenderable,
  18958. ignoreBorder: true
  18959. });
  18960. }
  18961. _createClass(CircleAnnotationElement, [{
  18962. key: "render",
  18963. value: function render() {
  18964. this.container.className = "circleAnnotation";
  18965. var data = this.data;
  18966. var width = data.rect[2] - data.rect[0];
  18967. var height = data.rect[3] - data.rect[1];
  18968. var svg = this.svgFactory.create(width, height);
  18969. var borderWidth = data.borderStyle.width;
  18970. var circle = this.svgFactory.createElement("svg:ellipse");
  18971. circle.setAttribute("cx", width / 2);
  18972. circle.setAttribute("cy", height / 2);
  18973. circle.setAttribute("rx", width / 2 - borderWidth / 2);
  18974. circle.setAttribute("ry", height / 2 - borderWidth / 2);
  18975. circle.setAttribute("stroke-width", borderWidth || 1);
  18976. circle.setAttribute("stroke", "transparent");
  18977. circle.setAttribute("fill", "transparent");
  18978. svg.appendChild(circle);
  18979. this.container.append(svg);
  18980. this._createPopup(circle, data);
  18981. return this.container;
  18982. }
  18983. }]);
  18984. return CircleAnnotationElement;
  18985. }(AnnotationElement);
  18986. var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {
  18987. _inherits(PolylineAnnotationElement, _AnnotationElement9);
  18988. var _super14 = _createSuper(PolylineAnnotationElement);
  18989. function PolylineAnnotationElement(parameters) {
  18990. var _parameters$data$titl7, _parameters$data$cont7, _parameters$data$rich7;
  18991. var _this11;
  18992. _classCallCheck(this, PolylineAnnotationElement);
  18993. var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl7 = parameters.data.titleObj) !== null && _parameters$data$titl7 !== void 0 && _parameters$data$titl7.str || (_parameters$data$cont7 = parameters.data.contentsObj) !== null && _parameters$data$cont7 !== void 0 && _parameters$data$cont7.str || (_parameters$data$rich7 = parameters.data.richText) !== null && _parameters$data$rich7 !== void 0 && _parameters$data$rich7.str);
  18994. _this11 = _super14.call(this, parameters, {
  18995. isRenderable: isRenderable,
  18996. ignoreBorder: true
  18997. });
  18998. _this11.containerClassName = "polylineAnnotation";
  18999. _this11.svgElementName = "svg:polyline";
  19000. return _this11;
  19001. }
  19002. _createClass(PolylineAnnotationElement, [{
  19003. key: "render",
  19004. value: function render() {
  19005. this.container.className = this.containerClassName;
  19006. var data = this.data;
  19007. var width = data.rect[2] - data.rect[0];
  19008. var height = data.rect[3] - data.rect[1];
  19009. var svg = this.svgFactory.create(width, height);
  19010. var points = [];
  19011. var _iterator19 = _createForOfIteratorHelper(data.vertices),
  19012. _step19;
  19013. try {
  19014. for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {
  19015. var coordinate = _step19.value;
  19016. var x = coordinate.x - data.rect[0];
  19017. var y = data.rect[3] - coordinate.y;
  19018. points.push(x + "," + y);
  19019. }
  19020. } catch (err) {
  19021. _iterator19.e(err);
  19022. } finally {
  19023. _iterator19.f();
  19024. }
  19025. points = points.join(" ");
  19026. var polyline = this.svgFactory.createElement(this.svgElementName);
  19027. polyline.setAttribute("points", points);
  19028. polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
  19029. polyline.setAttribute("stroke", "transparent");
  19030. polyline.setAttribute("fill", "transparent");
  19031. svg.appendChild(polyline);
  19032. this.container.append(svg);
  19033. this._createPopup(polyline, data);
  19034. return this.container;
  19035. }
  19036. }]);
  19037. return PolylineAnnotationElement;
  19038. }(AnnotationElement);
  19039. var PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {
  19040. _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);
  19041. var _super15 = _createSuper(PolygonAnnotationElement);
  19042. function PolygonAnnotationElement(parameters) {
  19043. var _this12;
  19044. _classCallCheck(this, PolygonAnnotationElement);
  19045. _this12 = _super15.call(this, parameters);
  19046. _this12.containerClassName = "polygonAnnotation";
  19047. _this12.svgElementName = "svg:polygon";
  19048. return _this12;
  19049. }
  19050. return PolygonAnnotationElement;
  19051. }(PolylineAnnotationElement);
  19052. var CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {
  19053. _inherits(CaretAnnotationElement, _AnnotationElement10);
  19054. var _super16 = _createSuper(CaretAnnotationElement);
  19055. function CaretAnnotationElement(parameters) {
  19056. var _parameters$data$titl8, _parameters$data$cont8, _parameters$data$rich8;
  19057. _classCallCheck(this, CaretAnnotationElement);
  19058. var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl8 = parameters.data.titleObj) !== null && _parameters$data$titl8 !== void 0 && _parameters$data$titl8.str || (_parameters$data$cont8 = parameters.data.contentsObj) !== null && _parameters$data$cont8 !== void 0 && _parameters$data$cont8.str || (_parameters$data$rich8 = parameters.data.richText) !== null && _parameters$data$rich8 !== void 0 && _parameters$data$rich8.str);
  19059. return _super16.call(this, parameters, {
  19060. isRenderable: isRenderable,
  19061. ignoreBorder: true
  19062. });
  19063. }
  19064. _createClass(CaretAnnotationElement, [{
  19065. key: "render",
  19066. value: function render() {
  19067. this.container.className = "caretAnnotation";
  19068. if (!this.data.hasPopup) {
  19069. this._createPopup(null, this.data);
  19070. }
  19071. return this.container;
  19072. }
  19073. }]);
  19074. return CaretAnnotationElement;
  19075. }(AnnotationElement);
  19076. var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {
  19077. _inherits(InkAnnotationElement, _AnnotationElement11);
  19078. var _super17 = _createSuper(InkAnnotationElement);
  19079. function InkAnnotationElement(parameters) {
  19080. var _parameters$data$titl9, _parameters$data$cont9, _parameters$data$rich9;
  19081. var _this13;
  19082. _classCallCheck(this, InkAnnotationElement);
  19083. var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl9 = parameters.data.titleObj) !== null && _parameters$data$titl9 !== void 0 && _parameters$data$titl9.str || (_parameters$data$cont9 = parameters.data.contentsObj) !== null && _parameters$data$cont9 !== void 0 && _parameters$data$cont9.str || (_parameters$data$rich9 = parameters.data.richText) !== null && _parameters$data$rich9 !== void 0 && _parameters$data$rich9.str);
  19084. _this13 = _super17.call(this, parameters, {
  19085. isRenderable: isRenderable,
  19086. ignoreBorder: true
  19087. });
  19088. _this13.containerClassName = "inkAnnotation";
  19089. _this13.svgElementName = "svg:polyline";
  19090. return _this13;
  19091. }
  19092. _createClass(InkAnnotationElement, [{
  19093. key: "render",
  19094. value: function render() {
  19095. this.container.className = this.containerClassName;
  19096. var data = this.data;
  19097. var width = data.rect[2] - data.rect[0];
  19098. var height = data.rect[3] - data.rect[1];
  19099. var svg = this.svgFactory.create(width, height);
  19100. var _iterator20 = _createForOfIteratorHelper(data.inkLists),
  19101. _step20;
  19102. try {
  19103. for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {
  19104. var inkList = _step20.value;
  19105. var points = [];
  19106. var _iterator21 = _createForOfIteratorHelper(inkList),
  19107. _step21;
  19108. try {
  19109. for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {
  19110. var coordinate = _step21.value;
  19111. var x = coordinate.x - data.rect[0];
  19112. var y = data.rect[3] - coordinate.y;
  19113. points.push("".concat(x, ",").concat(y));
  19114. }
  19115. } catch (err) {
  19116. _iterator21.e(err);
  19117. } finally {
  19118. _iterator21.f();
  19119. }
  19120. points = points.join(" ");
  19121. var polyline = this.svgFactory.createElement(this.svgElementName);
  19122. polyline.setAttribute("points", points);
  19123. polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
  19124. polyline.setAttribute("stroke", "transparent");
  19125. polyline.setAttribute("fill", "transparent");
  19126. this._createPopup(polyline, data);
  19127. svg.appendChild(polyline);
  19128. }
  19129. } catch (err) {
  19130. _iterator20.e(err);
  19131. } finally {
  19132. _iterator20.f();
  19133. }
  19134. this.container.append(svg);
  19135. return this.container;
  19136. }
  19137. }]);
  19138. return InkAnnotationElement;
  19139. }(AnnotationElement);
  19140. var HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {
  19141. _inherits(HighlightAnnotationElement, _AnnotationElement12);
  19142. var _super18 = _createSuper(HighlightAnnotationElement);
  19143. function HighlightAnnotationElement(parameters) {
  19144. var _parameters$data$titl10, _parameters$data$cont10, _parameters$data$rich10;
  19145. _classCallCheck(this, HighlightAnnotationElement);
  19146. var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl10 = parameters.data.titleObj) !== null && _parameters$data$titl10 !== void 0 && _parameters$data$titl10.str || (_parameters$data$cont10 = parameters.data.contentsObj) !== null && _parameters$data$cont10 !== void 0 && _parameters$data$cont10.str || (_parameters$data$rich10 = parameters.data.richText) !== null && _parameters$data$rich10 !== void 0 && _parameters$data$rich10.str);
  19147. return _super18.call(this, parameters, {
  19148. isRenderable: isRenderable,
  19149. ignoreBorder: true,
  19150. createQuadrilaterals: true
  19151. });
  19152. }
  19153. _createClass(HighlightAnnotationElement, [{
  19154. key: "render",
  19155. value: function render() {
  19156. if (!this.data.hasPopup) {
  19157. this._createPopup(null, this.data);
  19158. }
  19159. if (this.quadrilaterals) {
  19160. return this._renderQuadrilaterals("highlightAnnotation");
  19161. }
  19162. this.container.className = "highlightAnnotation";
  19163. return this.container;
  19164. }
  19165. }]);
  19166. return HighlightAnnotationElement;
  19167. }(AnnotationElement);
  19168. var UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {
  19169. _inherits(UnderlineAnnotationElement, _AnnotationElement13);
  19170. var _super19 = _createSuper(UnderlineAnnotationElement);
  19171. function UnderlineAnnotationElement(parameters) {
  19172. var _parameters$data$titl11, _parameters$data$cont11, _parameters$data$rich11;
  19173. _classCallCheck(this, UnderlineAnnotationElement);
  19174. var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl11 = parameters.data.titleObj) !== null && _parameters$data$titl11 !== void 0 && _parameters$data$titl11.str || (_parameters$data$cont11 = parameters.data.contentsObj) !== null && _parameters$data$cont11 !== void 0 && _parameters$data$cont11.str || (_parameters$data$rich11 = parameters.data.richText) !== null && _parameters$data$rich11 !== void 0 && _parameters$data$rich11.str);
  19175. return _super19.call(this, parameters, {
  19176. isRenderable: isRenderable,
  19177. ignoreBorder: true,
  19178. createQuadrilaterals: true
  19179. });
  19180. }
  19181. _createClass(UnderlineAnnotationElement, [{
  19182. key: "render",
  19183. value: function render() {
  19184. if (!this.data.hasPopup) {
  19185. this._createPopup(null, this.data);
  19186. }
  19187. if (this.quadrilaterals) {
  19188. return this._renderQuadrilaterals("underlineAnnotation");
  19189. }
  19190. this.container.className = "underlineAnnotation";
  19191. return this.container;
  19192. }
  19193. }]);
  19194. return UnderlineAnnotationElement;
  19195. }(AnnotationElement);
  19196. var SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {
  19197. _inherits(SquigglyAnnotationElement, _AnnotationElement14);
  19198. var _super20 = _createSuper(SquigglyAnnotationElement);
  19199. function SquigglyAnnotationElement(parameters) {
  19200. var _parameters$data$titl12, _parameters$data$cont12, _parameters$data$rich12;
  19201. _classCallCheck(this, SquigglyAnnotationElement);
  19202. var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl12 = parameters.data.titleObj) !== null && _parameters$data$titl12 !== void 0 && _parameters$data$titl12.str || (_parameters$data$cont12 = parameters.data.contentsObj) !== null && _parameters$data$cont12 !== void 0 && _parameters$data$cont12.str || (_parameters$data$rich12 = parameters.data.richText) !== null && _parameters$data$rich12 !== void 0 && _parameters$data$rich12.str);
  19203. return _super20.call(this, parameters, {
  19204. isRenderable: isRenderable,
  19205. ignoreBorder: true,
  19206. createQuadrilaterals: true
  19207. });
  19208. }
  19209. _createClass(SquigglyAnnotationElement, [{
  19210. key: "render",
  19211. value: function render() {
  19212. if (!this.data.hasPopup) {
  19213. this._createPopup(null, this.data);
  19214. }
  19215. if (this.quadrilaterals) {
  19216. return this._renderQuadrilaterals("squigglyAnnotation");
  19217. }
  19218. this.container.className = "squigglyAnnotation";
  19219. return this.container;
  19220. }
  19221. }]);
  19222. return SquigglyAnnotationElement;
  19223. }(AnnotationElement);
  19224. var StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {
  19225. _inherits(StrikeOutAnnotationElement, _AnnotationElement15);
  19226. var _super21 = _createSuper(StrikeOutAnnotationElement);
  19227. function StrikeOutAnnotationElement(parameters) {
  19228. var _parameters$data$titl13, _parameters$data$cont13, _parameters$data$rich13;
  19229. _classCallCheck(this, StrikeOutAnnotationElement);
  19230. var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl13 = parameters.data.titleObj) !== null && _parameters$data$titl13 !== void 0 && _parameters$data$titl13.str || (_parameters$data$cont13 = parameters.data.contentsObj) !== null && _parameters$data$cont13 !== void 0 && _parameters$data$cont13.str || (_parameters$data$rich13 = parameters.data.richText) !== null && _parameters$data$rich13 !== void 0 && _parameters$data$rich13.str);
  19231. return _super21.call(this, parameters, {
  19232. isRenderable: isRenderable,
  19233. ignoreBorder: true,
  19234. createQuadrilaterals: true
  19235. });
  19236. }
  19237. _createClass(StrikeOutAnnotationElement, [{
  19238. key: "render",
  19239. value: function render() {
  19240. if (!this.data.hasPopup) {
  19241. this._createPopup(null, this.data);
  19242. }
  19243. if (this.quadrilaterals) {
  19244. return this._renderQuadrilaterals("strikeoutAnnotation");
  19245. }
  19246. this.container.className = "strikeoutAnnotation";
  19247. return this.container;
  19248. }
  19249. }]);
  19250. return StrikeOutAnnotationElement;
  19251. }(AnnotationElement);
  19252. var StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) {
  19253. _inherits(StampAnnotationElement, _AnnotationElement16);
  19254. var _super22 = _createSuper(StampAnnotationElement);
  19255. function StampAnnotationElement(parameters) {
  19256. var _parameters$data$titl14, _parameters$data$cont14, _parameters$data$rich14;
  19257. _classCallCheck(this, StampAnnotationElement);
  19258. var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl14 = parameters.data.titleObj) !== null && _parameters$data$titl14 !== void 0 && _parameters$data$titl14.str || (_parameters$data$cont14 = parameters.data.contentsObj) !== null && _parameters$data$cont14 !== void 0 && _parameters$data$cont14.str || (_parameters$data$rich14 = parameters.data.richText) !== null && _parameters$data$rich14 !== void 0 && _parameters$data$rich14.str);
  19259. return _super22.call(this, parameters, {
  19260. isRenderable: isRenderable,
  19261. ignoreBorder: true
  19262. });
  19263. }
  19264. _createClass(StampAnnotationElement, [{
  19265. key: "render",
  19266. value: function render() {
  19267. this.container.className = "stampAnnotation";
  19268. if (!this.data.hasPopup) {
  19269. this._createPopup(null, this.data);
  19270. }
  19271. return this.container;
  19272. }
  19273. }]);
  19274. return StampAnnotationElement;
  19275. }(AnnotationElement);
  19276. var FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) {
  19277. _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);
  19278. var _super23 = _createSuper(FileAttachmentAnnotationElement);
  19279. function FileAttachmentAnnotationElement(parameters) {
  19280. var _this14$linkService$e;
  19281. var _this14;
  19282. _classCallCheck(this, FileAttachmentAnnotationElement);
  19283. _this14 = _super23.call(this, parameters, {
  19284. isRenderable: true
  19285. });
  19286. var _this14$data$file = _this14.data.file,
  19287. filename = _this14$data$file.filename,
  19288. content = _this14$data$file.content;
  19289. _this14.filename = (0, _display_utils.getFilenameFromUrl)(filename);
  19290. _this14.content = content;
  19291. (_this14$linkService$e = _this14.linkService.eventBus) === null || _this14$linkService$e === void 0 ? void 0 : _this14$linkService$e.dispatch("fileattachmentannotation", {
  19292. source: _assertThisInitialized(_this14),
  19293. id: (0, _util.stringToPDFString)(filename),
  19294. filename: filename,
  19295. content: content
  19296. });
  19297. return _this14;
  19298. }
  19299. _createClass(FileAttachmentAnnotationElement, [{
  19300. key: "render",
  19301. value: function render() {
  19302. var _this$data$titleObj, _this$data$contentsOb;
  19303. this.container.className = "fileAttachmentAnnotation";
  19304. var trigger = document.createElement("div");
  19305. trigger.style.height = this.container.style.height;
  19306. trigger.style.width = this.container.style.width;
  19307. trigger.addEventListener("dblclick", this._download.bind(this));
  19308. if (!this.data.hasPopup && ((_this$data$titleObj = this.data.titleObj) !== null && _this$data$titleObj !== void 0 && _this$data$titleObj.str || (_this$data$contentsOb = this.data.contentsObj) !== null && _this$data$contentsOb !== void 0 && _this$data$contentsOb.str || this.data.richText)) {
  19309. this._createPopup(trigger, this.data);
  19310. }
  19311. this.container.appendChild(trigger);
  19312. return this.container;
  19313. }
  19314. }, {
  19315. key: "_download",
  19316. value: function _download() {
  19317. var _this$downloadManager;
  19318. (_this$downloadManager = this.downloadManager) === null || _this$downloadManager === void 0 ? void 0 : _this$downloadManager.openOrDownloadData(this.container, this.content, this.filename);
  19319. }
  19320. }]);
  19321. return FileAttachmentAnnotationElement;
  19322. }(AnnotationElement);
  19323. var AnnotationLayer = /*#__PURE__*/function () {
  19324. function AnnotationLayer() {
  19325. _classCallCheck(this, AnnotationLayer);
  19326. }
  19327. _createClass(AnnotationLayer, null, [{
  19328. key: "render",
  19329. value: function render(parameters) {
  19330. var sortedAnnotations = [],
  19331. popupAnnotations = [];
  19332. var _iterator22 = _createForOfIteratorHelper(parameters.annotations),
  19333. _step22;
  19334. try {
  19335. for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {
  19336. var _data = _step22.value;
  19337. if (!_data) {
  19338. continue;
  19339. }
  19340. if (_data.annotationType === _util.AnnotationType.POPUP) {
  19341. popupAnnotations.push(_data);
  19342. continue;
  19343. }
  19344. sortedAnnotations.push(_data);
  19345. }
  19346. } catch (err) {
  19347. _iterator22.e(err);
  19348. } finally {
  19349. _iterator22.f();
  19350. }
  19351. if (popupAnnotations.length) {
  19352. sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);
  19353. }
  19354. var div = parameters.div;
  19355. for (var _i7 = 0, _sortedAnnotations = sortedAnnotations; _i7 < _sortedAnnotations.length; _i7++) {
  19356. var data = _sortedAnnotations[_i7];
  19357. var element = AnnotationElementFactory.create({
  19358. data: data,
  19359. layer: div,
  19360. page: parameters.page,
  19361. viewport: parameters.viewport,
  19362. linkService: parameters.linkService,
  19363. downloadManager: parameters.downloadManager,
  19364. imageResourcesPath: parameters.imageResourcesPath || "",
  19365. renderForms: parameters.renderForms !== false,
  19366. svgFactory: new _display_utils.DOMSVGFactory(),
  19367. annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage(),
  19368. enableScripting: parameters.enableScripting,
  19369. hasJSActions: parameters.hasJSActions,
  19370. fieldObjects: parameters.fieldObjects,
  19371. mouseState: parameters.mouseState || {
  19372. isDown: false
  19373. }
  19374. });
  19375. if (element.isRenderable) {
  19376. var rendered = element.render();
  19377. if (data.hidden) {
  19378. rendered.style.visibility = "hidden";
  19379. }
  19380. if (Array.isArray(rendered)) {
  19381. var _iterator23 = _createForOfIteratorHelper(rendered),
  19382. _step23;
  19383. try {
  19384. for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {
  19385. var renderedElement = _step23.value;
  19386. div.appendChild(renderedElement);
  19387. }
  19388. } catch (err) {
  19389. _iterator23.e(err);
  19390. } finally {
  19391. _iterator23.f();
  19392. }
  19393. } else {
  19394. if (element instanceof PopupAnnotationElement) {
  19395. div.prepend(rendered);
  19396. } else {
  19397. div.appendChild(rendered);
  19398. }
  19399. }
  19400. }
  19401. }
  19402. _classStaticPrivateMethodGet(this, AnnotationLayer, _setAnnotationCanvasMap).call(this, div, parameters.annotationCanvasMap);
  19403. }
  19404. }, {
  19405. key: "update",
  19406. value: function update(parameters) {
  19407. var page = parameters.page,
  19408. viewport = parameters.viewport,
  19409. annotations = parameters.annotations,
  19410. annotationCanvasMap = parameters.annotationCanvasMap,
  19411. div = parameters.div;
  19412. var transform = viewport.transform;
  19413. var matrix = "matrix(".concat(transform.join(","), ")");
  19414. var scale, ownMatrix;
  19415. var _iterator24 = _createForOfIteratorHelper(annotations),
  19416. _step24;
  19417. try {
  19418. for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) {
  19419. var data = _step24.value;
  19420. var elements = div.querySelectorAll("[data-annotation-id=\"".concat(data.id, "\"]"));
  19421. if (elements) {
  19422. var _iterator25 = _createForOfIteratorHelper(elements),
  19423. _step25;
  19424. try {
  19425. for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {
  19426. var element = _step25.value;
  19427. if (data.hasOwnCanvas) {
  19428. var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);
  19429. if (!ownMatrix) {
  19430. scale = Math.abs(transform[0] || transform[1]);
  19431. var ownTransform = transform.slice();
  19432. for (var i = 0; i < 4; i++) {
  19433. ownTransform[i] = Math.sign(ownTransform[i]);
  19434. }
  19435. ownMatrix = "matrix(".concat(ownTransform.join(","), ")");
  19436. }
  19437. var left = rect[0] * scale;
  19438. var top = rect[1] * scale;
  19439. element.style.left = "".concat(left, "px");
  19440. element.style.top = "".concat(top, "px");
  19441. element.style.transformOrigin = "".concat(-left, "px ").concat(-top, "px");
  19442. element.style.transform = ownMatrix;
  19443. } else {
  19444. element.style.transform = matrix;
  19445. }
  19446. }
  19447. } catch (err) {
  19448. _iterator25.e(err);
  19449. } finally {
  19450. _iterator25.f();
  19451. }
  19452. }
  19453. }
  19454. } catch (err) {
  19455. _iterator24.e(err);
  19456. } finally {
  19457. _iterator24.f();
  19458. }
  19459. _classStaticPrivateMethodGet(this, AnnotationLayer, _setAnnotationCanvasMap).call(this, div, annotationCanvasMap);
  19460. div.hidden = false;
  19461. }
  19462. }]);
  19463. return AnnotationLayer;
  19464. }();
  19465. exports.AnnotationLayer = AnnotationLayer;
  19466. function _setAnnotationCanvasMap(div, annotationCanvasMap) {
  19467. if (!annotationCanvasMap) {
  19468. return;
  19469. }
  19470. var _iterator26 = _createForOfIteratorHelper(annotationCanvasMap),
  19471. _step26;
  19472. try {
  19473. for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {
  19474. var _step26$value = _slicedToArray(_step26.value, 2),
  19475. id = _step26$value[0],
  19476. canvas = _step26$value[1];
  19477. var element = div.querySelector("[data-annotation-id=\"".concat(id, "\"]"));
  19478. if (!element) {
  19479. continue;
  19480. }
  19481. var firstChild = element.firstChild;
  19482. if (firstChild.nodeName === "CANVAS") {
  19483. element.replaceChild(canvas, firstChild);
  19484. } else {
  19485. element.insertBefore(canvas, firstChild);
  19486. }
  19487. }
  19488. } catch (err) {
  19489. _iterator26.e(err);
  19490. } finally {
  19491. _iterator26.f();
  19492. }
  19493. annotationCanvasMap.clear();
  19494. }
  19495. /***/ }),
  19496. /* 149 */
  19497. /***/ ((__unused_webpack_module, exports) => {
  19498. "use strict";
  19499. Object.defineProperty(exports, "__esModule", ({
  19500. value: true
  19501. }));
  19502. exports.ColorConverters = void 0;
  19503. function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
  19504. function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
  19505. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  19506. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  19507. function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
  19508. function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
  19509. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  19510. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  19511. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  19512. function makeColorComp(n) {
  19513. return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, "0");
  19514. }
  19515. var ColorConverters = /*#__PURE__*/function () {
  19516. function ColorConverters() {
  19517. _classCallCheck(this, ColorConverters);
  19518. }
  19519. _createClass(ColorConverters, null, [{
  19520. key: "CMYK_G",
  19521. value: function CMYK_G(_ref) {
  19522. var _ref2 = _slicedToArray(_ref, 4),
  19523. c = _ref2[0],
  19524. y = _ref2[1],
  19525. m = _ref2[2],
  19526. k = _ref2[3];
  19527. return ["G", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];
  19528. }
  19529. }, {
  19530. key: "G_CMYK",
  19531. value: function G_CMYK(_ref3) {
  19532. var _ref4 = _slicedToArray(_ref3, 1),
  19533. g = _ref4[0];
  19534. return ["CMYK", 0, 0, 0, 1 - g];
  19535. }
  19536. }, {
  19537. key: "G_RGB",
  19538. value: function G_RGB(_ref5) {
  19539. var _ref6 = _slicedToArray(_ref5, 1),
  19540. g = _ref6[0];
  19541. return ["RGB", g, g, g];
  19542. }
  19543. }, {
  19544. key: "G_HTML",
  19545. value: function G_HTML(_ref7) {
  19546. var _ref8 = _slicedToArray(_ref7, 1),
  19547. g = _ref8[0];
  19548. var G = makeColorComp(g);
  19549. return "#".concat(G).concat(G).concat(G);
  19550. }
  19551. }, {
  19552. key: "RGB_G",
  19553. value: function RGB_G(_ref9) {
  19554. var _ref10 = _slicedToArray(_ref9, 3),
  19555. r = _ref10[0],
  19556. g = _ref10[1],
  19557. b = _ref10[2];
  19558. return ["G", 0.3 * r + 0.59 * g + 0.11 * b];
  19559. }
  19560. }, {
  19561. key: "RGB_HTML",
  19562. value: function RGB_HTML(_ref11) {
  19563. var _ref12 = _slicedToArray(_ref11, 3),
  19564. r = _ref12[0],
  19565. g = _ref12[1],
  19566. b = _ref12[2];
  19567. var R = makeColorComp(r);
  19568. var G = makeColorComp(g);
  19569. var B = makeColorComp(b);
  19570. return "#".concat(R).concat(G).concat(B);
  19571. }
  19572. }, {
  19573. key: "T_HTML",
  19574. value: function T_HTML() {
  19575. return "#00000000";
  19576. }
  19577. }, {
  19578. key: "CMYK_RGB",
  19579. value: function CMYK_RGB(_ref13) {
  19580. var _ref14 = _slicedToArray(_ref13, 4),
  19581. c = _ref14[0],
  19582. y = _ref14[1],
  19583. m = _ref14[2],
  19584. k = _ref14[3];
  19585. return ["RGB", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];
  19586. }
  19587. }, {
  19588. key: "CMYK_HTML",
  19589. value: function CMYK_HTML(components) {
  19590. return this.RGB_HTML(this.CMYK_RGB(components));
  19591. }
  19592. }, {
  19593. key: "RGB_CMYK",
  19594. value: function RGB_CMYK(_ref15) {
  19595. var _ref16 = _slicedToArray(_ref15, 3),
  19596. r = _ref16[0],
  19597. g = _ref16[1],
  19598. b = _ref16[2];
  19599. var c = 1 - r;
  19600. var m = 1 - g;
  19601. var y = 1 - b;
  19602. var k = Math.min(c, m, y);
  19603. return ["CMYK", c, m, y, k];
  19604. }
  19605. }]);
  19606. return ColorConverters;
  19607. }();
  19608. exports.ColorConverters = ColorConverters;
  19609. /***/ }),
  19610. /* 150 */
  19611. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  19612. "use strict";
  19613. Object.defineProperty(exports, "__esModule", ({
  19614. value: true
  19615. }));
  19616. exports.XfaLayer = void 0;
  19617. var _util = __w_pdfjs_require__(4);
  19618. var _xfa_text = __w_pdfjs_require__(147);
  19619. function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
  19620. function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
  19621. function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
  19622. function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
  19623. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  19624. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  19625. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  19626. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  19627. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  19628. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  19629. var XfaLayer = /*#__PURE__*/function () {
  19630. function XfaLayer() {
  19631. _classCallCheck(this, XfaLayer);
  19632. }
  19633. _createClass(XfaLayer, null, [{
  19634. key: "setupStorage",
  19635. value: function setupStorage(html, id, element, storage, intent) {
  19636. var storedData = storage.getValue(id, {
  19637. value: null
  19638. });
  19639. switch (element.name) {
  19640. case "textarea":
  19641. if (storedData.value !== null) {
  19642. html.textContent = storedData.value;
  19643. }
  19644. if (intent === "print") {
  19645. break;
  19646. }
  19647. html.addEventListener("input", function (event) {
  19648. storage.setValue(id, {
  19649. value: event.target.value
  19650. });
  19651. });
  19652. break;
  19653. case "input":
  19654. if (element.attributes.type === "radio" || element.attributes.type === "checkbox") {
  19655. if (storedData.value === element.attributes.xfaOn) {
  19656. html.setAttribute("checked", true);
  19657. } else if (storedData.value === element.attributes.xfaOff) {
  19658. html.removeAttribute("checked");
  19659. }
  19660. if (intent === "print") {
  19661. break;
  19662. }
  19663. html.addEventListener("change", function (event) {
  19664. storage.setValue(id, {
  19665. value: event.target.checked ? event.target.getAttribute("xfaOn") : event.target.getAttribute("xfaOff")
  19666. });
  19667. });
  19668. } else {
  19669. if (storedData.value !== null) {
  19670. html.setAttribute("value", storedData.value);
  19671. }
  19672. if (intent === "print") {
  19673. break;
  19674. }
  19675. html.addEventListener("input", function (event) {
  19676. storage.setValue(id, {
  19677. value: event.target.value
  19678. });
  19679. });
  19680. }
  19681. break;
  19682. case "select":
  19683. if (storedData.value !== null) {
  19684. var _iterator = _createForOfIteratorHelper(element.children),
  19685. _step;
  19686. try {
  19687. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  19688. var option = _step.value;
  19689. if (option.attributes.value === storedData.value) {
  19690. option.attributes.selected = true;
  19691. }
  19692. }
  19693. } catch (err) {
  19694. _iterator.e(err);
  19695. } finally {
  19696. _iterator.f();
  19697. }
  19698. }
  19699. html.addEventListener("input", function (event) {
  19700. var options = event.target.options;
  19701. var value = options.selectedIndex === -1 ? "" : options[options.selectedIndex].value;
  19702. storage.setValue(id, {
  19703. value: value
  19704. });
  19705. });
  19706. break;
  19707. }
  19708. }
  19709. }, {
  19710. key: "setAttributes",
  19711. value: function setAttributes(_ref) {
  19712. var html = _ref.html,
  19713. element = _ref.element,
  19714. _ref$storage = _ref.storage,
  19715. storage = _ref$storage === void 0 ? null : _ref$storage,
  19716. intent = _ref.intent,
  19717. linkService = _ref.linkService;
  19718. var attributes = element.attributes;
  19719. var isHTMLAnchorElement = html instanceof HTMLAnchorElement;
  19720. if (attributes.type === "radio") {
  19721. attributes.name = "".concat(attributes.name, "-").concat(intent);
  19722. }
  19723. for (var _i = 0, _Object$entries = Object.entries(attributes); _i < _Object$entries.length; _i++) {
  19724. var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
  19725. key = _Object$entries$_i[0],
  19726. value = _Object$entries$_i[1];
  19727. if (value === null || value === undefined || key === "dataId") {
  19728. continue;
  19729. }
  19730. if (key !== "style") {
  19731. if (key === "textContent") {
  19732. html.textContent = value;
  19733. } else if (key === "class") {
  19734. if (value.length) {
  19735. html.setAttribute(key, value.join(" "));
  19736. }
  19737. } else {
  19738. if (isHTMLAnchorElement && (key === "href" || key === "newWindow")) {
  19739. continue;
  19740. }
  19741. html.setAttribute(key, value);
  19742. }
  19743. } else {
  19744. Object.assign(html.style, value);
  19745. }
  19746. }
  19747. if (isHTMLAnchorElement) {
  19748. var _linkService$addLinkA;
  19749. if (!linkService.addLinkAttributes) {
  19750. (0, _util.warn)("XfaLayer.setAttribute - missing `addLinkAttributes`-method on the `linkService`-instance.");
  19751. }
  19752. (_linkService$addLinkA = linkService.addLinkAttributes) === null || _linkService$addLinkA === void 0 ? void 0 : _linkService$addLinkA.call(linkService, html, attributes.href, attributes.newWindow);
  19753. }
  19754. if (storage && attributes.dataId) {
  19755. this.setupStorage(html, attributes.dataId, element, storage);
  19756. }
  19757. }
  19758. }, {
  19759. key: "render",
  19760. value: function render(parameters) {
  19761. var storage = parameters.annotationStorage;
  19762. var linkService = parameters.linkService;
  19763. var root = parameters.xfaHtml;
  19764. var intent = parameters.intent || "display";
  19765. var rootHtml = document.createElement(root.name);
  19766. if (root.attributes) {
  19767. this.setAttributes({
  19768. html: rootHtml,
  19769. element: root,
  19770. intent: intent,
  19771. linkService: linkService
  19772. });
  19773. }
  19774. var stack = [[root, -1, rootHtml]];
  19775. var rootDiv = parameters.div;
  19776. rootDiv.appendChild(rootHtml);
  19777. if (parameters.viewport) {
  19778. var transform = "matrix(".concat(parameters.viewport.transform.join(","), ")");
  19779. rootDiv.style.transform = transform;
  19780. }
  19781. if (intent !== "richText") {
  19782. rootDiv.setAttribute("class", "xfaLayer xfaFont");
  19783. }
  19784. var textDivs = [];
  19785. while (stack.length > 0) {
  19786. var _child$attributes;
  19787. var _stack = _slicedToArray(stack[stack.length - 1], 3),
  19788. parent = _stack[0],
  19789. i = _stack[1],
  19790. html = _stack[2];
  19791. if (i + 1 === parent.children.length) {
  19792. stack.pop();
  19793. continue;
  19794. }
  19795. var child = parent.children[++stack[stack.length - 1][1]];
  19796. if (child === null) {
  19797. continue;
  19798. }
  19799. var name = child.name;
  19800. if (name === "#text") {
  19801. var node = document.createTextNode(child.value);
  19802. textDivs.push(node);
  19803. html.appendChild(node);
  19804. continue;
  19805. }
  19806. var childHtml = void 0;
  19807. if (child !== null && child !== void 0 && (_child$attributes = child.attributes) !== null && _child$attributes !== void 0 && _child$attributes.xmlns) {
  19808. childHtml = document.createElementNS(child.attributes.xmlns, name);
  19809. } else {
  19810. childHtml = document.createElement(name);
  19811. }
  19812. html.appendChild(childHtml);
  19813. if (child.attributes) {
  19814. this.setAttributes({
  19815. html: childHtml,
  19816. element: child,
  19817. storage: storage,
  19818. intent: intent,
  19819. linkService: linkService
  19820. });
  19821. }
  19822. if (child.children && child.children.length > 0) {
  19823. stack.push([child, -1, childHtml]);
  19824. } else if (child.value) {
  19825. var _node = document.createTextNode(child.value);
  19826. if (_xfa_text.XfaText.shouldBuildText(name)) {
  19827. textDivs.push(_node);
  19828. }
  19829. childHtml.appendChild(_node);
  19830. }
  19831. }
  19832. var _iterator2 = _createForOfIteratorHelper(rootDiv.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea")),
  19833. _step2;
  19834. try {
  19835. for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
  19836. var el = _step2.value;
  19837. el.setAttribute("readOnly", true);
  19838. }
  19839. } catch (err) {
  19840. _iterator2.e(err);
  19841. } finally {
  19842. _iterator2.f();
  19843. }
  19844. return {
  19845. textDivs: textDivs
  19846. };
  19847. }
  19848. }, {
  19849. key: "update",
  19850. value: function update(parameters) {
  19851. var transform = "matrix(".concat(parameters.viewport.transform.join(","), ")");
  19852. parameters.div.style.transform = transform;
  19853. parameters.div.hidden = false;
  19854. }
  19855. }]);
  19856. return XfaLayer;
  19857. }();
  19858. exports.XfaLayer = XfaLayer;
  19859. /***/ }),
  19860. /* 151 */
  19861. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  19862. "use strict";
  19863. Object.defineProperty(exports, "__esModule", ({
  19864. value: true
  19865. }));
  19866. exports.renderTextLayer = renderTextLayer;
  19867. var _util = __w_pdfjs_require__(4);
  19868. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  19869. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  19870. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  19871. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  19872. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  19873. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  19874. var MAX_TEXT_DIVS_TO_RENDER = 100000;
  19875. var DEFAULT_FONT_SIZE = 30;
  19876. var DEFAULT_FONT_ASCENT = 0.8;
  19877. var ascentCache = new Map();
  19878. var AllWhitespaceRegexp = /^\s+$/g;
  19879. function getAscent(fontFamily, ctx) {
  19880. var cachedAscent = ascentCache.get(fontFamily);
  19881. if (cachedAscent) {
  19882. return cachedAscent;
  19883. }
  19884. ctx.save();
  19885. ctx.font = "".concat(DEFAULT_FONT_SIZE, "px ").concat(fontFamily);
  19886. var metrics = ctx.measureText("");
  19887. var ascent = metrics.fontBoundingBoxAscent;
  19888. var descent = Math.abs(metrics.fontBoundingBoxDescent);
  19889. if (ascent) {
  19890. ctx.restore();
  19891. var ratio = ascent / (ascent + descent);
  19892. ascentCache.set(fontFamily, ratio);
  19893. return ratio;
  19894. }
  19895. ctx.strokeStyle = "red";
  19896. ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);
  19897. ctx.strokeText("g", 0, 0);
  19898. var pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;
  19899. descent = 0;
  19900. for (var i = pixels.length - 1 - 3; i >= 0; i -= 4) {
  19901. if (pixels[i] > 0) {
  19902. descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE);
  19903. break;
  19904. }
  19905. }
  19906. ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);
  19907. ctx.strokeText("A", 0, DEFAULT_FONT_SIZE);
  19908. pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;
  19909. ascent = 0;
  19910. for (var _i = 0, ii = pixels.length; _i < ii; _i += 4) {
  19911. if (pixels[_i] > 0) {
  19912. ascent = DEFAULT_FONT_SIZE - Math.floor(_i / 4 / DEFAULT_FONT_SIZE);
  19913. break;
  19914. }
  19915. }
  19916. ctx.restore();
  19917. if (ascent) {
  19918. var _ratio = ascent / (ascent + descent);
  19919. ascentCache.set(fontFamily, _ratio);
  19920. return _ratio;
  19921. }
  19922. ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT);
  19923. return DEFAULT_FONT_ASCENT;
  19924. }
  19925. function appendText(task, geom, styles, ctx) {
  19926. var textDiv = document.createElement("span");
  19927. var textDivProperties = task._enhanceTextSelection ? {
  19928. angle: 0,
  19929. canvasWidth: 0,
  19930. hasText: geom.str !== "",
  19931. hasEOL: geom.hasEOL,
  19932. originalTransform: null,
  19933. paddingBottom: 0,
  19934. paddingLeft: 0,
  19935. paddingRight: 0,
  19936. paddingTop: 0,
  19937. scale: 1
  19938. } : {
  19939. angle: 0,
  19940. canvasWidth: 0,
  19941. hasText: geom.str !== "",
  19942. hasEOL: geom.hasEOL
  19943. };
  19944. task._textDivs.push(textDiv);
  19945. var tx = _util.Util.transform(task._viewport.transform, geom.transform);
  19946. var angle = Math.atan2(tx[1], tx[0]);
  19947. var style = styles[geom.fontName];
  19948. if (style.vertical) {
  19949. angle += Math.PI / 2;
  19950. }
  19951. var fontHeight = Math.hypot(tx[2], tx[3]);
  19952. var fontAscent = fontHeight * getAscent(style.fontFamily, ctx);
  19953. var left, top;
  19954. if (angle === 0) {
  19955. left = tx[4];
  19956. top = tx[5] - fontAscent;
  19957. } else {
  19958. left = tx[4] + fontAscent * Math.sin(angle);
  19959. top = tx[5] - fontAscent * Math.cos(angle);
  19960. }
  19961. textDiv.style.left = "".concat(left, "px");
  19962. textDiv.style.top = "".concat(top, "px");
  19963. textDiv.style.fontSize = "".concat(fontHeight, "px");
  19964. textDiv.style.fontFamily = style.fontFamily;
  19965. textDiv.setAttribute("role", "presentation");
  19966. textDiv.textContent = geom.str;
  19967. textDiv.dir = geom.dir;
  19968. if (task._fontInspectorEnabled) {
  19969. textDiv.dataset.fontName = geom.fontName;
  19970. }
  19971. if (angle !== 0) {
  19972. textDivProperties.angle = angle * (180 / Math.PI);
  19973. }
  19974. var shouldScaleText = false;
  19975. if (geom.str.length > 1 || task._enhanceTextSelection && AllWhitespaceRegexp.test(geom.str)) {
  19976. shouldScaleText = true;
  19977. } else if (geom.str !== " " && geom.transform[0] !== geom.transform[3]) {
  19978. var absScaleX = Math.abs(geom.transform[0]),
  19979. absScaleY = Math.abs(geom.transform[3]);
  19980. if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {
  19981. shouldScaleText = true;
  19982. }
  19983. }
  19984. if (shouldScaleText) {
  19985. if (style.vertical) {
  19986. textDivProperties.canvasWidth = geom.height * task._viewport.scale;
  19987. } else {
  19988. textDivProperties.canvasWidth = geom.width * task._viewport.scale;
  19989. }
  19990. }
  19991. task._textDivProperties.set(textDiv, textDivProperties);
  19992. if (task._textContentStream) {
  19993. task._layoutText(textDiv);
  19994. }
  19995. if (task._enhanceTextSelection && textDivProperties.hasText) {
  19996. var angleCos = 1,
  19997. angleSin = 0;
  19998. if (angle !== 0) {
  19999. angleCos = Math.cos(angle);
  20000. angleSin = Math.sin(angle);
  20001. }
  20002. var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;
  20003. var divHeight = fontHeight;
  20004. var m, b;
  20005. if (angle !== 0) {
  20006. m = [angleCos, angleSin, -angleSin, angleCos, left, top];
  20007. b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);
  20008. } else {
  20009. b = [left, top, left + divWidth, top + divHeight];
  20010. }
  20011. task._bounds.push({
  20012. left: b[0],
  20013. top: b[1],
  20014. right: b[2],
  20015. bottom: b[3],
  20016. div: textDiv,
  20017. size: [divWidth, divHeight],
  20018. m: m
  20019. });
  20020. }
  20021. }
  20022. function render(task) {
  20023. if (task._canceled) {
  20024. return;
  20025. }
  20026. var textDivs = task._textDivs;
  20027. var capability = task._capability;
  20028. var textDivsLength = textDivs.length;
  20029. if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {
  20030. task._renderingDone = true;
  20031. capability.resolve();
  20032. return;
  20033. }
  20034. if (!task._textContentStream) {
  20035. for (var i = 0; i < textDivsLength; i++) {
  20036. task._layoutText(textDivs[i]);
  20037. }
  20038. }
  20039. task._renderingDone = true;
  20040. capability.resolve();
  20041. }
  20042. function findPositiveMin(ts, offset, count) {
  20043. var result = 0;
  20044. for (var i = 0; i < count; i++) {
  20045. var t = ts[offset++];
  20046. if (t > 0) {
  20047. result = result ? Math.min(t, result) : t;
  20048. }
  20049. }
  20050. return result;
  20051. }
  20052. function expand(task) {
  20053. var bounds = task._bounds;
  20054. var viewport = task._viewport;
  20055. var expanded = expandBounds(viewport.width, viewport.height, bounds);
  20056. for (var i = 0; i < expanded.length; i++) {
  20057. var div = bounds[i].div;
  20058. var divProperties = task._textDivProperties.get(div);
  20059. if (divProperties.angle === 0) {
  20060. divProperties.paddingLeft = bounds[i].left - expanded[i].left;
  20061. divProperties.paddingTop = bounds[i].top - expanded[i].top;
  20062. divProperties.paddingRight = expanded[i].right - bounds[i].right;
  20063. divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;
  20064. task._textDivProperties.set(div, divProperties);
  20065. continue;
  20066. }
  20067. var e = expanded[i],
  20068. b = bounds[i];
  20069. var m = b.m,
  20070. c = m[0],
  20071. s = m[1];
  20072. var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];
  20073. var ts = new Float64Array(64);
  20074. for (var j = 0, jj = points.length; j < jj; j++) {
  20075. var t = _util.Util.applyTransform(points[j], m);
  20076. ts[j + 0] = c && (e.left - t[0]) / c;
  20077. ts[j + 4] = s && (e.top - t[1]) / s;
  20078. ts[j + 8] = c && (e.right - t[0]) / c;
  20079. ts[j + 12] = s && (e.bottom - t[1]) / s;
  20080. ts[j + 16] = s && (e.left - t[0]) / -s;
  20081. ts[j + 20] = c && (e.top - t[1]) / c;
  20082. ts[j + 24] = s && (e.right - t[0]) / -s;
  20083. ts[j + 28] = c && (e.bottom - t[1]) / c;
  20084. ts[j + 32] = c && (e.left - t[0]) / -c;
  20085. ts[j + 36] = s && (e.top - t[1]) / -s;
  20086. ts[j + 40] = c && (e.right - t[0]) / -c;
  20087. ts[j + 44] = s && (e.bottom - t[1]) / -s;
  20088. ts[j + 48] = s && (e.left - t[0]) / s;
  20089. ts[j + 52] = c && (e.top - t[1]) / -c;
  20090. ts[j + 56] = s && (e.right - t[0]) / s;
  20091. ts[j + 60] = c && (e.bottom - t[1]) / -c;
  20092. }
  20093. var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));
  20094. divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;
  20095. divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;
  20096. divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;
  20097. divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;
  20098. task._textDivProperties.set(div, divProperties);
  20099. }
  20100. }
  20101. function expandBounds(width, height, boxes) {
  20102. var bounds = boxes.map(function (box, i) {
  20103. return {
  20104. x1: box.left,
  20105. y1: box.top,
  20106. x2: box.right,
  20107. y2: box.bottom,
  20108. index: i,
  20109. x1New: undefined,
  20110. x2New: undefined
  20111. };
  20112. });
  20113. expandBoundsLTR(width, bounds);
  20114. var expanded = new Array(boxes.length);
  20115. var _iterator = _createForOfIteratorHelper(bounds),
  20116. _step;
  20117. try {
  20118. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  20119. var b = _step.value;
  20120. var i = b.index;
  20121. expanded[i] = {
  20122. left: b.x1New,
  20123. top: 0,
  20124. right: b.x2New,
  20125. bottom: 0
  20126. };
  20127. }
  20128. } catch (err) {
  20129. _iterator.e(err);
  20130. } finally {
  20131. _iterator.f();
  20132. }
  20133. boxes.map(function (box, i) {
  20134. var e = expanded[i],
  20135. b = bounds[i];
  20136. b.x1 = box.top;
  20137. b.y1 = width - e.right;
  20138. b.x2 = box.bottom;
  20139. b.y2 = width - e.left;
  20140. b.index = i;
  20141. b.x1New = undefined;
  20142. b.x2New = undefined;
  20143. });
  20144. expandBoundsLTR(height, bounds);
  20145. var _iterator2 = _createForOfIteratorHelper(bounds),
  20146. _step2;
  20147. try {
  20148. for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
  20149. var _b = _step2.value;
  20150. var _i2 = _b.index;
  20151. expanded[_i2].top = _b.x1New;
  20152. expanded[_i2].bottom = _b.x2New;
  20153. }
  20154. } catch (err) {
  20155. _iterator2.e(err);
  20156. } finally {
  20157. _iterator2.f();
  20158. }
  20159. return expanded;
  20160. }
  20161. function expandBoundsLTR(width, bounds) {
  20162. bounds.sort(function (a, b) {
  20163. return a.x1 - b.x1 || a.index - b.index;
  20164. });
  20165. var fakeBoundary = {
  20166. x1: -Infinity,
  20167. y1: -Infinity,
  20168. x2: 0,
  20169. y2: Infinity,
  20170. index: -1,
  20171. x1New: 0,
  20172. x2New: 0
  20173. };
  20174. var horizon = [{
  20175. start: -Infinity,
  20176. end: Infinity,
  20177. boundary: fakeBoundary
  20178. }];
  20179. var _iterator3 = _createForOfIteratorHelper(bounds),
  20180. _step3;
  20181. try {
  20182. for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
  20183. var boundary = _step3.value;
  20184. var i = 0;
  20185. while (i < horizon.length && horizon[i].end <= boundary.y1) {
  20186. i++;
  20187. }
  20188. var j = horizon.length - 1;
  20189. while (j >= 0 && horizon[j].start >= boundary.y2) {
  20190. j--;
  20191. }
  20192. var _horizonPart = void 0,
  20193. _affectedBoundary = void 0;
  20194. var q = void 0,
  20195. k = void 0,
  20196. maxXNew = -Infinity;
  20197. for (q = i; q <= j; q++) {
  20198. _horizonPart = horizon[q];
  20199. _affectedBoundary = _horizonPart.boundary;
  20200. var xNew = void 0;
  20201. if (_affectedBoundary.x2 > boundary.x1) {
  20202. xNew = _affectedBoundary.index > boundary.index ? _affectedBoundary.x1New : boundary.x1;
  20203. } else if (_affectedBoundary.x2New === undefined) {
  20204. xNew = (_affectedBoundary.x2 + boundary.x1) / 2;
  20205. } else {
  20206. xNew = _affectedBoundary.x2New;
  20207. }
  20208. if (xNew > maxXNew) {
  20209. maxXNew = xNew;
  20210. }
  20211. }
  20212. boundary.x1New = maxXNew;
  20213. for (q = i; q <= j; q++) {
  20214. _horizonPart = horizon[q];
  20215. _affectedBoundary = _horizonPart.boundary;
  20216. if (_affectedBoundary.x2New === undefined) {
  20217. if (_affectedBoundary.x2 > boundary.x1) {
  20218. if (_affectedBoundary.index > boundary.index) {
  20219. _affectedBoundary.x2New = _affectedBoundary.x2;
  20220. }
  20221. } else {
  20222. _affectedBoundary.x2New = maxXNew;
  20223. }
  20224. } else if (_affectedBoundary.x2New > maxXNew) {
  20225. _affectedBoundary.x2New = Math.max(maxXNew, _affectedBoundary.x2);
  20226. }
  20227. }
  20228. var changedHorizon = [];
  20229. var lastBoundary = null;
  20230. for (q = i; q <= j; q++) {
  20231. _horizonPart = horizon[q];
  20232. _affectedBoundary = _horizonPart.boundary;
  20233. var useBoundary = _affectedBoundary.x2 > boundary.x2 ? _affectedBoundary : boundary;
  20234. if (lastBoundary === useBoundary) {
  20235. changedHorizon[changedHorizon.length - 1].end = _horizonPart.end;
  20236. } else {
  20237. changedHorizon.push({
  20238. start: _horizonPart.start,
  20239. end: _horizonPart.end,
  20240. boundary: useBoundary
  20241. });
  20242. lastBoundary = useBoundary;
  20243. }
  20244. }
  20245. if (horizon[i].start < boundary.y1) {
  20246. changedHorizon[0].start = boundary.y1;
  20247. changedHorizon.unshift({
  20248. start: horizon[i].start,
  20249. end: boundary.y1,
  20250. boundary: horizon[i].boundary
  20251. });
  20252. }
  20253. if (boundary.y2 < horizon[j].end) {
  20254. changedHorizon[changedHorizon.length - 1].end = boundary.y2;
  20255. changedHorizon.push({
  20256. start: boundary.y2,
  20257. end: horizon[j].end,
  20258. boundary: horizon[j].boundary
  20259. });
  20260. }
  20261. for (q = i; q <= j; q++) {
  20262. _horizonPart = horizon[q];
  20263. _affectedBoundary = _horizonPart.boundary;
  20264. if (_affectedBoundary.x2New !== undefined) {
  20265. continue;
  20266. }
  20267. var used = false;
  20268. for (k = i - 1; !used && k >= 0 && horizon[k].start >= _affectedBoundary.y1; k--) {
  20269. used = horizon[k].boundary === _affectedBoundary;
  20270. }
  20271. for (k = j + 1; !used && k < horizon.length && horizon[k].end <= _affectedBoundary.y2; k++) {
  20272. used = horizon[k].boundary === _affectedBoundary;
  20273. }
  20274. for (k = 0; !used && k < changedHorizon.length; k++) {
  20275. used = changedHorizon[k].boundary === _affectedBoundary;
  20276. }
  20277. if (!used) {
  20278. _affectedBoundary.x2New = maxXNew;
  20279. }
  20280. }
  20281. Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));
  20282. }
  20283. } catch (err) {
  20284. _iterator3.e(err);
  20285. } finally {
  20286. _iterator3.f();
  20287. }
  20288. for (var _i3 = 0, _horizon = horizon; _i3 < _horizon.length; _i3++) {
  20289. var horizonPart = _horizon[_i3];
  20290. var affectedBoundary = horizonPart.boundary;
  20291. if (affectedBoundary.x2New === undefined) {
  20292. affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);
  20293. }
  20294. }
  20295. }
  20296. var TextLayerRenderTask = /*#__PURE__*/function () {
  20297. function TextLayerRenderTask(_ref) {
  20298. var _globalThis$FontInspe,
  20299. _this = this;
  20300. var textContent = _ref.textContent,
  20301. textContentStream = _ref.textContentStream,
  20302. container = _ref.container,
  20303. viewport = _ref.viewport,
  20304. textDivs = _ref.textDivs,
  20305. textContentItemsStr = _ref.textContentItemsStr,
  20306. enhanceTextSelection = _ref.enhanceTextSelection;
  20307. _classCallCheck(this, TextLayerRenderTask);
  20308. this._textContent = textContent;
  20309. this._textContentStream = textContentStream;
  20310. this._container = container;
  20311. this._document = container.ownerDocument;
  20312. this._viewport = viewport;
  20313. this._textDivs = textDivs || [];
  20314. this._textContentItemsStr = textContentItemsStr || [];
  20315. this._enhanceTextSelection = !!enhanceTextSelection;
  20316. this._fontInspectorEnabled = !!((_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled);
  20317. this._reader = null;
  20318. this._layoutTextLastFontSize = null;
  20319. this._layoutTextLastFontFamily = null;
  20320. this._layoutTextCtx = null;
  20321. this._textDivProperties = new WeakMap();
  20322. this._renderingDone = false;
  20323. this._canceled = false;
  20324. this._capability = (0, _util.createPromiseCapability)();
  20325. this._renderTimer = null;
  20326. this._bounds = [];
  20327. this._capability.promise["finally"](function () {
  20328. if (!_this._enhanceTextSelection) {
  20329. _this._textDivProperties = null;
  20330. }
  20331. if (_this._layoutTextCtx) {
  20332. _this._layoutTextCtx.canvas.width = 0;
  20333. _this._layoutTextCtx.canvas.height = 0;
  20334. _this._layoutTextCtx = null;
  20335. }
  20336. })["catch"](function () {});
  20337. }
  20338. _createClass(TextLayerRenderTask, [{
  20339. key: "promise",
  20340. get: function get() {
  20341. return this._capability.promise;
  20342. }
  20343. }, {
  20344. key: "cancel",
  20345. value: function cancel() {
  20346. this._canceled = true;
  20347. if (this._reader) {
  20348. this._reader.cancel(new _util.AbortException("TextLayer task cancelled."))["catch"](function () {});
  20349. this._reader = null;
  20350. }
  20351. if (this._renderTimer !== null) {
  20352. clearTimeout(this._renderTimer);
  20353. this._renderTimer = null;
  20354. }
  20355. this._capability.reject(new Error("TextLayer task cancelled."));
  20356. }
  20357. }, {
  20358. key: "_processItems",
  20359. value: function _processItems(items, styleCache) {
  20360. for (var i = 0, len = items.length; i < len; i++) {
  20361. if (items[i].str === undefined) {
  20362. if (items[i].type === "beginMarkedContentProps" || items[i].type === "beginMarkedContent") {
  20363. var parent = this._container;
  20364. this._container = document.createElement("span");
  20365. this._container.classList.add("markedContent");
  20366. if (items[i].id !== null) {
  20367. this._container.setAttribute("id", "".concat(items[i].id));
  20368. }
  20369. parent.appendChild(this._container);
  20370. } else if (items[i].type === "endMarkedContent") {
  20371. this._container = this._container.parentNode;
  20372. }
  20373. continue;
  20374. }
  20375. this._textContentItemsStr.push(items[i].str);
  20376. appendText(this, items[i], styleCache, this._layoutTextCtx);
  20377. }
  20378. }
  20379. }, {
  20380. key: "_layoutText",
  20381. value: function _layoutText(textDiv) {
  20382. var textDivProperties = this._textDivProperties.get(textDiv);
  20383. var transform = "";
  20384. if (textDivProperties.canvasWidth !== 0 && textDivProperties.hasText) {
  20385. var _textDiv$style = textDiv.style,
  20386. fontSize = _textDiv$style.fontSize,
  20387. fontFamily = _textDiv$style.fontFamily;
  20388. if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {
  20389. this._layoutTextCtx.font = "".concat(fontSize, " ").concat(fontFamily);
  20390. this._layoutTextLastFontSize = fontSize;
  20391. this._layoutTextLastFontFamily = fontFamily;
  20392. }
  20393. var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),
  20394. width = _this$_layoutTextCtx$.width;
  20395. if (width > 0) {
  20396. var scale = textDivProperties.canvasWidth / width;
  20397. if (this._enhanceTextSelection) {
  20398. textDivProperties.scale = scale;
  20399. }
  20400. transform = "scaleX(".concat(scale, ")");
  20401. }
  20402. }
  20403. if (textDivProperties.angle !== 0) {
  20404. transform = "rotate(".concat(textDivProperties.angle, "deg) ").concat(transform);
  20405. }
  20406. if (transform.length > 0) {
  20407. if (this._enhanceTextSelection) {
  20408. textDivProperties.originalTransform = transform;
  20409. }
  20410. textDiv.style.transform = transform;
  20411. }
  20412. if (textDivProperties.hasText) {
  20413. this._container.appendChild(textDiv);
  20414. }
  20415. if (textDivProperties.hasEOL) {
  20416. var br = document.createElement("br");
  20417. br.setAttribute("role", "presentation");
  20418. this._container.appendChild(br);
  20419. }
  20420. }
  20421. }, {
  20422. key: "_render",
  20423. value: function _render() {
  20424. var _this2 = this;
  20425. var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
  20426. var capability = (0, _util.createPromiseCapability)();
  20427. var styleCache = Object.create(null);
  20428. var canvas = this._document.createElement("canvas");
  20429. canvas.height = canvas.width = DEFAULT_FONT_SIZE;
  20430. canvas.mozOpaque = true;
  20431. this._layoutTextCtx = canvas.getContext("2d", {
  20432. alpha: false
  20433. });
  20434. if (this._textContent) {
  20435. var textItems = this._textContent.items;
  20436. var textStyles = this._textContent.styles;
  20437. this._processItems(textItems, textStyles);
  20438. capability.resolve();
  20439. } else if (this._textContentStream) {
  20440. var pump = function pump() {
  20441. _this2._reader.read().then(function (_ref2) {
  20442. var value = _ref2.value,
  20443. done = _ref2.done;
  20444. if (done) {
  20445. capability.resolve();
  20446. return;
  20447. }
  20448. Object.assign(styleCache, value.styles);
  20449. _this2._processItems(value.items, styleCache);
  20450. pump();
  20451. }, capability.reject);
  20452. };
  20453. this._reader = this._textContentStream.getReader();
  20454. pump();
  20455. } else {
  20456. throw new Error('Neither "textContent" nor "textContentStream" parameters specified.');
  20457. }
  20458. capability.promise.then(function () {
  20459. styleCache = null;
  20460. if (!timeout) {
  20461. render(_this2);
  20462. } else {
  20463. _this2._renderTimer = setTimeout(function () {
  20464. render(_this2);
  20465. _this2._renderTimer = null;
  20466. }, timeout);
  20467. }
  20468. }, this._capability.reject);
  20469. }
  20470. }, {
  20471. key: "expandTextDivs",
  20472. value: function expandTextDivs() {
  20473. var expandDivs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
  20474. if (!this._enhanceTextSelection || !this._renderingDone) {
  20475. return;
  20476. }
  20477. if (this._bounds !== null) {
  20478. expand(this);
  20479. this._bounds = null;
  20480. }
  20481. var transformBuf = [],
  20482. paddingBuf = [];
  20483. for (var i = 0, ii = this._textDivs.length; i < ii; i++) {
  20484. var div = this._textDivs[i];
  20485. var divProps = this._textDivProperties.get(div);
  20486. if (!divProps.hasText) {
  20487. continue;
  20488. }
  20489. if (expandDivs) {
  20490. transformBuf.length = 0;
  20491. paddingBuf.length = 0;
  20492. if (divProps.originalTransform) {
  20493. transformBuf.push(divProps.originalTransform);
  20494. }
  20495. if (divProps.paddingTop > 0) {
  20496. paddingBuf.push("".concat(divProps.paddingTop, "px"));
  20497. transformBuf.push("translateY(".concat(-divProps.paddingTop, "px)"));
  20498. } else {
  20499. paddingBuf.push(0);
  20500. }
  20501. if (divProps.paddingRight > 0) {
  20502. paddingBuf.push("".concat(divProps.paddingRight / divProps.scale, "px"));
  20503. } else {
  20504. paddingBuf.push(0);
  20505. }
  20506. if (divProps.paddingBottom > 0) {
  20507. paddingBuf.push("".concat(divProps.paddingBottom, "px"));
  20508. } else {
  20509. paddingBuf.push(0);
  20510. }
  20511. if (divProps.paddingLeft > 0) {
  20512. paddingBuf.push("".concat(divProps.paddingLeft / divProps.scale, "px"));
  20513. transformBuf.push("translateX(".concat(-divProps.paddingLeft / divProps.scale, "px)"));
  20514. } else {
  20515. paddingBuf.push(0);
  20516. }
  20517. div.style.padding = paddingBuf.join(" ");
  20518. if (transformBuf.length) {
  20519. div.style.transform = transformBuf.join(" ");
  20520. }
  20521. } else {
  20522. div.style.padding = null;
  20523. div.style.transform = divProps.originalTransform;
  20524. }
  20525. }
  20526. }
  20527. }]);
  20528. return TextLayerRenderTask;
  20529. }();
  20530. function renderTextLayer(renderParameters) {
  20531. var task = new TextLayerRenderTask({
  20532. textContent: renderParameters.textContent,
  20533. textContentStream: renderParameters.textContentStream,
  20534. container: renderParameters.container,
  20535. viewport: renderParameters.viewport,
  20536. textDivs: renderParameters.textDivs,
  20537. textContentItemsStr: renderParameters.textContentItemsStr,
  20538. enhanceTextSelection: renderParameters.enhanceTextSelection
  20539. });
  20540. task._render(renderParameters.timeout);
  20541. return task;
  20542. }
  20543. /***/ }),
  20544. /* 152 */
  20545. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  20546. "use strict";
  20547. Object.defineProperty(exports, "__esModule", ({
  20548. value: true
  20549. }));
  20550. exports.SVGGraphics = void 0;
  20551. var _util = __w_pdfjs_require__(4);
  20552. var _display_utils = __w_pdfjs_require__(1);
  20553. var _is_node = __w_pdfjs_require__(6);
  20554. function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
  20555. function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
  20556. function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
  20557. function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
  20558. function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
  20559. function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
  20560. function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
  20561. function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
  20562. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  20563. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  20564. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  20565. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  20566. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  20567. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  20568. var SVGGraphics = function SVGGraphics() {
  20569. _classCallCheck(this, SVGGraphics);
  20570. (0, _util.unreachable)("Not implemented: SVGGraphics");
  20571. };
  20572. exports.SVGGraphics = SVGGraphics;
  20573. {
  20574. var opListToTree = function opListToTree(opList) {
  20575. var opTree = [];
  20576. var tmp = [];
  20577. var _iterator = _createForOfIteratorHelper(opList),
  20578. _step;
  20579. try {
  20580. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  20581. var opListElement = _step.value;
  20582. if (opListElement.fn === "save") {
  20583. opTree.push({
  20584. fnId: 92,
  20585. fn: "group",
  20586. items: []
  20587. });
  20588. tmp.push(opTree);
  20589. opTree = opTree[opTree.length - 1].items;
  20590. continue;
  20591. }
  20592. if (opListElement.fn === "restore") {
  20593. opTree = tmp.pop();
  20594. } else {
  20595. opTree.push(opListElement);
  20596. }
  20597. }
  20598. } catch (err) {
  20599. _iterator.e(err);
  20600. } finally {
  20601. _iterator.f();
  20602. }
  20603. return opTree;
  20604. };
  20605. var pf = function pf(value) {
  20606. if (Number.isInteger(value)) {
  20607. return value.toString();
  20608. }
  20609. var s = value.toFixed(10);
  20610. var i = s.length - 1;
  20611. if (s[i] !== "0") {
  20612. return s;
  20613. }
  20614. do {
  20615. i--;
  20616. } while (s[i] === "0");
  20617. return s.substring(0, s[i] === "." ? i : i + 1);
  20618. };
  20619. var pm = function pm(m) {
  20620. if (m[4] === 0 && m[5] === 0) {
  20621. if (m[1] === 0 && m[2] === 0) {
  20622. if (m[0] === 1 && m[3] === 1) {
  20623. return "";
  20624. }
  20625. return "scale(".concat(pf(m[0]), " ").concat(pf(m[3]), ")");
  20626. }
  20627. if (m[0] === m[3] && m[1] === -m[2]) {
  20628. var a = Math.acos(m[0]) * 180 / Math.PI;
  20629. return "rotate(".concat(pf(a), ")");
  20630. }
  20631. } else {
  20632. if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {
  20633. return "translate(".concat(pf(m[4]), " ").concat(pf(m[5]), ")");
  20634. }
  20635. }
  20636. return "matrix(".concat(pf(m[0]), " ").concat(pf(m[1]), " ").concat(pf(m[2]), " ").concat(pf(m[3]), " ").concat(pf(m[4]), " ") + "".concat(pf(m[5]), ")");
  20637. };
  20638. var SVG_DEFAULTS = {
  20639. fontStyle: "normal",
  20640. fontWeight: "normal",
  20641. fillColor: "#000000"
  20642. };
  20643. var XML_NS = "http://www.w3.org/XML/1998/namespace";
  20644. var XLINK_NS = "http://www.w3.org/1999/xlink";
  20645. var LINE_CAP_STYLES = ["butt", "round", "square"];
  20646. var LINE_JOIN_STYLES = ["miter", "round", "bevel"];
  20647. var convertImgDataToPng = function () {
  20648. var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
  20649. var CHUNK_WRAPPER_SIZE = 12;
  20650. var crcTable = new Int32Array(256);
  20651. for (var i = 0; i < 256; i++) {
  20652. var c = i;
  20653. for (var h = 0; h < 8; h++) {
  20654. if (c & 1) {
  20655. c = 0xedb88320 ^ c >> 1 & 0x7fffffff;
  20656. } else {
  20657. c = c >> 1 & 0x7fffffff;
  20658. }
  20659. }
  20660. crcTable[i] = c;
  20661. }
  20662. function crc32(data, start, end) {
  20663. var crc = -1;
  20664. for (var _i = start; _i < end; _i++) {
  20665. var a = (crc ^ data[_i]) & 0xff;
  20666. var b = crcTable[a];
  20667. crc = crc >>> 8 ^ b;
  20668. }
  20669. return crc ^ -1;
  20670. }
  20671. function writePngChunk(type, body, data, offset) {
  20672. var p = offset;
  20673. var len = body.length;
  20674. data[p] = len >> 24 & 0xff;
  20675. data[p + 1] = len >> 16 & 0xff;
  20676. data[p + 2] = len >> 8 & 0xff;
  20677. data[p + 3] = len & 0xff;
  20678. p += 4;
  20679. data[p] = type.charCodeAt(0) & 0xff;
  20680. data[p + 1] = type.charCodeAt(1) & 0xff;
  20681. data[p + 2] = type.charCodeAt(2) & 0xff;
  20682. data[p + 3] = type.charCodeAt(3) & 0xff;
  20683. p += 4;
  20684. data.set(body, p);
  20685. p += body.length;
  20686. var crc = crc32(data, offset + 4, p);
  20687. data[p] = crc >> 24 & 0xff;
  20688. data[p + 1] = crc >> 16 & 0xff;
  20689. data[p + 2] = crc >> 8 & 0xff;
  20690. data[p + 3] = crc & 0xff;
  20691. }
  20692. function adler32(data, start, end) {
  20693. var a = 1;
  20694. var b = 0;
  20695. for (var _i2 = start; _i2 < end; ++_i2) {
  20696. a = (a + (data[_i2] & 0xff)) % 65521;
  20697. b = (b + a) % 65521;
  20698. }
  20699. return b << 16 | a;
  20700. }
  20701. function deflateSync(literals) {
  20702. if (!_is_node.isNodeJS) {
  20703. return deflateSyncUncompressed(literals);
  20704. }
  20705. try {
  20706. var input;
  20707. if (parseInt(process.versions.node) >= 8) {
  20708. input = literals;
  20709. } else {
  20710. input = Buffer.from(literals);
  20711. }
  20712. var output = require("zlib").deflateSync(input, {
  20713. level: 9
  20714. });
  20715. return output instanceof Uint8Array ? output : new Uint8Array(output);
  20716. } catch (e) {
  20717. (0, _util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: " + e);
  20718. }
  20719. return deflateSyncUncompressed(literals);
  20720. }
  20721. function deflateSyncUncompressed(literals) {
  20722. var len = literals.length;
  20723. var maxBlockLength = 0xffff;
  20724. var deflateBlocks = Math.ceil(len / maxBlockLength);
  20725. var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);
  20726. var pi = 0;
  20727. idat[pi++] = 0x78;
  20728. idat[pi++] = 0x9c;
  20729. var pos = 0;
  20730. while (len > maxBlockLength) {
  20731. idat[pi++] = 0x00;
  20732. idat[pi++] = 0xff;
  20733. idat[pi++] = 0xff;
  20734. idat[pi++] = 0x00;
  20735. idat[pi++] = 0x00;
  20736. idat.set(literals.subarray(pos, pos + maxBlockLength), pi);
  20737. pi += maxBlockLength;
  20738. pos += maxBlockLength;
  20739. len -= maxBlockLength;
  20740. }
  20741. idat[pi++] = 0x01;
  20742. idat[pi++] = len & 0xff;
  20743. idat[pi++] = len >> 8 & 0xff;
  20744. idat[pi++] = ~len & 0xffff & 0xff;
  20745. idat[pi++] = (~len & 0xffff) >> 8 & 0xff;
  20746. idat.set(literals.subarray(pos), pi);
  20747. pi += literals.length - pos;
  20748. var adler = adler32(literals, 0, literals.length);
  20749. idat[pi++] = adler >> 24 & 0xff;
  20750. idat[pi++] = adler >> 16 & 0xff;
  20751. idat[pi++] = adler >> 8 & 0xff;
  20752. idat[pi++] = adler & 0xff;
  20753. return idat;
  20754. }
  20755. function encode(imgData, kind, forceDataSchema, isMask) {
  20756. var width = imgData.width;
  20757. var height = imgData.height;
  20758. var bitDepth, colorType, lineSize;
  20759. var bytes = imgData.data;
  20760. switch (kind) {
  20761. case _util.ImageKind.GRAYSCALE_1BPP:
  20762. colorType = 0;
  20763. bitDepth = 1;
  20764. lineSize = width + 7 >> 3;
  20765. break;
  20766. case _util.ImageKind.RGB_24BPP:
  20767. colorType = 2;
  20768. bitDepth = 8;
  20769. lineSize = width * 3;
  20770. break;
  20771. case _util.ImageKind.RGBA_32BPP:
  20772. colorType = 6;
  20773. bitDepth = 8;
  20774. lineSize = width * 4;
  20775. break;
  20776. default:
  20777. throw new Error("invalid format");
  20778. }
  20779. var literals = new Uint8Array((1 + lineSize) * height);
  20780. var offsetLiterals = 0,
  20781. offsetBytes = 0;
  20782. for (var y = 0; y < height; ++y) {
  20783. literals[offsetLiterals++] = 0;
  20784. literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);
  20785. offsetBytes += lineSize;
  20786. offsetLiterals += lineSize;
  20787. }
  20788. if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {
  20789. offsetLiterals = 0;
  20790. for (var _y = 0; _y < height; _y++) {
  20791. offsetLiterals++;
  20792. for (var _i3 = 0; _i3 < lineSize; _i3++) {
  20793. literals[offsetLiterals++] ^= 0xff;
  20794. }
  20795. }
  20796. }
  20797. var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);
  20798. var idat = deflateSync(literals);
  20799. var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;
  20800. var data = new Uint8Array(pngLength);
  20801. var offset = 0;
  20802. data.set(PNG_HEADER, offset);
  20803. offset += PNG_HEADER.length;
  20804. writePngChunk("IHDR", ihdr, data, offset);
  20805. offset += CHUNK_WRAPPER_SIZE + ihdr.length;
  20806. writePngChunk("IDATA", idat, data, offset);
  20807. offset += CHUNK_WRAPPER_SIZE + idat.length;
  20808. writePngChunk("IEND", new Uint8Array(0), data, offset);
  20809. return (0, _util.createObjectURL)(data, "image/png", forceDataSchema);
  20810. }
  20811. return function convertImgDataToPng(imgData, forceDataSchema, isMask) {
  20812. var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;
  20813. return encode(imgData, kind, forceDataSchema, isMask);
  20814. };
  20815. }();
  20816. var SVGExtraState = /*#__PURE__*/function () {
  20817. function SVGExtraState() {
  20818. _classCallCheck(this, SVGExtraState);
  20819. this.fontSizeScale = 1;
  20820. this.fontWeight = SVG_DEFAULTS.fontWeight;
  20821. this.fontSize = 0;
  20822. this.textMatrix = _util.IDENTITY_MATRIX;
  20823. this.fontMatrix = _util.FONT_IDENTITY_MATRIX;
  20824. this.leading = 0;
  20825. this.textRenderingMode = _util.TextRenderingMode.FILL;
  20826. this.textMatrixScale = 1;
  20827. this.x = 0;
  20828. this.y = 0;
  20829. this.lineX = 0;
  20830. this.lineY = 0;
  20831. this.charSpacing = 0;
  20832. this.wordSpacing = 0;
  20833. this.textHScale = 1;
  20834. this.textRise = 0;
  20835. this.fillColor = SVG_DEFAULTS.fillColor;
  20836. this.strokeColor = "#000000";
  20837. this.fillAlpha = 1;
  20838. this.strokeAlpha = 1;
  20839. this.lineWidth = 1;
  20840. this.lineJoin = "";
  20841. this.lineCap = "";
  20842. this.miterLimit = 0;
  20843. this.dashArray = [];
  20844. this.dashPhase = 0;
  20845. this.dependencies = [];
  20846. this.activeClipUrl = null;
  20847. this.clipGroup = null;
  20848. this.maskId = "";
  20849. }
  20850. _createClass(SVGExtraState, [{
  20851. key: "clone",
  20852. value: function clone() {
  20853. return Object.create(this);
  20854. }
  20855. }, {
  20856. key: "setCurrentPoint",
  20857. value: function setCurrentPoint(x, y) {
  20858. this.x = x;
  20859. this.y = y;
  20860. }
  20861. }]);
  20862. return SVGExtraState;
  20863. }();
  20864. var clipCount = 0;
  20865. var maskCount = 0;
  20866. var shadingCount = 0;
  20867. exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () {
  20868. function SVGGraphics(commonObjs, objs) {
  20869. var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  20870. _classCallCheck(this, SVGGraphics);
  20871. this.svgFactory = new _display_utils.DOMSVGFactory();
  20872. this.current = new SVGExtraState();
  20873. this.transformMatrix = _util.IDENTITY_MATRIX;
  20874. this.transformStack = [];
  20875. this.extraStack = [];
  20876. this.commonObjs = commonObjs;
  20877. this.objs = objs;
  20878. this.pendingClip = null;
  20879. this.pendingEOFill = false;
  20880. this.embedFonts = false;
  20881. this.embeddedFonts = Object.create(null);
  20882. this.cssStyle = null;
  20883. this.forceDataSchema = !!forceDataSchema;
  20884. this._operatorIdMapping = [];
  20885. for (var op in _util.OPS) {
  20886. this._operatorIdMapping[_util.OPS[op]] = op;
  20887. }
  20888. }
  20889. _createClass(SVGGraphics, [{
  20890. key: "save",
  20891. value: function save() {
  20892. this.transformStack.push(this.transformMatrix);
  20893. var old = this.current;
  20894. this.extraStack.push(old);
  20895. this.current = old.clone();
  20896. }
  20897. }, {
  20898. key: "restore",
  20899. value: function restore() {
  20900. this.transformMatrix = this.transformStack.pop();
  20901. this.current = this.extraStack.pop();
  20902. this.pendingClip = null;
  20903. this.tgrp = null;
  20904. }
  20905. }, {
  20906. key: "group",
  20907. value: function group(items) {
  20908. this.save();
  20909. this.executeOpTree(items);
  20910. this.restore();
  20911. }
  20912. }, {
  20913. key: "loadDependencies",
  20914. value: function loadDependencies(operatorList) {
  20915. var _this = this;
  20916. var fnArray = operatorList.fnArray;
  20917. var argsArray = operatorList.argsArray;
  20918. for (var i = 0, ii = fnArray.length; i < ii; i++) {
  20919. if (fnArray[i] !== _util.OPS.dependency) {
  20920. continue;
  20921. }
  20922. var _iterator2 = _createForOfIteratorHelper(argsArray[i]),
  20923. _step2;
  20924. try {
  20925. var _loop = function _loop() {
  20926. var obj = _step2.value;
  20927. var objsPool = obj.startsWith("g_") ? _this.commonObjs : _this.objs;
  20928. var promise = new Promise(function (resolve) {
  20929. objsPool.get(obj, resolve);
  20930. });
  20931. _this.current.dependencies.push(promise);
  20932. };
  20933. for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
  20934. _loop();
  20935. }
  20936. } catch (err) {
  20937. _iterator2.e(err);
  20938. } finally {
  20939. _iterator2.f();
  20940. }
  20941. }
  20942. return Promise.all(this.current.dependencies);
  20943. }
  20944. }, {
  20945. key: "transform",
  20946. value: function transform(a, b, c, d, e, f) {
  20947. var transformMatrix = [a, b, c, d, e, f];
  20948. this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);
  20949. this.tgrp = null;
  20950. }
  20951. }, {
  20952. key: "getSVG",
  20953. value: function getSVG(operatorList, viewport) {
  20954. var _this2 = this;
  20955. this.viewport = viewport;
  20956. var svgElement = this._initialize(viewport);
  20957. return this.loadDependencies(operatorList).then(function () {
  20958. _this2.transformMatrix = _util.IDENTITY_MATRIX;
  20959. _this2.executeOpTree(_this2.convertOpList(operatorList));
  20960. return svgElement;
  20961. });
  20962. }
  20963. }, {
  20964. key: "convertOpList",
  20965. value: function convertOpList(operatorList) {
  20966. var operatorIdMapping = this._operatorIdMapping;
  20967. var argsArray = operatorList.argsArray;
  20968. var fnArray = operatorList.fnArray;
  20969. var opList = [];
  20970. for (var i = 0, ii = fnArray.length; i < ii; i++) {
  20971. var fnId = fnArray[i];
  20972. opList.push({
  20973. fnId: fnId,
  20974. fn: operatorIdMapping[fnId],
  20975. args: argsArray[i]
  20976. });
  20977. }
  20978. return opListToTree(opList);
  20979. }
  20980. }, {
  20981. key: "executeOpTree",
  20982. value: function executeOpTree(opTree) {
  20983. var _iterator3 = _createForOfIteratorHelper(opTree),
  20984. _step3;
  20985. try {
  20986. for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
  20987. var opTreeElement = _step3.value;
  20988. var fn = opTreeElement.fn;
  20989. var fnId = opTreeElement.fnId;
  20990. var args = opTreeElement.args;
  20991. switch (fnId | 0) {
  20992. case _util.OPS.beginText:
  20993. this.beginText();
  20994. break;
  20995. case _util.OPS.dependency:
  20996. break;
  20997. case _util.OPS.setLeading:
  20998. this.setLeading(args);
  20999. break;
  21000. case _util.OPS.setLeadingMoveText:
  21001. this.setLeadingMoveText(args[0], args[1]);
  21002. break;
  21003. case _util.OPS.setFont:
  21004. this.setFont(args);
  21005. break;
  21006. case _util.OPS.showText:
  21007. this.showText(args[0]);
  21008. break;
  21009. case _util.OPS.showSpacedText:
  21010. this.showText(args[0]);
  21011. break;
  21012. case _util.OPS.endText:
  21013. this.endText();
  21014. break;
  21015. case _util.OPS.moveText:
  21016. this.moveText(args[0], args[1]);
  21017. break;
  21018. case _util.OPS.setCharSpacing:
  21019. this.setCharSpacing(args[0]);
  21020. break;
  21021. case _util.OPS.setWordSpacing:
  21022. this.setWordSpacing(args[0]);
  21023. break;
  21024. case _util.OPS.setHScale:
  21025. this.setHScale(args[0]);
  21026. break;
  21027. case _util.OPS.setTextMatrix:
  21028. this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
  21029. break;
  21030. case _util.OPS.setTextRise:
  21031. this.setTextRise(args[0]);
  21032. break;
  21033. case _util.OPS.setTextRenderingMode:
  21034. this.setTextRenderingMode(args[0]);
  21035. break;
  21036. case _util.OPS.setLineWidth:
  21037. this.setLineWidth(args[0]);
  21038. break;
  21039. case _util.OPS.setLineJoin:
  21040. this.setLineJoin(args[0]);
  21041. break;
  21042. case _util.OPS.setLineCap:
  21043. this.setLineCap(args[0]);
  21044. break;
  21045. case _util.OPS.setMiterLimit:
  21046. this.setMiterLimit(args[0]);
  21047. break;
  21048. case _util.OPS.setFillRGBColor:
  21049. this.setFillRGBColor(args[0], args[1], args[2]);
  21050. break;
  21051. case _util.OPS.setStrokeRGBColor:
  21052. this.setStrokeRGBColor(args[0], args[1], args[2]);
  21053. break;
  21054. case _util.OPS.setStrokeColorN:
  21055. this.setStrokeColorN(args);
  21056. break;
  21057. case _util.OPS.setFillColorN:
  21058. this.setFillColorN(args);
  21059. break;
  21060. case _util.OPS.shadingFill:
  21061. this.shadingFill(args[0]);
  21062. break;
  21063. case _util.OPS.setDash:
  21064. this.setDash(args[0], args[1]);
  21065. break;
  21066. case _util.OPS.setRenderingIntent:
  21067. this.setRenderingIntent(args[0]);
  21068. break;
  21069. case _util.OPS.setFlatness:
  21070. this.setFlatness(args[0]);
  21071. break;
  21072. case _util.OPS.setGState:
  21073. this.setGState(args[0]);
  21074. break;
  21075. case _util.OPS.fill:
  21076. this.fill();
  21077. break;
  21078. case _util.OPS.eoFill:
  21079. this.eoFill();
  21080. break;
  21081. case _util.OPS.stroke:
  21082. this.stroke();
  21083. break;
  21084. case _util.OPS.fillStroke:
  21085. this.fillStroke();
  21086. break;
  21087. case _util.OPS.eoFillStroke:
  21088. this.eoFillStroke();
  21089. break;
  21090. case _util.OPS.clip:
  21091. this.clip("nonzero");
  21092. break;
  21093. case _util.OPS.eoClip:
  21094. this.clip("evenodd");
  21095. break;
  21096. case _util.OPS.paintSolidColorImageMask:
  21097. this.paintSolidColorImageMask();
  21098. break;
  21099. case _util.OPS.paintImageXObject:
  21100. this.paintImageXObject(args[0]);
  21101. break;
  21102. case _util.OPS.paintInlineImageXObject:
  21103. this.paintInlineImageXObject(args[0]);
  21104. break;
  21105. case _util.OPS.paintImageMaskXObject:
  21106. this.paintImageMaskXObject(args[0]);
  21107. break;
  21108. case _util.OPS.paintFormXObjectBegin:
  21109. this.paintFormXObjectBegin(args[0], args[1]);
  21110. break;
  21111. case _util.OPS.paintFormXObjectEnd:
  21112. this.paintFormXObjectEnd();
  21113. break;
  21114. case _util.OPS.closePath:
  21115. this.closePath();
  21116. break;
  21117. case _util.OPS.closeStroke:
  21118. this.closeStroke();
  21119. break;
  21120. case _util.OPS.closeFillStroke:
  21121. this.closeFillStroke();
  21122. break;
  21123. case _util.OPS.closeEOFillStroke:
  21124. this.closeEOFillStroke();
  21125. break;
  21126. case _util.OPS.nextLine:
  21127. this.nextLine();
  21128. break;
  21129. case _util.OPS.transform:
  21130. this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);
  21131. break;
  21132. case _util.OPS.constructPath:
  21133. this.constructPath(args[0], args[1]);
  21134. break;
  21135. case _util.OPS.endPath:
  21136. this.endPath();
  21137. break;
  21138. case 92:
  21139. this.group(opTreeElement.items);
  21140. break;
  21141. default:
  21142. (0, _util.warn)("Unimplemented operator ".concat(fn));
  21143. break;
  21144. }
  21145. }
  21146. } catch (err) {
  21147. _iterator3.e(err);
  21148. } finally {
  21149. _iterator3.f();
  21150. }
  21151. }
  21152. }, {
  21153. key: "setWordSpacing",
  21154. value: function setWordSpacing(wordSpacing) {
  21155. this.current.wordSpacing = wordSpacing;
  21156. }
  21157. }, {
  21158. key: "setCharSpacing",
  21159. value: function setCharSpacing(charSpacing) {
  21160. this.current.charSpacing = charSpacing;
  21161. }
  21162. }, {
  21163. key: "nextLine",
  21164. value: function nextLine() {
  21165. this.moveText(0, this.current.leading);
  21166. }
  21167. }, {
  21168. key: "setTextMatrix",
  21169. value: function setTextMatrix(a, b, c, d, e, f) {
  21170. var current = this.current;
  21171. current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];
  21172. current.textMatrixScale = Math.hypot(a, b);
  21173. current.x = current.lineX = 0;
  21174. current.y = current.lineY = 0;
  21175. current.xcoords = [];
  21176. current.ycoords = [];
  21177. current.tspan = this.svgFactory.createElement("svg:tspan");
  21178. current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
  21179. current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px"));
  21180. current.tspan.setAttributeNS(null, "y", pf(-current.y));
  21181. current.txtElement = this.svgFactory.createElement("svg:text");
  21182. current.txtElement.appendChild(current.tspan);
  21183. }
  21184. }, {
  21185. key: "beginText",
  21186. value: function beginText() {
  21187. var current = this.current;
  21188. current.x = current.lineX = 0;
  21189. current.y = current.lineY = 0;
  21190. current.textMatrix = _util.IDENTITY_MATRIX;
  21191. current.lineMatrix = _util.IDENTITY_MATRIX;
  21192. current.textMatrixScale = 1;
  21193. current.tspan = this.svgFactory.createElement("svg:tspan");
  21194. current.txtElement = this.svgFactory.createElement("svg:text");
  21195. current.txtgrp = this.svgFactory.createElement("svg:g");
  21196. current.xcoords = [];
  21197. current.ycoords = [];
  21198. }
  21199. }, {
  21200. key: "moveText",
  21201. value: function moveText(x, y) {
  21202. var current = this.current;
  21203. current.x = current.lineX += x;
  21204. current.y = current.lineY += y;
  21205. current.xcoords = [];
  21206. current.ycoords = [];
  21207. current.tspan = this.svgFactory.createElement("svg:tspan");
  21208. current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
  21209. current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px"));
  21210. current.tspan.setAttributeNS(null, "y", pf(-current.y));
  21211. }
  21212. }, {
  21213. key: "showText",
  21214. value: function showText(glyphs) {
  21215. var current = this.current;
  21216. var font = current.font;
  21217. var fontSize = current.fontSize;
  21218. if (fontSize === 0) {
  21219. return;
  21220. }
  21221. var fontSizeScale = current.fontSizeScale;
  21222. var charSpacing = current.charSpacing;
  21223. var wordSpacing = current.wordSpacing;
  21224. var fontDirection = current.fontDirection;
  21225. var textHScale = current.textHScale * fontDirection;
  21226. var vertical = font.vertical;
  21227. var spacingDir = vertical ? 1 : -1;
  21228. var defaultVMetrics = font.defaultVMetrics;
  21229. var widthAdvanceScale = fontSize * current.fontMatrix[0];
  21230. var x = 0;
  21231. var _iterator4 = _createForOfIteratorHelper(glyphs),
  21232. _step4;
  21233. try {
  21234. for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
  21235. var glyph = _step4.value;
  21236. if (glyph === null) {
  21237. x += fontDirection * wordSpacing;
  21238. continue;
  21239. } else if ((0, _util.isNum)(glyph)) {
  21240. x += spacingDir * glyph * fontSize / 1000;
  21241. continue;
  21242. }
  21243. var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
  21244. var character = glyph.fontChar;
  21245. var scaledX = void 0,
  21246. scaledY = void 0;
  21247. var width = glyph.width;
  21248. if (vertical) {
  21249. var vx = void 0;
  21250. var vmetric = glyph.vmetric || defaultVMetrics;
  21251. vx = glyph.vmetric ? vmetric[1] : width * 0.5;
  21252. vx = -vx * widthAdvanceScale;
  21253. var vy = vmetric[2] * widthAdvanceScale;
  21254. width = vmetric ? -vmetric[0] : width;
  21255. scaledX = vx / fontSizeScale;
  21256. scaledY = (x + vy) / fontSizeScale;
  21257. } else {
  21258. scaledX = x / fontSizeScale;
  21259. scaledY = 0;
  21260. }
  21261. if (glyph.isInFont || font.missingFile) {
  21262. current.xcoords.push(current.x + scaledX);
  21263. if (vertical) {
  21264. current.ycoords.push(-current.y + scaledY);
  21265. }
  21266. current.tspan.textContent += character;
  21267. } else {}
  21268. var charWidth = void 0;
  21269. if (vertical) {
  21270. charWidth = width * widthAdvanceScale - spacing * fontDirection;
  21271. } else {
  21272. charWidth = width * widthAdvanceScale + spacing * fontDirection;
  21273. }
  21274. x += charWidth;
  21275. }
  21276. } catch (err) {
  21277. _iterator4.e(err);
  21278. } finally {
  21279. _iterator4.f();
  21280. }
  21281. current.tspan.setAttributeNS(null, "x", current.xcoords.map(pf).join(" "));
  21282. if (vertical) {
  21283. current.tspan.setAttributeNS(null, "y", current.ycoords.map(pf).join(" "));
  21284. } else {
  21285. current.tspan.setAttributeNS(null, "y", pf(-current.y));
  21286. }
  21287. if (vertical) {
  21288. current.y -= x;
  21289. } else {
  21290. current.x += x * textHScale;
  21291. }
  21292. current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
  21293. current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px"));
  21294. if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {
  21295. current.tspan.setAttributeNS(null, "font-style", current.fontStyle);
  21296. }
  21297. if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {
  21298. current.tspan.setAttributeNS(null, "font-weight", current.fontWeight);
  21299. }
  21300. var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
  21301. if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
  21302. if (current.fillColor !== SVG_DEFAULTS.fillColor) {
  21303. current.tspan.setAttributeNS(null, "fill", current.fillColor);
  21304. }
  21305. if (current.fillAlpha < 1) {
  21306. current.tspan.setAttributeNS(null, "fill-opacity", current.fillAlpha);
  21307. }
  21308. } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {
  21309. current.tspan.setAttributeNS(null, "fill", "transparent");
  21310. } else {
  21311. current.tspan.setAttributeNS(null, "fill", "none");
  21312. }
  21313. if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
  21314. var lineWidthScale = 1 / (current.textMatrixScale || 1);
  21315. this._setStrokeAttributes(current.tspan, lineWidthScale);
  21316. }
  21317. var textMatrix = current.textMatrix;
  21318. if (current.textRise !== 0) {
  21319. textMatrix = textMatrix.slice();
  21320. textMatrix[5] += current.textRise;
  21321. }
  21322. current.txtElement.setAttributeNS(null, "transform", "".concat(pm(textMatrix), " scale(").concat(pf(textHScale), ", -1)"));
  21323. current.txtElement.setAttributeNS(XML_NS, "xml:space", "preserve");
  21324. current.txtElement.appendChild(current.tspan);
  21325. current.txtgrp.appendChild(current.txtElement);
  21326. this._ensureTransformGroup().appendChild(current.txtElement);
  21327. }
  21328. }, {
  21329. key: "setLeadingMoveText",
  21330. value: function setLeadingMoveText(x, y) {
  21331. this.setLeading(-y);
  21332. this.moveText(x, y);
  21333. }
  21334. }, {
  21335. key: "addFontStyle",
  21336. value: function addFontStyle(fontObj) {
  21337. if (!fontObj.data) {
  21338. throw new Error("addFontStyle: No font data available, " + 'ensure that the "fontExtraProperties" API parameter is set.');
  21339. }
  21340. if (!this.cssStyle) {
  21341. this.cssStyle = this.svgFactory.createElement("svg:style");
  21342. this.cssStyle.setAttributeNS(null, "type", "text/css");
  21343. this.defs.appendChild(this.cssStyle);
  21344. }
  21345. var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);
  21346. this.cssStyle.textContent += "@font-face { font-family: \"".concat(fontObj.loadedName, "\";") + " src: url(".concat(url, "); }\n");
  21347. }
  21348. }, {
  21349. key: "setFont",
  21350. value: function setFont(details) {
  21351. var current = this.current;
  21352. var fontObj = this.commonObjs.get(details[0]);
  21353. var size = details[1];
  21354. current.font = fontObj;
  21355. if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {
  21356. this.addFontStyle(fontObj);
  21357. this.embeddedFonts[fontObj.loadedName] = fontObj;
  21358. }
  21359. current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;
  21360. var bold = "normal";
  21361. if (fontObj.black) {
  21362. bold = "900";
  21363. } else if (fontObj.bold) {
  21364. bold = "bold";
  21365. }
  21366. var italic = fontObj.italic ? "italic" : "normal";
  21367. if (size < 0) {
  21368. size = -size;
  21369. current.fontDirection = -1;
  21370. } else {
  21371. current.fontDirection = 1;
  21372. }
  21373. current.fontSize = size;
  21374. current.fontFamily = fontObj.loadedName;
  21375. current.fontWeight = bold;
  21376. current.fontStyle = italic;
  21377. current.tspan = this.svgFactory.createElement("svg:tspan");
  21378. current.tspan.setAttributeNS(null, "y", pf(-current.y));
  21379. current.xcoords = [];
  21380. current.ycoords = [];
  21381. }
  21382. }, {
  21383. key: "endText",
  21384. value: function endText() {
  21385. var _current$txtElement;
  21386. var current = this.current;
  21387. if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && (_current$txtElement = current.txtElement) !== null && _current$txtElement !== void 0 && _current$txtElement.hasChildNodes()) {
  21388. current.element = current.txtElement;
  21389. this.clip("nonzero");
  21390. this.endPath();
  21391. }
  21392. }
  21393. }, {
  21394. key: "setLineWidth",
  21395. value: function setLineWidth(width) {
  21396. if (width > 0) {
  21397. this.current.lineWidth = width;
  21398. }
  21399. }
  21400. }, {
  21401. key: "setLineCap",
  21402. value: function setLineCap(style) {
  21403. this.current.lineCap = LINE_CAP_STYLES[style];
  21404. }
  21405. }, {
  21406. key: "setLineJoin",
  21407. value: function setLineJoin(style) {
  21408. this.current.lineJoin = LINE_JOIN_STYLES[style];
  21409. }
  21410. }, {
  21411. key: "setMiterLimit",
  21412. value: function setMiterLimit(limit) {
  21413. this.current.miterLimit = limit;
  21414. }
  21415. }, {
  21416. key: "setStrokeAlpha",
  21417. value: function setStrokeAlpha(strokeAlpha) {
  21418. this.current.strokeAlpha = strokeAlpha;
  21419. }
  21420. }, {
  21421. key: "setStrokeRGBColor",
  21422. value: function setStrokeRGBColor(r, g, b) {
  21423. this.current.strokeColor = _util.Util.makeHexColor(r, g, b);
  21424. }
  21425. }, {
  21426. key: "setFillAlpha",
  21427. value: function setFillAlpha(fillAlpha) {
  21428. this.current.fillAlpha = fillAlpha;
  21429. }
  21430. }, {
  21431. key: "setFillRGBColor",
  21432. value: function setFillRGBColor(r, g, b) {
  21433. this.current.fillColor = _util.Util.makeHexColor(r, g, b);
  21434. this.current.tspan = this.svgFactory.createElement("svg:tspan");
  21435. this.current.xcoords = [];
  21436. this.current.ycoords = [];
  21437. }
  21438. }, {
  21439. key: "setStrokeColorN",
  21440. value: function setStrokeColorN(args) {
  21441. this.current.strokeColor = this._makeColorN_Pattern(args);
  21442. }
  21443. }, {
  21444. key: "setFillColorN",
  21445. value: function setFillColorN(args) {
  21446. this.current.fillColor = this._makeColorN_Pattern(args);
  21447. }
  21448. }, {
  21449. key: "shadingFill",
  21450. value: function shadingFill(args) {
  21451. var width = this.viewport.width;
  21452. var height = this.viewport.height;
  21453. var inv = _util.Util.inverseTransform(this.transformMatrix);
  21454. var bl = _util.Util.applyTransform([0, 0], inv);
  21455. var br = _util.Util.applyTransform([0, height], inv);
  21456. var ul = _util.Util.applyTransform([width, 0], inv);
  21457. var ur = _util.Util.applyTransform([width, height], inv);
  21458. var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
  21459. var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
  21460. var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
  21461. var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
  21462. var rect = this.svgFactory.createElement("svg:rect");
  21463. rect.setAttributeNS(null, "x", x0);
  21464. rect.setAttributeNS(null, "y", y0);
  21465. rect.setAttributeNS(null, "width", x1 - x0);
  21466. rect.setAttributeNS(null, "height", y1 - y0);
  21467. rect.setAttributeNS(null, "fill", this._makeShadingPattern(args));
  21468. if (this.current.fillAlpha < 1) {
  21469. rect.setAttributeNS(null, "fill-opacity", this.current.fillAlpha);
  21470. }
  21471. this._ensureTransformGroup().appendChild(rect);
  21472. }
  21473. }, {
  21474. key: "_makeColorN_Pattern",
  21475. value: function _makeColorN_Pattern(args) {
  21476. if (args[0] === "TilingPattern") {
  21477. return this._makeTilingPattern(args);
  21478. }
  21479. return this._makeShadingPattern(args);
  21480. }
  21481. }, {
  21482. key: "_makeTilingPattern",
  21483. value: function _makeTilingPattern(args) {
  21484. var color = args[1];
  21485. var operatorList = args[2];
  21486. var matrix = args[3] || _util.IDENTITY_MATRIX;
  21487. var _args$ = _slicedToArray(args[4], 4),
  21488. x0 = _args$[0],
  21489. y0 = _args$[1],
  21490. x1 = _args$[2],
  21491. y1 = _args$[3];
  21492. var xstep = args[5];
  21493. var ystep = args[6];
  21494. var paintType = args[7];
  21495. var tilingId = "shading".concat(shadingCount++);
  21496. var _Util$normalizeRect = _util.Util.normalizeRect([].concat(_toConsumableArray(_util.Util.applyTransform([x0, y0], matrix)), _toConsumableArray(_util.Util.applyTransform([x1, y1], matrix)))),
  21497. _Util$normalizeRect2 = _slicedToArray(_Util$normalizeRect, 4),
  21498. tx0 = _Util$normalizeRect2[0],
  21499. ty0 = _Util$normalizeRect2[1],
  21500. tx1 = _Util$normalizeRect2[2],
  21501. ty1 = _Util$normalizeRect2[3];
  21502. var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),
  21503. _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),
  21504. xscale = _Util$singularValueDe2[0],
  21505. yscale = _Util$singularValueDe2[1];
  21506. var txstep = xstep * xscale;
  21507. var tystep = ystep * yscale;
  21508. var tiling = this.svgFactory.createElement("svg:pattern");
  21509. tiling.setAttributeNS(null, "id", tilingId);
  21510. tiling.setAttributeNS(null, "patternUnits", "userSpaceOnUse");
  21511. tiling.setAttributeNS(null, "width", txstep);
  21512. tiling.setAttributeNS(null, "height", tystep);
  21513. tiling.setAttributeNS(null, "x", "".concat(tx0));
  21514. tiling.setAttributeNS(null, "y", "".concat(ty0));
  21515. var svg = this.svg;
  21516. var transformMatrix = this.transformMatrix;
  21517. var fillColor = this.current.fillColor;
  21518. var strokeColor = this.current.strokeColor;
  21519. var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);
  21520. this.svg = bbox;
  21521. this.transformMatrix = matrix;
  21522. if (paintType === 2) {
  21523. var cssColor = _util.Util.makeHexColor.apply(_util.Util, _toConsumableArray(color));
  21524. this.current.fillColor = cssColor;
  21525. this.current.strokeColor = cssColor;
  21526. }
  21527. this.executeOpTree(this.convertOpList(operatorList));
  21528. this.svg = svg;
  21529. this.transformMatrix = transformMatrix;
  21530. this.current.fillColor = fillColor;
  21531. this.current.strokeColor = strokeColor;
  21532. tiling.appendChild(bbox.childNodes[0]);
  21533. this.defs.appendChild(tiling);
  21534. return "url(#".concat(tilingId, ")");
  21535. }
  21536. }, {
  21537. key: "_makeShadingPattern",
  21538. value: function _makeShadingPattern(args) {
  21539. if (typeof args === "string") {
  21540. args = this.objs.get(args);
  21541. }
  21542. switch (args[0]) {
  21543. case "RadialAxial":
  21544. var shadingId = "shading".concat(shadingCount++);
  21545. var colorStops = args[3];
  21546. var gradient;
  21547. switch (args[1]) {
  21548. case "axial":
  21549. var point0 = args[4];
  21550. var point1 = args[5];
  21551. gradient = this.svgFactory.createElement("svg:linearGradient");
  21552. gradient.setAttributeNS(null, "id", shadingId);
  21553. gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
  21554. gradient.setAttributeNS(null, "x1", point0[0]);
  21555. gradient.setAttributeNS(null, "y1", point0[1]);
  21556. gradient.setAttributeNS(null, "x2", point1[0]);
  21557. gradient.setAttributeNS(null, "y2", point1[1]);
  21558. break;
  21559. case "radial":
  21560. var focalPoint = args[4];
  21561. var circlePoint = args[5];
  21562. var focalRadius = args[6];
  21563. var circleRadius = args[7];
  21564. gradient = this.svgFactory.createElement("svg:radialGradient");
  21565. gradient.setAttributeNS(null, "id", shadingId);
  21566. gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
  21567. gradient.setAttributeNS(null, "cx", circlePoint[0]);
  21568. gradient.setAttributeNS(null, "cy", circlePoint[1]);
  21569. gradient.setAttributeNS(null, "r", circleRadius);
  21570. gradient.setAttributeNS(null, "fx", focalPoint[0]);
  21571. gradient.setAttributeNS(null, "fy", focalPoint[1]);
  21572. gradient.setAttributeNS(null, "fr", focalRadius);
  21573. break;
  21574. default:
  21575. throw new Error("Unknown RadialAxial type: ".concat(args[1]));
  21576. }
  21577. var _iterator5 = _createForOfIteratorHelper(colorStops),
  21578. _step5;
  21579. try {
  21580. for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
  21581. var colorStop = _step5.value;
  21582. var stop = this.svgFactory.createElement("svg:stop");
  21583. stop.setAttributeNS(null, "offset", colorStop[0]);
  21584. stop.setAttributeNS(null, "stop-color", colorStop[1]);
  21585. gradient.appendChild(stop);
  21586. }
  21587. } catch (err) {
  21588. _iterator5.e(err);
  21589. } finally {
  21590. _iterator5.f();
  21591. }
  21592. this.defs.appendChild(gradient);
  21593. return "url(#".concat(shadingId, ")");
  21594. case "Mesh":
  21595. (0, _util.warn)("Unimplemented pattern Mesh");
  21596. return null;
  21597. case "Dummy":
  21598. return "hotpink";
  21599. default:
  21600. throw new Error("Unknown IR type: ".concat(args[0]));
  21601. }
  21602. }
  21603. }, {
  21604. key: "setDash",
  21605. value: function setDash(dashArray, dashPhase) {
  21606. this.current.dashArray = dashArray;
  21607. this.current.dashPhase = dashPhase;
  21608. }
  21609. }, {
  21610. key: "constructPath",
  21611. value: function constructPath(ops, args) {
  21612. var current = this.current;
  21613. var x = current.x,
  21614. y = current.y;
  21615. var d = [];
  21616. var j = 0;
  21617. var _iterator6 = _createForOfIteratorHelper(ops),
  21618. _step6;
  21619. try {
  21620. for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
  21621. var op = _step6.value;
  21622. switch (op | 0) {
  21623. case _util.OPS.rectangle:
  21624. x = args[j++];
  21625. y = args[j++];
  21626. var width = args[j++];
  21627. var height = args[j++];
  21628. var xw = x + width;
  21629. var yh = y + height;
  21630. d.push("M", pf(x), pf(y), "L", pf(xw), pf(y), "L", pf(xw), pf(yh), "L", pf(x), pf(yh), "Z");
  21631. break;
  21632. case _util.OPS.moveTo:
  21633. x = args[j++];
  21634. y = args[j++];
  21635. d.push("M", pf(x), pf(y));
  21636. break;
  21637. case _util.OPS.lineTo:
  21638. x = args[j++];
  21639. y = args[j++];
  21640. d.push("L", pf(x), pf(y));
  21641. break;
  21642. case _util.OPS.curveTo:
  21643. x = args[j + 4];
  21644. y = args[j + 5];
  21645. d.push("C", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));
  21646. j += 6;
  21647. break;
  21648. case _util.OPS.curveTo2:
  21649. d.push("C", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));
  21650. x = args[j + 2];
  21651. y = args[j + 3];
  21652. j += 4;
  21653. break;
  21654. case _util.OPS.curveTo3:
  21655. x = args[j + 2];
  21656. y = args[j + 3];
  21657. d.push("C", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));
  21658. j += 4;
  21659. break;
  21660. case _util.OPS.closePath:
  21661. d.push("Z");
  21662. break;
  21663. }
  21664. }
  21665. } catch (err) {
  21666. _iterator6.e(err);
  21667. } finally {
  21668. _iterator6.f();
  21669. }
  21670. d = d.join(" ");
  21671. if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {
  21672. d = current.path.getAttributeNS(null, "d") + d;
  21673. } else {
  21674. current.path = this.svgFactory.createElement("svg:path");
  21675. this._ensureTransformGroup().appendChild(current.path);
  21676. }
  21677. current.path.setAttributeNS(null, "d", d);
  21678. current.path.setAttributeNS(null, "fill", "none");
  21679. current.element = current.path;
  21680. current.setCurrentPoint(x, y);
  21681. }
  21682. }, {
  21683. key: "endPath",
  21684. value: function endPath() {
  21685. var current = this.current;
  21686. current.path = null;
  21687. if (!this.pendingClip) {
  21688. return;
  21689. }
  21690. if (!current.element) {
  21691. this.pendingClip = null;
  21692. return;
  21693. }
  21694. var clipId = "clippath".concat(clipCount++);
  21695. var clipPath = this.svgFactory.createElement("svg:clipPath");
  21696. clipPath.setAttributeNS(null, "id", clipId);
  21697. clipPath.setAttributeNS(null, "transform", pm(this.transformMatrix));
  21698. var clipElement = current.element.cloneNode(true);
  21699. if (this.pendingClip === "evenodd") {
  21700. clipElement.setAttributeNS(null, "clip-rule", "evenodd");
  21701. } else {
  21702. clipElement.setAttributeNS(null, "clip-rule", "nonzero");
  21703. }
  21704. this.pendingClip = null;
  21705. clipPath.appendChild(clipElement);
  21706. this.defs.appendChild(clipPath);
  21707. if (current.activeClipUrl) {
  21708. current.clipGroup = null;
  21709. var _iterator7 = _createForOfIteratorHelper(this.extraStack),
  21710. _step7;
  21711. try {
  21712. for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
  21713. var prev = _step7.value;
  21714. prev.clipGroup = null;
  21715. }
  21716. } catch (err) {
  21717. _iterator7.e(err);
  21718. } finally {
  21719. _iterator7.f();
  21720. }
  21721. clipPath.setAttributeNS(null, "clip-path", current.activeClipUrl);
  21722. }
  21723. current.activeClipUrl = "url(#".concat(clipId, ")");
  21724. this.tgrp = null;
  21725. }
  21726. }, {
  21727. key: "clip",
  21728. value: function clip(type) {
  21729. this.pendingClip = type;
  21730. }
  21731. }, {
  21732. key: "closePath",
  21733. value: function closePath() {
  21734. var current = this.current;
  21735. if (current.path) {
  21736. var d = "".concat(current.path.getAttributeNS(null, "d"), "Z");
  21737. current.path.setAttributeNS(null, "d", d);
  21738. }
  21739. }
  21740. }, {
  21741. key: "setLeading",
  21742. value: function setLeading(leading) {
  21743. this.current.leading = -leading;
  21744. }
  21745. }, {
  21746. key: "setTextRise",
  21747. value: function setTextRise(textRise) {
  21748. this.current.textRise = textRise;
  21749. }
  21750. }, {
  21751. key: "setTextRenderingMode",
  21752. value: function setTextRenderingMode(textRenderingMode) {
  21753. this.current.textRenderingMode = textRenderingMode;
  21754. }
  21755. }, {
  21756. key: "setHScale",
  21757. value: function setHScale(scale) {
  21758. this.current.textHScale = scale / 100;
  21759. }
  21760. }, {
  21761. key: "setRenderingIntent",
  21762. value: function setRenderingIntent(intent) {}
  21763. }, {
  21764. key: "setFlatness",
  21765. value: function setFlatness(flatness) {}
  21766. }, {
  21767. key: "setGState",
  21768. value: function setGState(states) {
  21769. var _iterator8 = _createForOfIteratorHelper(states),
  21770. _step8;
  21771. try {
  21772. for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
  21773. var _step8$value = _slicedToArray(_step8.value, 2),
  21774. key = _step8$value[0],
  21775. value = _step8$value[1];
  21776. switch (key) {
  21777. case "LW":
  21778. this.setLineWidth(value);
  21779. break;
  21780. case "LC":
  21781. this.setLineCap(value);
  21782. break;
  21783. case "LJ":
  21784. this.setLineJoin(value);
  21785. break;
  21786. case "ML":
  21787. this.setMiterLimit(value);
  21788. break;
  21789. case "D":
  21790. this.setDash(value[0], value[1]);
  21791. break;
  21792. case "RI":
  21793. this.setRenderingIntent(value);
  21794. break;
  21795. case "FL":
  21796. this.setFlatness(value);
  21797. break;
  21798. case "Font":
  21799. this.setFont(value);
  21800. break;
  21801. case "CA":
  21802. this.setStrokeAlpha(value);
  21803. break;
  21804. case "ca":
  21805. this.setFillAlpha(value);
  21806. break;
  21807. default:
  21808. (0, _util.warn)("Unimplemented graphic state operator ".concat(key));
  21809. break;
  21810. }
  21811. }
  21812. } catch (err) {
  21813. _iterator8.e(err);
  21814. } finally {
  21815. _iterator8.f();
  21816. }
  21817. }
  21818. }, {
  21819. key: "fill",
  21820. value: function fill() {
  21821. var current = this.current;
  21822. if (current.element) {
  21823. current.element.setAttributeNS(null, "fill", current.fillColor);
  21824. current.element.setAttributeNS(null, "fill-opacity", current.fillAlpha);
  21825. this.endPath();
  21826. }
  21827. }
  21828. }, {
  21829. key: "stroke",
  21830. value: function stroke() {
  21831. var current = this.current;
  21832. if (current.element) {
  21833. this._setStrokeAttributes(current.element);
  21834. current.element.setAttributeNS(null, "fill", "none");
  21835. this.endPath();
  21836. }
  21837. }
  21838. }, {
  21839. key: "_setStrokeAttributes",
  21840. value: function _setStrokeAttributes(element) {
  21841. var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
  21842. var current = this.current;
  21843. var dashArray = current.dashArray;
  21844. if (lineWidthScale !== 1 && dashArray.length > 0) {
  21845. dashArray = dashArray.map(function (value) {
  21846. return lineWidthScale * value;
  21847. });
  21848. }
  21849. element.setAttributeNS(null, "stroke", current.strokeColor);
  21850. element.setAttributeNS(null, "stroke-opacity", current.strokeAlpha);
  21851. element.setAttributeNS(null, "stroke-miterlimit", pf(current.miterLimit));
  21852. element.setAttributeNS(null, "stroke-linecap", current.lineCap);
  21853. element.setAttributeNS(null, "stroke-linejoin", current.lineJoin);
  21854. element.setAttributeNS(null, "stroke-width", pf(lineWidthScale * current.lineWidth) + "px");
  21855. element.setAttributeNS(null, "stroke-dasharray", dashArray.map(pf).join(" "));
  21856. element.setAttributeNS(null, "stroke-dashoffset", pf(lineWidthScale * current.dashPhase) + "px");
  21857. }
  21858. }, {
  21859. key: "eoFill",
  21860. value: function eoFill() {
  21861. if (this.current.element) {
  21862. this.current.element.setAttributeNS(null, "fill-rule", "evenodd");
  21863. }
  21864. this.fill();
  21865. }
  21866. }, {
  21867. key: "fillStroke",
  21868. value: function fillStroke() {
  21869. this.stroke();
  21870. this.fill();
  21871. }
  21872. }, {
  21873. key: "eoFillStroke",
  21874. value: function eoFillStroke() {
  21875. if (this.current.element) {
  21876. this.current.element.setAttributeNS(null, "fill-rule", "evenodd");
  21877. }
  21878. this.fillStroke();
  21879. }
  21880. }, {
  21881. key: "closeStroke",
  21882. value: function closeStroke() {
  21883. this.closePath();
  21884. this.stroke();
  21885. }
  21886. }, {
  21887. key: "closeFillStroke",
  21888. value: function closeFillStroke() {
  21889. this.closePath();
  21890. this.fillStroke();
  21891. }
  21892. }, {
  21893. key: "closeEOFillStroke",
  21894. value: function closeEOFillStroke() {
  21895. this.closePath();
  21896. this.eoFillStroke();
  21897. }
  21898. }, {
  21899. key: "paintSolidColorImageMask",
  21900. value: function paintSolidColorImageMask() {
  21901. var rect = this.svgFactory.createElement("svg:rect");
  21902. rect.setAttributeNS(null, "x", "0");
  21903. rect.setAttributeNS(null, "y", "0");
  21904. rect.setAttributeNS(null, "width", "1px");
  21905. rect.setAttributeNS(null, "height", "1px");
  21906. rect.setAttributeNS(null, "fill", this.current.fillColor);
  21907. this._ensureTransformGroup().appendChild(rect);
  21908. }
  21909. }, {
  21910. key: "paintImageXObject",
  21911. value: function paintImageXObject(objId) {
  21912. var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId);
  21913. if (!imgData) {
  21914. (0, _util.warn)("Dependent image with object ID ".concat(objId, " is not ready yet"));
  21915. return;
  21916. }
  21917. this.paintInlineImageXObject(imgData);
  21918. }
  21919. }, {
  21920. key: "paintInlineImageXObject",
  21921. value: function paintInlineImageXObject(imgData, mask) {
  21922. var width = imgData.width;
  21923. var height = imgData.height;
  21924. var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);
  21925. var cliprect = this.svgFactory.createElement("svg:rect");
  21926. cliprect.setAttributeNS(null, "x", "0");
  21927. cliprect.setAttributeNS(null, "y", "0");
  21928. cliprect.setAttributeNS(null, "width", pf(width));
  21929. cliprect.setAttributeNS(null, "height", pf(height));
  21930. this.current.element = cliprect;
  21931. this.clip("nonzero");
  21932. var imgEl = this.svgFactory.createElement("svg:image");
  21933. imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgSrc);
  21934. imgEl.setAttributeNS(null, "x", "0");
  21935. imgEl.setAttributeNS(null, "y", pf(-height));
  21936. imgEl.setAttributeNS(null, "width", pf(width) + "px");
  21937. imgEl.setAttributeNS(null, "height", pf(height) + "px");
  21938. imgEl.setAttributeNS(null, "transform", "scale(".concat(pf(1 / width), " ").concat(pf(-1 / height), ")"));
  21939. if (mask) {
  21940. mask.appendChild(imgEl);
  21941. } else {
  21942. this._ensureTransformGroup().appendChild(imgEl);
  21943. }
  21944. }
  21945. }, {
  21946. key: "paintImageMaskXObject",
  21947. value: function paintImageMaskXObject(imgData) {
  21948. var current = this.current;
  21949. var width = imgData.width;
  21950. var height = imgData.height;
  21951. var fillColor = current.fillColor;
  21952. current.maskId = "mask".concat(maskCount++);
  21953. var mask = this.svgFactory.createElement("svg:mask");
  21954. mask.setAttributeNS(null, "id", current.maskId);
  21955. var rect = this.svgFactory.createElement("svg:rect");
  21956. rect.setAttributeNS(null, "x", "0");
  21957. rect.setAttributeNS(null, "y", "0");
  21958. rect.setAttributeNS(null, "width", pf(width));
  21959. rect.setAttributeNS(null, "height", pf(height));
  21960. rect.setAttributeNS(null, "fill", fillColor);
  21961. rect.setAttributeNS(null, "mask", "url(#".concat(current.maskId, ")"));
  21962. this.defs.appendChild(mask);
  21963. this._ensureTransformGroup().appendChild(rect);
  21964. this.paintInlineImageXObject(imgData, mask);
  21965. }
  21966. }, {
  21967. key: "paintFormXObjectBegin",
  21968. value: function paintFormXObjectBegin(matrix, bbox) {
  21969. if (Array.isArray(matrix) && matrix.length === 6) {
  21970. this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);
  21971. }
  21972. if (bbox) {
  21973. var width = bbox[2] - bbox[0];
  21974. var height = bbox[3] - bbox[1];
  21975. var cliprect = this.svgFactory.createElement("svg:rect");
  21976. cliprect.setAttributeNS(null, "x", bbox[0]);
  21977. cliprect.setAttributeNS(null, "y", bbox[1]);
  21978. cliprect.setAttributeNS(null, "width", pf(width));
  21979. cliprect.setAttributeNS(null, "height", pf(height));
  21980. this.current.element = cliprect;
  21981. this.clip("nonzero");
  21982. this.endPath();
  21983. }
  21984. }
  21985. }, {
  21986. key: "paintFormXObjectEnd",
  21987. value: function paintFormXObjectEnd() {}
  21988. }, {
  21989. key: "_initialize",
  21990. value: function _initialize(viewport) {
  21991. var svg = this.svgFactory.create(viewport.width, viewport.height);
  21992. var definitions = this.svgFactory.createElement("svg:defs");
  21993. svg.appendChild(definitions);
  21994. this.defs = definitions;
  21995. var rootGroup = this.svgFactory.createElement("svg:g");
  21996. rootGroup.setAttributeNS(null, "transform", pm(viewport.transform));
  21997. svg.appendChild(rootGroup);
  21998. this.svg = rootGroup;
  21999. return svg;
  22000. }
  22001. }, {
  22002. key: "_ensureClipGroup",
  22003. value: function _ensureClipGroup() {
  22004. if (!this.current.clipGroup) {
  22005. var clipGroup = this.svgFactory.createElement("svg:g");
  22006. clipGroup.setAttributeNS(null, "clip-path", this.current.activeClipUrl);
  22007. this.svg.appendChild(clipGroup);
  22008. this.current.clipGroup = clipGroup;
  22009. }
  22010. return this.current.clipGroup;
  22011. }
  22012. }, {
  22013. key: "_ensureTransformGroup",
  22014. value: function _ensureTransformGroup() {
  22015. if (!this.tgrp) {
  22016. this.tgrp = this.svgFactory.createElement("svg:g");
  22017. this.tgrp.setAttributeNS(null, "transform", pm(this.transformMatrix));
  22018. if (this.current.activeClipUrl) {
  22019. this._ensureClipGroup().appendChild(this.tgrp);
  22020. } else {
  22021. this.svg.appendChild(this.tgrp);
  22022. }
  22023. }
  22024. return this.tgrp;
  22025. }
  22026. }]);
  22027. return SVGGraphics;
  22028. }();
  22029. }
  22030. /***/ }),
  22031. /* 153 */
  22032. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  22033. "use strict";
  22034. function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  22035. Object.defineProperty(exports, "__esModule", ({
  22036. value: true
  22037. }));
  22038. exports.PDFNodeStream = void 0;
  22039. var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
  22040. var _util = __w_pdfjs_require__(4);
  22041. var _network_utils = __w_pdfjs_require__(154);
  22042. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  22043. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
  22044. function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
  22045. function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
  22046. function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
  22047. function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  22048. function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
  22049. function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
  22050. function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
  22051. function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
  22052. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  22053. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  22054. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  22055. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  22056. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  22057. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  22058. ;
  22059. var fs = require("fs");
  22060. var http = require("http");
  22061. var https = require("https");
  22062. var url = require("url");
  22063. var fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//;
  22064. function parseUrl(sourceUrl) {
  22065. var parsedUrl = url.parse(sourceUrl);
  22066. if (parsedUrl.protocol === "file:" || parsedUrl.host) {
  22067. return parsedUrl;
  22068. }
  22069. if (/^[a-z]:[/\\]/i.test(sourceUrl)) {
  22070. return url.parse("file:///".concat(sourceUrl));
  22071. }
  22072. if (!parsedUrl.host) {
  22073. parsedUrl.protocol = "file:";
  22074. }
  22075. return parsedUrl;
  22076. }
  22077. var PDFNodeStream = /*#__PURE__*/function () {
  22078. function PDFNodeStream(source) {
  22079. _classCallCheck(this, PDFNodeStream);
  22080. this.source = source;
  22081. this.url = parseUrl(source.url);
  22082. this.isHttp = this.url.protocol === "http:" || this.url.protocol === "https:";
  22083. this.isFsUrl = this.url.protocol === "file:";
  22084. this.httpHeaders = this.isHttp && source.httpHeaders || {};
  22085. this._fullRequestReader = null;
  22086. this._rangeRequestReaders = [];
  22087. }
  22088. _createClass(PDFNodeStream, [{
  22089. key: "_progressiveDataLength",
  22090. get: function get() {
  22091. var _this$_fullRequestRea, _this$_fullRequestRea2;
  22092. return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0;
  22093. }
  22094. }, {
  22095. key: "getFullReader",
  22096. value: function getFullReader() {
  22097. (0, _util.assert)(!this._fullRequestReader, "PDFNodeStream.getFullReader can only be called once.");
  22098. this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);
  22099. return this._fullRequestReader;
  22100. }
  22101. }, {
  22102. key: "getRangeReader",
  22103. value: function getRangeReader(start, end) {
  22104. if (end <= this._progressiveDataLength) {
  22105. return null;
  22106. }
  22107. var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);
  22108. this._rangeRequestReaders.push(rangeReader);
  22109. return rangeReader;
  22110. }
  22111. }, {
  22112. key: "cancelAllRequests",
  22113. value: function cancelAllRequests(reason) {
  22114. if (this._fullRequestReader) {
  22115. this._fullRequestReader.cancel(reason);
  22116. }
  22117. var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)),
  22118. _step;
  22119. try {
  22120. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  22121. var reader = _step.value;
  22122. reader.cancel(reason);
  22123. }
  22124. } catch (err) {
  22125. _iterator.e(err);
  22126. } finally {
  22127. _iterator.f();
  22128. }
  22129. }
  22130. }]);
  22131. return PDFNodeStream;
  22132. }();
  22133. exports.PDFNodeStream = PDFNodeStream;
  22134. var BaseFullReader = /*#__PURE__*/function () {
  22135. function BaseFullReader(stream) {
  22136. _classCallCheck(this, BaseFullReader);
  22137. this._url = stream.url;
  22138. this._done = false;
  22139. this._storedError = null;
  22140. this.onProgress = null;
  22141. var source = stream.source;
  22142. this._contentLength = source.length;
  22143. this._loaded = 0;
  22144. this._filename = null;
  22145. this._disableRange = source.disableRange || false;
  22146. this._rangeChunkSize = source.rangeChunkSize;
  22147. if (!this._rangeChunkSize && !this._disableRange) {
  22148. this._disableRange = true;
  22149. }
  22150. this._isStreamingSupported = !source.disableStream;
  22151. this._isRangeSupported = !source.disableRange;
  22152. this._readableStream = null;
  22153. this._readCapability = (0, _util.createPromiseCapability)();
  22154. this._headersCapability = (0, _util.createPromiseCapability)();
  22155. }
  22156. _createClass(BaseFullReader, [{
  22157. key: "headersReady",
  22158. get: function get() {
  22159. return this._headersCapability.promise;
  22160. }
  22161. }, {
  22162. key: "filename",
  22163. get: function get() {
  22164. return this._filename;
  22165. }
  22166. }, {
  22167. key: "contentLength",
  22168. get: function get() {
  22169. return this._contentLength;
  22170. }
  22171. }, {
  22172. key: "isRangeSupported",
  22173. get: function get() {
  22174. return this._isRangeSupported;
  22175. }
  22176. }, {
  22177. key: "isStreamingSupported",
  22178. get: function get() {
  22179. return this._isStreamingSupported;
  22180. }
  22181. }, {
  22182. key: "read",
  22183. value: function () {
  22184. var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
  22185. var chunk, buffer;
  22186. return _regenerator["default"].wrap(function _callee$(_context) {
  22187. while (1) {
  22188. switch (_context.prev = _context.next) {
  22189. case 0:
  22190. _context.next = 2;
  22191. return this._readCapability.promise;
  22192. case 2:
  22193. if (!this._done) {
  22194. _context.next = 4;
  22195. break;
  22196. }
  22197. return _context.abrupt("return", {
  22198. value: undefined,
  22199. done: true
  22200. });
  22201. case 4:
  22202. if (!this._storedError) {
  22203. _context.next = 6;
  22204. break;
  22205. }
  22206. throw this._storedError;
  22207. case 6:
  22208. chunk = this._readableStream.read();
  22209. if (!(chunk === null)) {
  22210. _context.next = 10;
  22211. break;
  22212. }
  22213. this._readCapability = (0, _util.createPromiseCapability)();
  22214. return _context.abrupt("return", this.read());
  22215. case 10:
  22216. this._loaded += chunk.length;
  22217. if (this.onProgress) {
  22218. this.onProgress({
  22219. loaded: this._loaded,
  22220. total: this._contentLength
  22221. });
  22222. }
  22223. buffer = new Uint8Array(chunk).buffer;
  22224. return _context.abrupt("return", {
  22225. value: buffer,
  22226. done: false
  22227. });
  22228. case 14:
  22229. case "end":
  22230. return _context.stop();
  22231. }
  22232. }
  22233. }, _callee, this);
  22234. }));
  22235. function read() {
  22236. return _read.apply(this, arguments);
  22237. }
  22238. return read;
  22239. }()
  22240. }, {
  22241. key: "cancel",
  22242. value: function cancel(reason) {
  22243. if (!this._readableStream) {
  22244. this._error(reason);
  22245. return;
  22246. }
  22247. this._readableStream.destroy(reason);
  22248. }
  22249. }, {
  22250. key: "_error",
  22251. value: function _error(reason) {
  22252. this._storedError = reason;
  22253. this._readCapability.resolve();
  22254. }
  22255. }, {
  22256. key: "_setReadableStream",
  22257. value: function _setReadableStream(readableStream) {
  22258. var _this = this;
  22259. this._readableStream = readableStream;
  22260. readableStream.on("readable", function () {
  22261. _this._readCapability.resolve();
  22262. });
  22263. readableStream.on("end", function () {
  22264. readableStream.destroy();
  22265. _this._done = true;
  22266. _this._readCapability.resolve();
  22267. });
  22268. readableStream.on("error", function (reason) {
  22269. _this._error(reason);
  22270. });
  22271. if (!this._isStreamingSupported && this._isRangeSupported) {
  22272. this._error(new _util.AbortException("streaming is disabled"));
  22273. }
  22274. if (this._storedError) {
  22275. this._readableStream.destroy(this._storedError);
  22276. }
  22277. }
  22278. }]);
  22279. return BaseFullReader;
  22280. }();
  22281. var BaseRangeReader = /*#__PURE__*/function () {
  22282. function BaseRangeReader(stream) {
  22283. _classCallCheck(this, BaseRangeReader);
  22284. this._url = stream.url;
  22285. this._done = false;
  22286. this._storedError = null;
  22287. this.onProgress = null;
  22288. this._loaded = 0;
  22289. this._readableStream = null;
  22290. this._readCapability = (0, _util.createPromiseCapability)();
  22291. var source = stream.source;
  22292. this._isStreamingSupported = !source.disableStream;
  22293. }
  22294. _createClass(BaseRangeReader, [{
  22295. key: "isStreamingSupported",
  22296. get: function get() {
  22297. return this._isStreamingSupported;
  22298. }
  22299. }, {
  22300. key: "read",
  22301. value: function () {
  22302. var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
  22303. var chunk, buffer;
  22304. return _regenerator["default"].wrap(function _callee2$(_context2) {
  22305. while (1) {
  22306. switch (_context2.prev = _context2.next) {
  22307. case 0:
  22308. _context2.next = 2;
  22309. return this._readCapability.promise;
  22310. case 2:
  22311. if (!this._done) {
  22312. _context2.next = 4;
  22313. break;
  22314. }
  22315. return _context2.abrupt("return", {
  22316. value: undefined,
  22317. done: true
  22318. });
  22319. case 4:
  22320. if (!this._storedError) {
  22321. _context2.next = 6;
  22322. break;
  22323. }
  22324. throw this._storedError;
  22325. case 6:
  22326. chunk = this._readableStream.read();
  22327. if (!(chunk === null)) {
  22328. _context2.next = 10;
  22329. break;
  22330. }
  22331. this._readCapability = (0, _util.createPromiseCapability)();
  22332. return _context2.abrupt("return", this.read());
  22333. case 10:
  22334. this._loaded += chunk.length;
  22335. if (this.onProgress) {
  22336. this.onProgress({
  22337. loaded: this._loaded
  22338. });
  22339. }
  22340. buffer = new Uint8Array(chunk).buffer;
  22341. return _context2.abrupt("return", {
  22342. value: buffer,
  22343. done: false
  22344. });
  22345. case 14:
  22346. case "end":
  22347. return _context2.stop();
  22348. }
  22349. }
  22350. }, _callee2, this);
  22351. }));
  22352. function read() {
  22353. return _read2.apply(this, arguments);
  22354. }
  22355. return read;
  22356. }()
  22357. }, {
  22358. key: "cancel",
  22359. value: function cancel(reason) {
  22360. if (!this._readableStream) {
  22361. this._error(reason);
  22362. return;
  22363. }
  22364. this._readableStream.destroy(reason);
  22365. }
  22366. }, {
  22367. key: "_error",
  22368. value: function _error(reason) {
  22369. this._storedError = reason;
  22370. this._readCapability.resolve();
  22371. }
  22372. }, {
  22373. key: "_setReadableStream",
  22374. value: function _setReadableStream(readableStream) {
  22375. var _this2 = this;
  22376. this._readableStream = readableStream;
  22377. readableStream.on("readable", function () {
  22378. _this2._readCapability.resolve();
  22379. });
  22380. readableStream.on("end", function () {
  22381. readableStream.destroy();
  22382. _this2._done = true;
  22383. _this2._readCapability.resolve();
  22384. });
  22385. readableStream.on("error", function (reason) {
  22386. _this2._error(reason);
  22387. });
  22388. if (this._storedError) {
  22389. this._readableStream.destroy(this._storedError);
  22390. }
  22391. }
  22392. }]);
  22393. return BaseRangeReader;
  22394. }();
  22395. function createRequestOptions(parsedUrl, headers) {
  22396. return {
  22397. protocol: parsedUrl.protocol,
  22398. auth: parsedUrl.auth,
  22399. host: parsedUrl.hostname,
  22400. port: parsedUrl.port,
  22401. path: parsedUrl.path,
  22402. method: "GET",
  22403. headers: headers
  22404. };
  22405. }
  22406. var PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {
  22407. _inherits(PDFNodeStreamFullReader, _BaseFullReader);
  22408. var _super = _createSuper(PDFNodeStreamFullReader);
  22409. function PDFNodeStreamFullReader(stream) {
  22410. var _this3;
  22411. _classCallCheck(this, PDFNodeStreamFullReader);
  22412. _this3 = _super.call(this, stream);
  22413. var handleResponse = function handleResponse(response) {
  22414. if (response.statusCode === 404) {
  22415. var error = new _util.MissingPDFException("Missing PDF \"".concat(_this3._url, "\"."));
  22416. _this3._storedError = error;
  22417. _this3._headersCapability.reject(error);
  22418. return;
  22419. }
  22420. _this3._headersCapability.resolve();
  22421. _this3._setReadableStream(response);
  22422. var getResponseHeader = function getResponseHeader(name) {
  22423. return _this3._readableStream.headers[name.toLowerCase()];
  22424. };
  22425. var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
  22426. getResponseHeader: getResponseHeader,
  22427. isHttp: stream.isHttp,
  22428. rangeChunkSize: _this3._rangeChunkSize,
  22429. disableRange: _this3._disableRange
  22430. }),
  22431. allowRangeRequests = _validateRangeRequest.allowRangeRequests,
  22432. suggestedLength = _validateRangeRequest.suggestedLength;
  22433. _this3._isRangeSupported = allowRangeRequests;
  22434. _this3._contentLength = suggestedLength || _this3._contentLength;
  22435. _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
  22436. };
  22437. _this3._request = null;
  22438. if (_this3._url.protocol === "http:") {
  22439. _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);
  22440. } else {
  22441. _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);
  22442. }
  22443. _this3._request.on("error", function (reason) {
  22444. _this3._storedError = reason;
  22445. _this3._headersCapability.reject(reason);
  22446. });
  22447. _this3._request.end();
  22448. return _this3;
  22449. }
  22450. return PDFNodeStreamFullReader;
  22451. }(BaseFullReader);
  22452. var PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {
  22453. _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);
  22454. var _super2 = _createSuper(PDFNodeStreamRangeReader);
  22455. function PDFNodeStreamRangeReader(stream, start, end) {
  22456. var _this4;
  22457. _classCallCheck(this, PDFNodeStreamRangeReader);
  22458. _this4 = _super2.call(this, stream);
  22459. _this4._httpHeaders = {};
  22460. for (var property in stream.httpHeaders) {
  22461. var value = stream.httpHeaders[property];
  22462. if (typeof value === "undefined") {
  22463. continue;
  22464. }
  22465. _this4._httpHeaders[property] = value;
  22466. }
  22467. _this4._httpHeaders.Range = "bytes=".concat(start, "-").concat(end - 1);
  22468. var handleResponse = function handleResponse(response) {
  22469. if (response.statusCode === 404) {
  22470. var error = new _util.MissingPDFException("Missing PDF \"".concat(_this4._url, "\"."));
  22471. _this4._storedError = error;
  22472. return;
  22473. }
  22474. _this4._setReadableStream(response);
  22475. };
  22476. _this4._request = null;
  22477. if (_this4._url.protocol === "http:") {
  22478. _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);
  22479. } else {
  22480. _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);
  22481. }
  22482. _this4._request.on("error", function (reason) {
  22483. _this4._storedError = reason;
  22484. });
  22485. _this4._request.end();
  22486. return _this4;
  22487. }
  22488. return PDFNodeStreamRangeReader;
  22489. }(BaseRangeReader);
  22490. var PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {
  22491. _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);
  22492. var _super3 = _createSuper(PDFNodeStreamFsFullReader);
  22493. function PDFNodeStreamFsFullReader(stream) {
  22494. var _this5;
  22495. _classCallCheck(this, PDFNodeStreamFsFullReader);
  22496. _this5 = _super3.call(this, stream);
  22497. var path = decodeURIComponent(_this5._url.path);
  22498. if (fileUriRegex.test(_this5._url.href)) {
  22499. path = path.replace(/^\//, "");
  22500. }
  22501. fs.lstat(path, function (error, stat) {
  22502. if (error) {
  22503. if (error.code === "ENOENT") {
  22504. error = new _util.MissingPDFException("Missing PDF \"".concat(path, "\"."));
  22505. }
  22506. _this5._storedError = error;
  22507. _this5._headersCapability.reject(error);
  22508. return;
  22509. }
  22510. _this5._contentLength = stat.size;
  22511. _this5._setReadableStream(fs.createReadStream(path));
  22512. _this5._headersCapability.resolve();
  22513. });
  22514. return _this5;
  22515. }
  22516. return PDFNodeStreamFsFullReader;
  22517. }(BaseFullReader);
  22518. var PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {
  22519. _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);
  22520. var _super4 = _createSuper(PDFNodeStreamFsRangeReader);
  22521. function PDFNodeStreamFsRangeReader(stream, start, end) {
  22522. var _this6;
  22523. _classCallCheck(this, PDFNodeStreamFsRangeReader);
  22524. _this6 = _super4.call(this, stream);
  22525. var path = decodeURIComponent(_this6._url.path);
  22526. if (fileUriRegex.test(_this6._url.href)) {
  22527. path = path.replace(/^\//, "");
  22528. }
  22529. _this6._setReadableStream(fs.createReadStream(path, {
  22530. start: start,
  22531. end: end - 1
  22532. }));
  22533. return _this6;
  22534. }
  22535. return PDFNodeStreamFsRangeReader;
  22536. }(BaseRangeReader);
  22537. /***/ }),
  22538. /* 154 */
  22539. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  22540. "use strict";
  22541. Object.defineProperty(exports, "__esModule", ({
  22542. value: true
  22543. }));
  22544. exports.createResponseStatusError = createResponseStatusError;
  22545. exports.extractFilenameFromHeader = extractFilenameFromHeader;
  22546. exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;
  22547. exports.validateResponseStatus = validateResponseStatus;
  22548. var _util = __w_pdfjs_require__(4);
  22549. var _content_disposition = __w_pdfjs_require__(155);
  22550. var _display_utils = __w_pdfjs_require__(1);
  22551. function validateRangeRequestCapabilities(_ref) {
  22552. var getResponseHeader = _ref.getResponseHeader,
  22553. isHttp = _ref.isHttp,
  22554. rangeChunkSize = _ref.rangeChunkSize,
  22555. disableRange = _ref.disableRange;
  22556. (0, _util.assert)(rangeChunkSize > 0, "Range chunk size must be larger than zero");
  22557. var returnValues = {
  22558. allowRangeRequests: false,
  22559. suggestedLength: undefined
  22560. };
  22561. var length = parseInt(getResponseHeader("Content-Length"), 10);
  22562. if (!Number.isInteger(length)) {
  22563. return returnValues;
  22564. }
  22565. returnValues.suggestedLength = length;
  22566. if (length <= 2 * rangeChunkSize) {
  22567. return returnValues;
  22568. }
  22569. if (disableRange || !isHttp) {
  22570. return returnValues;
  22571. }
  22572. if (getResponseHeader("Accept-Ranges") !== "bytes") {
  22573. return returnValues;
  22574. }
  22575. var contentEncoding = getResponseHeader("Content-Encoding") || "identity";
  22576. if (contentEncoding !== "identity") {
  22577. return returnValues;
  22578. }
  22579. returnValues.allowRangeRequests = true;
  22580. return returnValues;
  22581. }
  22582. function extractFilenameFromHeader(getResponseHeader) {
  22583. var contentDisposition = getResponseHeader("Content-Disposition");
  22584. if (contentDisposition) {
  22585. var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);
  22586. if (filename.includes("%")) {
  22587. try {
  22588. filename = decodeURIComponent(filename);
  22589. } catch (ex) {}
  22590. }
  22591. if ((0, _display_utils.isPdfFile)(filename)) {
  22592. return filename;
  22593. }
  22594. }
  22595. return null;
  22596. }
  22597. function createResponseStatusError(status, url) {
  22598. if (status === 404 || status === 0 && url.startsWith("file:")) {
  22599. return new _util.MissingPDFException('Missing PDF "' + url + '".');
  22600. }
  22601. return new _util.UnexpectedResponseException("Unexpected server response (".concat(status, ") while retrieving PDF \"").concat(url, "\"."), status);
  22602. }
  22603. function validateResponseStatus(status) {
  22604. return status === 200 || status === 206;
  22605. }
  22606. /***/ }),
  22607. /* 155 */
  22608. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  22609. "use strict";
  22610. Object.defineProperty(exports, "__esModule", ({
  22611. value: true
  22612. }));
  22613. exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;
  22614. var _util = __w_pdfjs_require__(4);
  22615. function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
  22616. function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
  22617. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  22618. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  22619. function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
  22620. function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
  22621. function getFilenameFromContentDispositionHeader(contentDisposition) {
  22622. var needsEncodingFixup = true;
  22623. var tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition);
  22624. if (tmp) {
  22625. tmp = tmp[1];
  22626. var filename = rfc2616unquote(tmp);
  22627. filename = unescape(filename);
  22628. filename = rfc5987decode(filename);
  22629. filename = rfc2047decode(filename);
  22630. return fixupEncoding(filename);
  22631. }
  22632. tmp = rfc2231getparam(contentDisposition);
  22633. if (tmp) {
  22634. var _filename = rfc2047decode(tmp);
  22635. return fixupEncoding(_filename);
  22636. }
  22637. tmp = toParamRegExp("filename", "i").exec(contentDisposition);
  22638. if (tmp) {
  22639. tmp = tmp[1];
  22640. var _filename2 = rfc2616unquote(tmp);
  22641. _filename2 = rfc2047decode(_filename2);
  22642. return fixupEncoding(_filename2);
  22643. }
  22644. function toParamRegExp(attributePattern, flags) {
  22645. return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags);
  22646. }
  22647. function textdecode(encoding, value) {
  22648. if (encoding) {
  22649. if (!/^[\x00-\xFF]+$/.test(value)) {
  22650. return value;
  22651. }
  22652. try {
  22653. var decoder = new TextDecoder(encoding, {
  22654. fatal: true
  22655. });
  22656. var buffer = (0, _util.stringToBytes)(value);
  22657. value = decoder.decode(buffer);
  22658. needsEncodingFixup = false;
  22659. } catch (e) {
  22660. if (/^utf-?8$/i.test(encoding)) {
  22661. try {
  22662. value = decodeURIComponent(escape(value));
  22663. needsEncodingFixup = false;
  22664. } catch (err) {}
  22665. }
  22666. }
  22667. }
  22668. return value;
  22669. }
  22670. function fixupEncoding(value) {
  22671. if (needsEncodingFixup && /[\x80-\xff]/.test(value)) {
  22672. value = textdecode("utf-8", value);
  22673. if (needsEncodingFixup) {
  22674. value = textdecode("iso-8859-1", value);
  22675. }
  22676. }
  22677. return value;
  22678. }
  22679. function rfc2231getparam(contentDispositionStr) {
  22680. var matches = [];
  22681. var match;
  22682. var iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig");
  22683. while ((match = iter.exec(contentDispositionStr)) !== null) {
  22684. var _match = match,
  22685. _match2 = _slicedToArray(_match, 4),
  22686. n = _match2[1],
  22687. quot = _match2[2],
  22688. part = _match2[3];
  22689. n = parseInt(n, 10);
  22690. if (n in matches) {
  22691. if (n === 0) {
  22692. break;
  22693. }
  22694. continue;
  22695. }
  22696. matches[n] = [quot, part];
  22697. }
  22698. var parts = [];
  22699. for (var _n2 = 0; _n2 < matches.length; ++_n2) {
  22700. if (!(_n2 in matches)) {
  22701. break;
  22702. }
  22703. var _matches$_n = _slicedToArray(matches[_n2], 2),
  22704. _quot = _matches$_n[0],
  22705. _part = _matches$_n[1];
  22706. _part = rfc2616unquote(_part);
  22707. if (_quot) {
  22708. _part = unescape(_part);
  22709. if (_n2 === 0) {
  22710. _part = rfc5987decode(_part);
  22711. }
  22712. }
  22713. parts.push(_part);
  22714. }
  22715. return parts.join("");
  22716. }
  22717. function rfc2616unquote(value) {
  22718. if (value.startsWith('"')) {
  22719. var parts = value.slice(1).split('\\"');
  22720. for (var i = 0; i < parts.length; ++i) {
  22721. var quotindex = parts[i].indexOf('"');
  22722. if (quotindex !== -1) {
  22723. parts[i] = parts[i].slice(0, quotindex);
  22724. parts.length = i + 1;
  22725. }
  22726. parts[i] = parts[i].replace(/\\(.)/g, "$1");
  22727. }
  22728. value = parts.join('"');
  22729. }
  22730. return value;
  22731. }
  22732. function rfc5987decode(extvalue) {
  22733. var encodingend = extvalue.indexOf("'");
  22734. if (encodingend === -1) {
  22735. return extvalue;
  22736. }
  22737. var encoding = extvalue.slice(0, encodingend);
  22738. var langvalue = extvalue.slice(encodingend + 1);
  22739. var value = langvalue.replace(/^[^']*'/, "");
  22740. return textdecode(encoding, value);
  22741. }
  22742. function rfc2047decode(value) {
  22743. if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) {
  22744. return value;
  22745. }
  22746. return value.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (matches, charset, encoding, text) {
  22747. if (encoding === "q" || encoding === "Q") {
  22748. text = text.replace(/_/g, " ");
  22749. text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {
  22750. return String.fromCharCode(parseInt(hex, 16));
  22751. });
  22752. return textdecode(charset, text);
  22753. }
  22754. try {
  22755. text = atob(text);
  22756. } catch (e) {}
  22757. return textdecode(charset, text);
  22758. });
  22759. }
  22760. return "";
  22761. }
  22762. /***/ }),
  22763. /* 156 */
  22764. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  22765. "use strict";
  22766. Object.defineProperty(exports, "__esModule", ({
  22767. value: true
  22768. }));
  22769. exports.PDFNetworkStream = void 0;
  22770. var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
  22771. var _util = __w_pdfjs_require__(4);
  22772. var _network_utils = __w_pdfjs_require__(154);
  22773. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  22774. function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
  22775. function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
  22776. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  22777. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  22778. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  22779. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  22780. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  22781. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  22782. ;
  22783. var OK_RESPONSE = 200;
  22784. var PARTIAL_CONTENT_RESPONSE = 206;
  22785. function getArrayBuffer(xhr) {
  22786. var data = xhr.response;
  22787. if (typeof data !== "string") {
  22788. return data;
  22789. }
  22790. var array = (0, _util.stringToBytes)(data);
  22791. return array.buffer;
  22792. }
  22793. var NetworkManager = /*#__PURE__*/function () {
  22794. function NetworkManager(url) {
  22795. var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  22796. _classCallCheck(this, NetworkManager);
  22797. this.url = url;
  22798. this.isHttp = /^https?:/i.test(url);
  22799. this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null);
  22800. this.withCredentials = args.withCredentials || false;
  22801. this.getXhr = args.getXhr || function NetworkManager_getXhr() {
  22802. return new XMLHttpRequest();
  22803. };
  22804. this.currXhrId = 0;
  22805. this.pendingRequests = Object.create(null);
  22806. }
  22807. _createClass(NetworkManager, [{
  22808. key: "requestRange",
  22809. value: function requestRange(begin, end, listeners) {
  22810. var args = {
  22811. begin: begin,
  22812. end: end
  22813. };
  22814. for (var prop in listeners) {
  22815. args[prop] = listeners[prop];
  22816. }
  22817. return this.request(args);
  22818. }
  22819. }, {
  22820. key: "requestFull",
  22821. value: function requestFull(listeners) {
  22822. return this.request(listeners);
  22823. }
  22824. }, {
  22825. key: "request",
  22826. value: function request(args) {
  22827. var xhr = this.getXhr();
  22828. var xhrId = this.currXhrId++;
  22829. var pendingRequest = this.pendingRequests[xhrId] = {
  22830. xhr: xhr
  22831. };
  22832. xhr.open("GET", this.url);
  22833. xhr.withCredentials = this.withCredentials;
  22834. for (var property in this.httpHeaders) {
  22835. var value = this.httpHeaders[property];
  22836. if (typeof value === "undefined") {
  22837. continue;
  22838. }
  22839. xhr.setRequestHeader(property, value);
  22840. }
  22841. if (this.isHttp && "begin" in args && "end" in args) {
  22842. xhr.setRequestHeader("Range", "bytes=".concat(args.begin, "-").concat(args.end - 1));
  22843. pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;
  22844. } else {
  22845. pendingRequest.expectedStatus = OK_RESPONSE;
  22846. }
  22847. xhr.responseType = "arraybuffer";
  22848. if (args.onError) {
  22849. xhr.onerror = function (evt) {
  22850. args.onError(xhr.status);
  22851. };
  22852. }
  22853. xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);
  22854. xhr.onprogress = this.onProgress.bind(this, xhrId);
  22855. pendingRequest.onHeadersReceived = args.onHeadersReceived;
  22856. pendingRequest.onDone = args.onDone;
  22857. pendingRequest.onError = args.onError;
  22858. pendingRequest.onProgress = args.onProgress;
  22859. xhr.send(null);
  22860. return xhrId;
  22861. }
  22862. }, {
  22863. key: "onProgress",
  22864. value: function onProgress(xhrId, evt) {
  22865. var _pendingRequest$onPro;
  22866. var pendingRequest = this.pendingRequests[xhrId];
  22867. if (!pendingRequest) {
  22868. return;
  22869. }
  22870. (_pendingRequest$onPro = pendingRequest.onProgress) === null || _pendingRequest$onPro === void 0 ? void 0 : _pendingRequest$onPro.call(pendingRequest, evt);
  22871. }
  22872. }, {
  22873. key: "onStateChange",
  22874. value: function onStateChange(xhrId, evt) {
  22875. var pendingRequest = this.pendingRequests[xhrId];
  22876. if (!pendingRequest) {
  22877. return;
  22878. }
  22879. var xhr = pendingRequest.xhr;
  22880. if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {
  22881. pendingRequest.onHeadersReceived();
  22882. delete pendingRequest.onHeadersReceived;
  22883. }
  22884. if (xhr.readyState !== 4) {
  22885. return;
  22886. }
  22887. if (!(xhrId in this.pendingRequests)) {
  22888. return;
  22889. }
  22890. delete this.pendingRequests[xhrId];
  22891. if (xhr.status === 0 && this.isHttp) {
  22892. var _pendingRequest$onErr;
  22893. (_pendingRequest$onErr = pendingRequest.onError) === null || _pendingRequest$onErr === void 0 ? void 0 : _pendingRequest$onErr.call(pendingRequest, xhr.status);
  22894. return;
  22895. }
  22896. var xhrStatus = xhr.status || OK_RESPONSE;
  22897. var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;
  22898. if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {
  22899. var _pendingRequest$onErr2;
  22900. (_pendingRequest$onErr2 = pendingRequest.onError) === null || _pendingRequest$onErr2 === void 0 ? void 0 : _pendingRequest$onErr2.call(pendingRequest, xhr.status);
  22901. return;
  22902. }
  22903. var chunk = getArrayBuffer(xhr);
  22904. if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {
  22905. var rangeHeader = xhr.getResponseHeader("Content-Range");
  22906. var matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader);
  22907. pendingRequest.onDone({
  22908. begin: parseInt(matches[1], 10),
  22909. chunk: chunk
  22910. });
  22911. } else if (chunk) {
  22912. pendingRequest.onDone({
  22913. begin: 0,
  22914. chunk: chunk
  22915. });
  22916. } else {
  22917. var _pendingRequest$onErr3;
  22918. (_pendingRequest$onErr3 = pendingRequest.onError) === null || _pendingRequest$onErr3 === void 0 ? void 0 : _pendingRequest$onErr3.call(pendingRequest, xhr.status);
  22919. }
  22920. }
  22921. }, {
  22922. key: "getRequestXhr",
  22923. value: function getRequestXhr(xhrId) {
  22924. return this.pendingRequests[xhrId].xhr;
  22925. }
  22926. }, {
  22927. key: "isPendingRequest",
  22928. value: function isPendingRequest(xhrId) {
  22929. return xhrId in this.pendingRequests;
  22930. }
  22931. }, {
  22932. key: "abortRequest",
  22933. value: function abortRequest(xhrId) {
  22934. var xhr = this.pendingRequests[xhrId].xhr;
  22935. delete this.pendingRequests[xhrId];
  22936. xhr.abort();
  22937. }
  22938. }]);
  22939. return NetworkManager;
  22940. }();
  22941. var PDFNetworkStream = /*#__PURE__*/function () {
  22942. function PDFNetworkStream(source) {
  22943. _classCallCheck(this, PDFNetworkStream);
  22944. this._source = source;
  22945. this._manager = new NetworkManager(source.url, {
  22946. httpHeaders: source.httpHeaders,
  22947. withCredentials: source.withCredentials
  22948. });
  22949. this._rangeChunkSize = source.rangeChunkSize;
  22950. this._fullRequestReader = null;
  22951. this._rangeRequestReaders = [];
  22952. }
  22953. _createClass(PDFNetworkStream, [{
  22954. key: "_onRangeRequestReaderClosed",
  22955. value: function _onRangeRequestReaderClosed(reader) {
  22956. var i = this._rangeRequestReaders.indexOf(reader);
  22957. if (i >= 0) {
  22958. this._rangeRequestReaders.splice(i, 1);
  22959. }
  22960. }
  22961. }, {
  22962. key: "getFullReader",
  22963. value: function getFullReader() {
  22964. (0, _util.assert)(!this._fullRequestReader, "PDFNetworkStream.getFullReader can only be called once.");
  22965. this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);
  22966. return this._fullRequestReader;
  22967. }
  22968. }, {
  22969. key: "getRangeReader",
  22970. value: function getRangeReader(begin, end) {
  22971. var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);
  22972. reader.onClosed = this._onRangeRequestReaderClosed.bind(this);
  22973. this._rangeRequestReaders.push(reader);
  22974. return reader;
  22975. }
  22976. }, {
  22977. key: "cancelAllRequests",
  22978. value: function cancelAllRequests(reason) {
  22979. var _this$_fullRequestRea;
  22980. (_this$_fullRequestRea = this._fullRequestReader) === null || _this$_fullRequestRea === void 0 ? void 0 : _this$_fullRequestRea.cancel(reason);
  22981. var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)),
  22982. _step;
  22983. try {
  22984. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  22985. var reader = _step.value;
  22986. reader.cancel(reason);
  22987. }
  22988. } catch (err) {
  22989. _iterator.e(err);
  22990. } finally {
  22991. _iterator.f();
  22992. }
  22993. }
  22994. }]);
  22995. return PDFNetworkStream;
  22996. }();
  22997. exports.PDFNetworkStream = PDFNetworkStream;
  22998. var PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () {
  22999. function PDFNetworkStreamFullRequestReader(manager, source) {
  23000. _classCallCheck(this, PDFNetworkStreamFullRequestReader);
  23001. this._manager = manager;
  23002. var args = {
  23003. onHeadersReceived: this._onHeadersReceived.bind(this),
  23004. onDone: this._onDone.bind(this),
  23005. onError: this._onError.bind(this),
  23006. onProgress: this._onProgress.bind(this)
  23007. };
  23008. this._url = source.url;
  23009. this._fullRequestId = manager.requestFull(args);
  23010. this._headersReceivedCapability = (0, _util.createPromiseCapability)();
  23011. this._disableRange = source.disableRange || false;
  23012. this._contentLength = source.length;
  23013. this._rangeChunkSize = source.rangeChunkSize;
  23014. if (!this._rangeChunkSize && !this._disableRange) {
  23015. this._disableRange = true;
  23016. }
  23017. this._isStreamingSupported = false;
  23018. this._isRangeSupported = false;
  23019. this._cachedChunks = [];
  23020. this._requests = [];
  23021. this._done = false;
  23022. this._storedError = undefined;
  23023. this._filename = null;
  23024. this.onProgress = null;
  23025. }
  23026. _createClass(PDFNetworkStreamFullRequestReader, [{
  23027. key: "_onHeadersReceived",
  23028. value: function _onHeadersReceived() {
  23029. var fullRequestXhrId = this._fullRequestId;
  23030. var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);
  23031. var getResponseHeader = function getResponseHeader(name) {
  23032. return fullRequestXhr.getResponseHeader(name);
  23033. };
  23034. var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
  23035. getResponseHeader: getResponseHeader,
  23036. isHttp: this._manager.isHttp,
  23037. rangeChunkSize: this._rangeChunkSize,
  23038. disableRange: this._disableRange
  23039. }),
  23040. allowRangeRequests = _validateRangeRequest.allowRangeRequests,
  23041. suggestedLength = _validateRangeRequest.suggestedLength;
  23042. if (allowRangeRequests) {
  23043. this._isRangeSupported = true;
  23044. }
  23045. this._contentLength = suggestedLength || this._contentLength;
  23046. this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
  23047. if (this._isRangeSupported) {
  23048. this._manager.abortRequest(fullRequestXhrId);
  23049. }
  23050. this._headersReceivedCapability.resolve();
  23051. }
  23052. }, {
  23053. key: "_onDone",
  23054. value: function _onDone(data) {
  23055. if (data) {
  23056. if (this._requests.length > 0) {
  23057. var requestCapability = this._requests.shift();
  23058. requestCapability.resolve({
  23059. value: data.chunk,
  23060. done: false
  23061. });
  23062. } else {
  23063. this._cachedChunks.push(data.chunk);
  23064. }
  23065. }
  23066. this._done = true;
  23067. if (this._cachedChunks.length > 0) {
  23068. return;
  23069. }
  23070. var _iterator2 = _createForOfIteratorHelper(this._requests),
  23071. _step2;
  23072. try {
  23073. for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
  23074. var _requestCapability = _step2.value;
  23075. _requestCapability.resolve({
  23076. value: undefined,
  23077. done: true
  23078. });
  23079. }
  23080. } catch (err) {
  23081. _iterator2.e(err);
  23082. } finally {
  23083. _iterator2.f();
  23084. }
  23085. this._requests.length = 0;
  23086. }
  23087. }, {
  23088. key: "_onError",
  23089. value: function _onError(status) {
  23090. this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);
  23091. this._headersReceivedCapability.reject(this._storedError);
  23092. var _iterator3 = _createForOfIteratorHelper(this._requests),
  23093. _step3;
  23094. try {
  23095. for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
  23096. var requestCapability = _step3.value;
  23097. requestCapability.reject(this._storedError);
  23098. }
  23099. } catch (err) {
  23100. _iterator3.e(err);
  23101. } finally {
  23102. _iterator3.f();
  23103. }
  23104. this._requests.length = 0;
  23105. this._cachedChunks.length = 0;
  23106. }
  23107. }, {
  23108. key: "_onProgress",
  23109. value: function _onProgress(evt) {
  23110. var _this$onProgress;
  23111. (_this$onProgress = this.onProgress) === null || _this$onProgress === void 0 ? void 0 : _this$onProgress.call(this, {
  23112. loaded: evt.loaded,
  23113. total: evt.lengthComputable ? evt.total : this._contentLength
  23114. });
  23115. }
  23116. }, {
  23117. key: "filename",
  23118. get: function get() {
  23119. return this._filename;
  23120. }
  23121. }, {
  23122. key: "isRangeSupported",
  23123. get: function get() {
  23124. return this._isRangeSupported;
  23125. }
  23126. }, {
  23127. key: "isStreamingSupported",
  23128. get: function get() {
  23129. return this._isStreamingSupported;
  23130. }
  23131. }, {
  23132. key: "contentLength",
  23133. get: function get() {
  23134. return this._contentLength;
  23135. }
  23136. }, {
  23137. key: "headersReady",
  23138. get: function get() {
  23139. return this._headersReceivedCapability.promise;
  23140. }
  23141. }, {
  23142. key: "read",
  23143. value: function () {
  23144. var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
  23145. var chunk, requestCapability;
  23146. return _regenerator["default"].wrap(function _callee$(_context) {
  23147. while (1) {
  23148. switch (_context.prev = _context.next) {
  23149. case 0:
  23150. if (!this._storedError) {
  23151. _context.next = 2;
  23152. break;
  23153. }
  23154. throw this._storedError;
  23155. case 2:
  23156. if (!(this._cachedChunks.length > 0)) {
  23157. _context.next = 5;
  23158. break;
  23159. }
  23160. chunk = this._cachedChunks.shift();
  23161. return _context.abrupt("return", {
  23162. value: chunk,
  23163. done: false
  23164. });
  23165. case 5:
  23166. if (!this._done) {
  23167. _context.next = 7;
  23168. break;
  23169. }
  23170. return _context.abrupt("return", {
  23171. value: undefined,
  23172. done: true
  23173. });
  23174. case 7:
  23175. requestCapability = (0, _util.createPromiseCapability)();
  23176. this._requests.push(requestCapability);
  23177. return _context.abrupt("return", requestCapability.promise);
  23178. case 10:
  23179. case "end":
  23180. return _context.stop();
  23181. }
  23182. }
  23183. }, _callee, this);
  23184. }));
  23185. function read() {
  23186. return _read.apply(this, arguments);
  23187. }
  23188. return read;
  23189. }()
  23190. }, {
  23191. key: "cancel",
  23192. value: function cancel(reason) {
  23193. this._done = true;
  23194. this._headersReceivedCapability.reject(reason);
  23195. var _iterator4 = _createForOfIteratorHelper(this._requests),
  23196. _step4;
  23197. try {
  23198. for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
  23199. var requestCapability = _step4.value;
  23200. requestCapability.resolve({
  23201. value: undefined,
  23202. done: true
  23203. });
  23204. }
  23205. } catch (err) {
  23206. _iterator4.e(err);
  23207. } finally {
  23208. _iterator4.f();
  23209. }
  23210. this._requests.length = 0;
  23211. if (this._manager.isPendingRequest(this._fullRequestId)) {
  23212. this._manager.abortRequest(this._fullRequestId);
  23213. }
  23214. this._fullRequestReader = null;
  23215. }
  23216. }]);
  23217. return PDFNetworkStreamFullRequestReader;
  23218. }();
  23219. var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () {
  23220. function PDFNetworkStreamRangeRequestReader(manager, begin, end) {
  23221. _classCallCheck(this, PDFNetworkStreamRangeRequestReader);
  23222. this._manager = manager;
  23223. var args = {
  23224. onDone: this._onDone.bind(this),
  23225. onError: this._onError.bind(this),
  23226. onProgress: this._onProgress.bind(this)
  23227. };
  23228. this._url = manager.url;
  23229. this._requestId = manager.requestRange(begin, end, args);
  23230. this._requests = [];
  23231. this._queuedChunk = null;
  23232. this._done = false;
  23233. this._storedError = undefined;
  23234. this.onProgress = null;
  23235. this.onClosed = null;
  23236. }
  23237. _createClass(PDFNetworkStreamRangeRequestReader, [{
  23238. key: "_close",
  23239. value: function _close() {
  23240. var _this$onClosed;
  23241. (_this$onClosed = this.onClosed) === null || _this$onClosed === void 0 ? void 0 : _this$onClosed.call(this, this);
  23242. }
  23243. }, {
  23244. key: "_onDone",
  23245. value: function _onDone(data) {
  23246. var chunk = data.chunk;
  23247. if (this._requests.length > 0) {
  23248. var requestCapability = this._requests.shift();
  23249. requestCapability.resolve({
  23250. value: chunk,
  23251. done: false
  23252. });
  23253. } else {
  23254. this._queuedChunk = chunk;
  23255. }
  23256. this._done = true;
  23257. var _iterator5 = _createForOfIteratorHelper(this._requests),
  23258. _step5;
  23259. try {
  23260. for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
  23261. var _requestCapability2 = _step5.value;
  23262. _requestCapability2.resolve({
  23263. value: undefined,
  23264. done: true
  23265. });
  23266. }
  23267. } catch (err) {
  23268. _iterator5.e(err);
  23269. } finally {
  23270. _iterator5.f();
  23271. }
  23272. this._requests.length = 0;
  23273. this._close();
  23274. }
  23275. }, {
  23276. key: "_onError",
  23277. value: function _onError(status) {
  23278. this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);
  23279. var _iterator6 = _createForOfIteratorHelper(this._requests),
  23280. _step6;
  23281. try {
  23282. for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
  23283. var requestCapability = _step6.value;
  23284. requestCapability.reject(this._storedError);
  23285. }
  23286. } catch (err) {
  23287. _iterator6.e(err);
  23288. } finally {
  23289. _iterator6.f();
  23290. }
  23291. this._requests.length = 0;
  23292. this._queuedChunk = null;
  23293. }
  23294. }, {
  23295. key: "_onProgress",
  23296. value: function _onProgress(evt) {
  23297. if (!this.isStreamingSupported) {
  23298. var _this$onProgress2;
  23299. (_this$onProgress2 = this.onProgress) === null || _this$onProgress2 === void 0 ? void 0 : _this$onProgress2.call(this, {
  23300. loaded: evt.loaded
  23301. });
  23302. }
  23303. }
  23304. }, {
  23305. key: "isStreamingSupported",
  23306. get: function get() {
  23307. return false;
  23308. }
  23309. }, {
  23310. key: "read",
  23311. value: function () {
  23312. var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
  23313. var chunk, requestCapability;
  23314. return _regenerator["default"].wrap(function _callee2$(_context2) {
  23315. while (1) {
  23316. switch (_context2.prev = _context2.next) {
  23317. case 0:
  23318. if (!this._storedError) {
  23319. _context2.next = 2;
  23320. break;
  23321. }
  23322. throw this._storedError;
  23323. case 2:
  23324. if (!(this._queuedChunk !== null)) {
  23325. _context2.next = 6;
  23326. break;
  23327. }
  23328. chunk = this._queuedChunk;
  23329. this._queuedChunk = null;
  23330. return _context2.abrupt("return", {
  23331. value: chunk,
  23332. done: false
  23333. });
  23334. case 6:
  23335. if (!this._done) {
  23336. _context2.next = 8;
  23337. break;
  23338. }
  23339. return _context2.abrupt("return", {
  23340. value: undefined,
  23341. done: true
  23342. });
  23343. case 8:
  23344. requestCapability = (0, _util.createPromiseCapability)();
  23345. this._requests.push(requestCapability);
  23346. return _context2.abrupt("return", requestCapability.promise);
  23347. case 11:
  23348. case "end":
  23349. return _context2.stop();
  23350. }
  23351. }
  23352. }, _callee2, this);
  23353. }));
  23354. function read() {
  23355. return _read2.apply(this, arguments);
  23356. }
  23357. return read;
  23358. }()
  23359. }, {
  23360. key: "cancel",
  23361. value: function cancel(reason) {
  23362. this._done = true;
  23363. var _iterator7 = _createForOfIteratorHelper(this._requests),
  23364. _step7;
  23365. try {
  23366. for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
  23367. var requestCapability = _step7.value;
  23368. requestCapability.resolve({
  23369. value: undefined,
  23370. done: true
  23371. });
  23372. }
  23373. } catch (err) {
  23374. _iterator7.e(err);
  23375. } finally {
  23376. _iterator7.f();
  23377. }
  23378. this._requests.length = 0;
  23379. if (this._manager.isPendingRequest(this._requestId)) {
  23380. this._manager.abortRequest(this._requestId);
  23381. }
  23382. this._close();
  23383. }
  23384. }]);
  23385. return PDFNetworkStreamRangeRequestReader;
  23386. }();
  23387. /***/ }),
  23388. /* 157 */
  23389. /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
  23390. "use strict";
  23391. Object.defineProperty(exports, "__esModule", ({
  23392. value: true
  23393. }));
  23394. exports.PDFFetchStream = void 0;
  23395. var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
  23396. var _util = __w_pdfjs_require__(4);
  23397. var _network_utils = __w_pdfjs_require__(154);
  23398. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  23399. function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
  23400. function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
  23401. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  23402. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  23403. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  23404. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  23405. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  23406. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  23407. ;
  23408. function createFetchOptions(headers, withCredentials, abortController) {
  23409. return {
  23410. method: "GET",
  23411. headers: headers,
  23412. signal: abortController === null || abortController === void 0 ? void 0 : abortController.signal,
  23413. mode: "cors",
  23414. credentials: withCredentials ? "include" : "same-origin",
  23415. redirect: "follow"
  23416. };
  23417. }
  23418. function createHeaders(httpHeaders) {
  23419. var headers = new Headers();
  23420. for (var property in httpHeaders) {
  23421. var value = httpHeaders[property];
  23422. if (typeof value === "undefined") {
  23423. continue;
  23424. }
  23425. headers.append(property, value);
  23426. }
  23427. return headers;
  23428. }
  23429. var PDFFetchStream = /*#__PURE__*/function () {
  23430. function PDFFetchStream(source) {
  23431. _classCallCheck(this, PDFFetchStream);
  23432. this.source = source;
  23433. this.isHttp = /^https?:/i.test(source.url);
  23434. this.httpHeaders = this.isHttp && source.httpHeaders || {};
  23435. this._fullRequestReader = null;
  23436. this._rangeRequestReaders = [];
  23437. }
  23438. _createClass(PDFFetchStream, [{
  23439. key: "_progressiveDataLength",
  23440. get: function get() {
  23441. var _this$_fullRequestRea, _this$_fullRequestRea2;
  23442. return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0;
  23443. }
  23444. }, {
  23445. key: "getFullReader",
  23446. value: function getFullReader() {
  23447. (0, _util.assert)(!this._fullRequestReader, "PDFFetchStream.getFullReader can only be called once.");
  23448. this._fullRequestReader = new PDFFetchStreamReader(this);
  23449. return this._fullRequestReader;
  23450. }
  23451. }, {
  23452. key: "getRangeReader",
  23453. value: function getRangeReader(begin, end) {
  23454. if (end <= this._progressiveDataLength) {
  23455. return null;
  23456. }
  23457. var reader = new PDFFetchStreamRangeReader(this, begin, end);
  23458. this._rangeRequestReaders.push(reader);
  23459. return reader;
  23460. }
  23461. }, {
  23462. key: "cancelAllRequests",
  23463. value: function cancelAllRequests(reason) {
  23464. if (this._fullRequestReader) {
  23465. this._fullRequestReader.cancel(reason);
  23466. }
  23467. var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)),
  23468. _step;
  23469. try {
  23470. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  23471. var reader = _step.value;
  23472. reader.cancel(reason);
  23473. }
  23474. } catch (err) {
  23475. _iterator.e(err);
  23476. } finally {
  23477. _iterator.f();
  23478. }
  23479. }
  23480. }]);
  23481. return PDFFetchStream;
  23482. }();
  23483. exports.PDFFetchStream = PDFFetchStream;
  23484. var PDFFetchStreamReader = /*#__PURE__*/function () {
  23485. function PDFFetchStreamReader(stream) {
  23486. var _this = this;
  23487. _classCallCheck(this, PDFFetchStreamReader);
  23488. this._stream = stream;
  23489. this._reader = null;
  23490. this._loaded = 0;
  23491. this._filename = null;
  23492. var source = stream.source;
  23493. this._withCredentials = source.withCredentials || false;
  23494. this._contentLength = source.length;
  23495. this._headersCapability = (0, _util.createPromiseCapability)();
  23496. this._disableRange = source.disableRange || false;
  23497. this._rangeChunkSize = source.rangeChunkSize;
  23498. if (!this._rangeChunkSize && !this._disableRange) {
  23499. this._disableRange = true;
  23500. }
  23501. if (typeof AbortController !== "undefined") {
  23502. this._abortController = new AbortController();
  23503. }
  23504. this._isStreamingSupported = !source.disableStream;
  23505. this._isRangeSupported = !source.disableRange;
  23506. this._headers = createHeaders(this._stream.httpHeaders);
  23507. var url = source.url;
  23508. fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
  23509. if (!(0, _network_utils.validateResponseStatus)(response.status)) {
  23510. throw (0, _network_utils.createResponseStatusError)(response.status, url);
  23511. }
  23512. _this._reader = response.body.getReader();
  23513. _this._headersCapability.resolve();
  23514. var getResponseHeader = function getResponseHeader(name) {
  23515. return response.headers.get(name);
  23516. };
  23517. var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
  23518. getResponseHeader: getResponseHeader,
  23519. isHttp: _this._stream.isHttp,
  23520. rangeChunkSize: _this._rangeChunkSize,
  23521. disableRange: _this._disableRange
  23522. }),
  23523. allowRangeRequests = _validateRangeRequest.allowRangeRequests,
  23524. suggestedLength = _validateRangeRequest.suggestedLength;
  23525. _this._isRangeSupported = allowRangeRequests;
  23526. _this._contentLength = suggestedLength || _this._contentLength;
  23527. _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
  23528. if (!_this._isStreamingSupported && _this._isRangeSupported) {
  23529. _this.cancel(new _util.AbortException("Streaming is disabled."));
  23530. }
  23531. })["catch"](this._headersCapability.reject);
  23532. this.onProgress = null;
  23533. }
  23534. _createClass(PDFFetchStreamReader, [{
  23535. key: "headersReady",
  23536. get: function get() {
  23537. return this._headersCapability.promise;
  23538. }
  23539. }, {
  23540. key: "filename",
  23541. get: function get() {
  23542. return this._filename;
  23543. }
  23544. }, {
  23545. key: "contentLength",
  23546. get: function get() {
  23547. return this._contentLength;
  23548. }
  23549. }, {
  23550. key: "isRangeSupported",
  23551. get: function get() {
  23552. return this._isRangeSupported;
  23553. }
  23554. }, {
  23555. key: "isStreamingSupported",
  23556. get: function get() {
  23557. return this._isStreamingSupported;
  23558. }
  23559. }, {
  23560. key: "read",
  23561. value: function () {
  23562. var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
  23563. var _yield$this$_reader$r, value, done, buffer;
  23564. return _regenerator["default"].wrap(function _callee$(_context) {
  23565. while (1) {
  23566. switch (_context.prev = _context.next) {
  23567. case 0:
  23568. _context.next = 2;
  23569. return this._headersCapability.promise;
  23570. case 2:
  23571. _context.next = 4;
  23572. return this._reader.read();
  23573. case 4:
  23574. _yield$this$_reader$r = _context.sent;
  23575. value = _yield$this$_reader$r.value;
  23576. done = _yield$this$_reader$r.done;
  23577. if (!done) {
  23578. _context.next = 9;
  23579. break;
  23580. }
  23581. return _context.abrupt("return", {
  23582. value: value,
  23583. done: done
  23584. });
  23585. case 9:
  23586. this._loaded += value.byteLength;
  23587. if (this.onProgress) {
  23588. this.onProgress({
  23589. loaded: this._loaded,
  23590. total: this._contentLength
  23591. });
  23592. }
  23593. buffer = new Uint8Array(value).buffer;
  23594. return _context.abrupt("return", {
  23595. value: buffer,
  23596. done: false
  23597. });
  23598. case 13:
  23599. case "end":
  23600. return _context.stop();
  23601. }
  23602. }
  23603. }, _callee, this);
  23604. }));
  23605. function read() {
  23606. return _read.apply(this, arguments);
  23607. }
  23608. return read;
  23609. }()
  23610. }, {
  23611. key: "cancel",
  23612. value: function cancel(reason) {
  23613. if (this._reader) {
  23614. this._reader.cancel(reason);
  23615. }
  23616. if (this._abortController) {
  23617. this._abortController.abort();
  23618. }
  23619. }
  23620. }]);
  23621. return PDFFetchStreamReader;
  23622. }();
  23623. var PDFFetchStreamRangeReader = /*#__PURE__*/function () {
  23624. function PDFFetchStreamRangeReader(stream, begin, end) {
  23625. var _this2 = this;
  23626. _classCallCheck(this, PDFFetchStreamRangeReader);
  23627. this._stream = stream;
  23628. this._reader = null;
  23629. this._loaded = 0;
  23630. var source = stream.source;
  23631. this._withCredentials = source.withCredentials || false;
  23632. this._readCapability = (0, _util.createPromiseCapability)();
  23633. this._isStreamingSupported = !source.disableStream;
  23634. if (typeof AbortController !== "undefined") {
  23635. this._abortController = new AbortController();
  23636. }
  23637. this._headers = createHeaders(this._stream.httpHeaders);
  23638. this._headers.append("Range", "bytes=".concat(begin, "-").concat(end - 1));
  23639. var url = source.url;
  23640. fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
  23641. if (!(0, _network_utils.validateResponseStatus)(response.status)) {
  23642. throw (0, _network_utils.createResponseStatusError)(response.status, url);
  23643. }
  23644. _this2._readCapability.resolve();
  23645. _this2._reader = response.body.getReader();
  23646. })["catch"](this._readCapability.reject);
  23647. this.onProgress = null;
  23648. }
  23649. _createClass(PDFFetchStreamRangeReader, [{
  23650. key: "isStreamingSupported",
  23651. get: function get() {
  23652. return this._isStreamingSupported;
  23653. }
  23654. }, {
  23655. key: "read",
  23656. value: function () {
  23657. var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
  23658. var _yield$this$_reader$r2, value, done, buffer;
  23659. return _regenerator["default"].wrap(function _callee2$(_context2) {
  23660. while (1) {
  23661. switch (_context2.prev = _context2.next) {
  23662. case 0:
  23663. _context2.next = 2;
  23664. return this._readCapability.promise;
  23665. case 2:
  23666. _context2.next = 4;
  23667. return this._reader.read();
  23668. case 4:
  23669. _yield$this$_reader$r2 = _context2.sent;
  23670. value = _yield$this$_reader$r2.value;
  23671. done = _yield$this$_reader$r2.done;
  23672. if (!done) {
  23673. _context2.next = 9;
  23674. break;
  23675. }
  23676. return _context2.abrupt("return", {
  23677. value: value,
  23678. done: done
  23679. });
  23680. case 9:
  23681. this._loaded += value.byteLength;
  23682. if (this.onProgress) {
  23683. this.onProgress({
  23684. loaded: this._loaded
  23685. });
  23686. }
  23687. buffer = new Uint8Array(value).buffer;
  23688. return _context2.abrupt("return", {
  23689. value: buffer,
  23690. done: false
  23691. });
  23692. case 13:
  23693. case "end":
  23694. return _context2.stop();
  23695. }
  23696. }
  23697. }, _callee2, this);
  23698. }));
  23699. function read() {
  23700. return _read2.apply(this, arguments);
  23701. }
  23702. return read;
  23703. }()
  23704. }, {
  23705. key: "cancel",
  23706. value: function cancel(reason) {
  23707. if (this._reader) {
  23708. this._reader.cancel(reason);
  23709. }
  23710. if (this._abortController) {
  23711. this._abortController.abort();
  23712. }
  23713. }
  23714. }]);
  23715. return PDFFetchStreamRangeReader;
  23716. }();
  23717. /***/ })
  23718. /******/ ]);
  23719. /************************************************************************/
  23720. /******/ // The module cache
  23721. /******/ var __webpack_module_cache__ = {};
  23722. /******/
  23723. /******/ // The require function
  23724. /******/ function __w_pdfjs_require__(moduleId) {
  23725. /******/ // Check if module is in cache
  23726. /******/ var cachedModule = __webpack_module_cache__[moduleId];
  23727. /******/ if (cachedModule !== undefined) {
  23728. /******/ return cachedModule.exports;
  23729. /******/ }
  23730. /******/ // Create a new module (and put it into the cache)
  23731. /******/ var module = __webpack_module_cache__[moduleId] = {
  23732. /******/ id: moduleId,
  23733. /******/ loaded: false,
  23734. /******/ exports: {}
  23735. /******/ };
  23736. /******/
  23737. /******/ // Execute the module function
  23738. /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);
  23739. /******/
  23740. /******/ // Flag the module as loaded
  23741. /******/ module.loaded = true;
  23742. /******/
  23743. /******/ // Return the exports of the module
  23744. /******/ return module.exports;
  23745. /******/ }
  23746. /******/
  23747. /************************************************************************/
  23748. /******/ /* webpack/runtime/node module decorator */
  23749. /******/ (() => {
  23750. /******/ __w_pdfjs_require__.nmd = (module) => {
  23751. /******/ module.paths = [];
  23752. /******/ if (!module.children) module.children = [];
  23753. /******/ return module;
  23754. /******/ };
  23755. /******/ })();
  23756. /******/
  23757. /************************************************************************/
  23758. var __webpack_exports__ = {};
  23759. // This entry need to be wrapped in an IIFE because it need to be in strict mode.
  23760. (() => {
  23761. "use strict";
  23762. var exports = __webpack_exports__;
  23763. Object.defineProperty(exports, "__esModule", ({
  23764. value: true
  23765. }));
  23766. Object.defineProperty(exports, "AnnotationLayer", ({
  23767. enumerable: true,
  23768. get: function get() {
  23769. return _annotation_layer.AnnotationLayer;
  23770. }
  23771. }));
  23772. Object.defineProperty(exports, "AnnotationMode", ({
  23773. enumerable: true,
  23774. get: function get() {
  23775. return _util.AnnotationMode;
  23776. }
  23777. }));
  23778. Object.defineProperty(exports, "CMapCompressionType", ({
  23779. enumerable: true,
  23780. get: function get() {
  23781. return _util.CMapCompressionType;
  23782. }
  23783. }));
  23784. Object.defineProperty(exports, "GlobalWorkerOptions", ({
  23785. enumerable: true,
  23786. get: function get() {
  23787. return _worker_options.GlobalWorkerOptions;
  23788. }
  23789. }));
  23790. Object.defineProperty(exports, "InvalidPDFException", ({
  23791. enumerable: true,
  23792. get: function get() {
  23793. return _util.InvalidPDFException;
  23794. }
  23795. }));
  23796. Object.defineProperty(exports, "LinkTarget", ({
  23797. enumerable: true,
  23798. get: function get() {
  23799. return _display_utils.LinkTarget;
  23800. }
  23801. }));
  23802. Object.defineProperty(exports, "LoopbackPort", ({
  23803. enumerable: true,
  23804. get: function get() {
  23805. return _api.LoopbackPort;
  23806. }
  23807. }));
  23808. Object.defineProperty(exports, "MissingPDFException", ({
  23809. enumerable: true,
  23810. get: function get() {
  23811. return _util.MissingPDFException;
  23812. }
  23813. }));
  23814. Object.defineProperty(exports, "OPS", ({
  23815. enumerable: true,
  23816. get: function get() {
  23817. return _util.OPS;
  23818. }
  23819. }));
  23820. Object.defineProperty(exports, "PDFDataRangeTransport", ({
  23821. enumerable: true,
  23822. get: function get() {
  23823. return _api.PDFDataRangeTransport;
  23824. }
  23825. }));
  23826. Object.defineProperty(exports, "PDFDateString", ({
  23827. enumerable: true,
  23828. get: function get() {
  23829. return _display_utils.PDFDateString;
  23830. }
  23831. }));
  23832. Object.defineProperty(exports, "PDFWorker", ({
  23833. enumerable: true,
  23834. get: function get() {
  23835. return _api.PDFWorker;
  23836. }
  23837. }));
  23838. Object.defineProperty(exports, "PasswordResponses", ({
  23839. enumerable: true,
  23840. get: function get() {
  23841. return _util.PasswordResponses;
  23842. }
  23843. }));
  23844. Object.defineProperty(exports, "PermissionFlag", ({
  23845. enumerable: true,
  23846. get: function get() {
  23847. return _util.PermissionFlag;
  23848. }
  23849. }));
  23850. Object.defineProperty(exports, "PixelsPerInch", ({
  23851. enumerable: true,
  23852. get: function get() {
  23853. return _display_utils.PixelsPerInch;
  23854. }
  23855. }));
  23856. Object.defineProperty(exports, "RenderingCancelledException", ({
  23857. enumerable: true,
  23858. get: function get() {
  23859. return _display_utils.RenderingCancelledException;
  23860. }
  23861. }));
  23862. Object.defineProperty(exports, "SVGGraphics", ({
  23863. enumerable: true,
  23864. get: function get() {
  23865. return _svg.SVGGraphics;
  23866. }
  23867. }));
  23868. Object.defineProperty(exports, "UNSUPPORTED_FEATURES", ({
  23869. enumerable: true,
  23870. get: function get() {
  23871. return _util.UNSUPPORTED_FEATURES;
  23872. }
  23873. }));
  23874. Object.defineProperty(exports, "UnexpectedResponseException", ({
  23875. enumerable: true,
  23876. get: function get() {
  23877. return _util.UnexpectedResponseException;
  23878. }
  23879. }));
  23880. Object.defineProperty(exports, "Util", ({
  23881. enumerable: true,
  23882. get: function get() {
  23883. return _util.Util;
  23884. }
  23885. }));
  23886. Object.defineProperty(exports, "VerbosityLevel", ({
  23887. enumerable: true,
  23888. get: function get() {
  23889. return _util.VerbosityLevel;
  23890. }
  23891. }));
  23892. Object.defineProperty(exports, "XfaLayer", ({
  23893. enumerable: true,
  23894. get: function get() {
  23895. return _xfa_layer.XfaLayer;
  23896. }
  23897. }));
  23898. Object.defineProperty(exports, "addLinkAttributes", ({
  23899. enumerable: true,
  23900. get: function get() {
  23901. return _display_utils.addLinkAttributes;
  23902. }
  23903. }));
  23904. Object.defineProperty(exports, "build", ({
  23905. enumerable: true,
  23906. get: function get() {
  23907. return _api.build;
  23908. }
  23909. }));
  23910. Object.defineProperty(exports, "createObjectURL", ({
  23911. enumerable: true,
  23912. get: function get() {
  23913. return _util.createObjectURL;
  23914. }
  23915. }));
  23916. Object.defineProperty(exports, "createPromiseCapability", ({
  23917. enumerable: true,
  23918. get: function get() {
  23919. return _util.createPromiseCapability;
  23920. }
  23921. }));
  23922. Object.defineProperty(exports, "createValidAbsoluteUrl", ({
  23923. enumerable: true,
  23924. get: function get() {
  23925. return _util.createValidAbsoluteUrl;
  23926. }
  23927. }));
  23928. Object.defineProperty(exports, "getDocument", ({
  23929. enumerable: true,
  23930. get: function get() {
  23931. return _api.getDocument;
  23932. }
  23933. }));
  23934. Object.defineProperty(exports, "getFilenameFromUrl", ({
  23935. enumerable: true,
  23936. get: function get() {
  23937. return _display_utils.getFilenameFromUrl;
  23938. }
  23939. }));
  23940. Object.defineProperty(exports, "getPdfFilenameFromUrl", ({
  23941. enumerable: true,
  23942. get: function get() {
  23943. return _display_utils.getPdfFilenameFromUrl;
  23944. }
  23945. }));
  23946. Object.defineProperty(exports, "getXfaPageViewport", ({
  23947. enumerable: true,
  23948. get: function get() {
  23949. return _display_utils.getXfaPageViewport;
  23950. }
  23951. }));
  23952. Object.defineProperty(exports, "isPdfFile", ({
  23953. enumerable: true,
  23954. get: function get() {
  23955. return _display_utils.isPdfFile;
  23956. }
  23957. }));
  23958. Object.defineProperty(exports, "loadScript", ({
  23959. enumerable: true,
  23960. get: function get() {
  23961. return _display_utils.loadScript;
  23962. }
  23963. }));
  23964. Object.defineProperty(exports, "removeNullCharacters", ({
  23965. enumerable: true,
  23966. get: function get() {
  23967. return _util.removeNullCharacters;
  23968. }
  23969. }));
  23970. Object.defineProperty(exports, "renderTextLayer", ({
  23971. enumerable: true,
  23972. get: function get() {
  23973. return _text_layer.renderTextLayer;
  23974. }
  23975. }));
  23976. Object.defineProperty(exports, "shadow", ({
  23977. enumerable: true,
  23978. get: function get() {
  23979. return _util.shadow;
  23980. }
  23981. }));
  23982. Object.defineProperty(exports, "version", ({
  23983. enumerable: true,
  23984. get: function get() {
  23985. return _api.version;
  23986. }
  23987. }));
  23988. var _display_utils = __w_pdfjs_require__(1);
  23989. var _util = __w_pdfjs_require__(4);
  23990. var _api = __w_pdfjs_require__(136);
  23991. var _annotation_layer = __w_pdfjs_require__(148);
  23992. var _worker_options = __w_pdfjs_require__(142);
  23993. var _is_node = __w_pdfjs_require__(6);
  23994. var _text_layer = __w_pdfjs_require__(151);
  23995. var _svg = __w_pdfjs_require__(152);
  23996. var _xfa_layer = __w_pdfjs_require__(150);
  23997. var pdfjsVersion = '2.12.313';
  23998. var pdfjsBuild = 'a2ae56f39';
  23999. {
  24000. if (_is_node.isNodeJS) {
  24001. var _require = __w_pdfjs_require__(153),
  24002. PDFNodeStream = _require.PDFNodeStream;
  24003. (0, _api.setPDFNetworkStreamFactory)(function (params) {
  24004. return new PDFNodeStream(params);
  24005. });
  24006. } else {
  24007. var _require2 = __w_pdfjs_require__(156),
  24008. PDFNetworkStream = _require2.PDFNetworkStream;
  24009. var _require3 = __w_pdfjs_require__(157),
  24010. PDFFetchStream = _require3.PDFFetchStream;
  24011. (0, _api.setPDFNetworkStreamFactory)(function (params) {
  24012. if ((0, _display_utils.isValidFetchUrl)(params.url)) {
  24013. return new PDFFetchStream(params);
  24014. }
  24015. return new PDFNetworkStream(params);
  24016. });
  24017. }
  24018. }
  24019. })();
  24020. /******/ return __webpack_exports__;
  24021. /******/ })()
  24022. ;
  24023. });
  24024. //# sourceMappingURL=pdf.js.map