Files
2026-02-09 10:48:21 +01:00

1 line
47 KiB
JavaScript

define(["exports","./epubcfi.js"],function(_exports,CFI){function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct=function(){return!!t})()}function _classPrivateMethodInitSpec(e,a){_checkPrivateRedeclaration(e,a),a.add(e)}function _classPrivateFieldInitSpec(e,t,a){_checkPrivateRedeclaration(e,t),t.set(e,a)}function _checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateGetter(s,r,a){return a(_assertClassBrand(s,r))}function _classPrivateFieldSet(s,a,r){s.set(_assertClassBrand(s,a),r)}function _classPrivateFieldGet(s,a){return s.get(_assertClassBrand(s,a))}function _assertClassBrand(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}function _createForOfIteratorHelper(r,e){var o,a,u,n,t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(t)return u=!(a=!0),{s:function(){t=t.call(r)},n:function(){var r=t.next();return a=r.done,r},e:function(r){u=!0,o=r},f:function(){try{a||null==t.return||t.return()}finally{if(u)throw o}}};if(Array.isArray(r)||(t=function(r,a){{var t;if(r)return"string"==typeof r?_arrayLikeToArray(r,a):"Map"===(t="Object"===(t={}.toString.call(r).slice(8,-1))&&r.constructor?r.constructor.name:t)||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}(r))||e&&r&&"number"==typeof r.length)return t&&(r=t),n=0,{s:e=function(){},n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(r){throw r},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.EPUB=void 0;function getAttributes(){for(var _len=arguments.length,xs=new Array(_len),_key=0;_key<_len;_key++)xs[_key]=arguments[_key];return function(el){return el?Object.fromEntries(xs.map(function(x){return[camel(x),el.getAttribute(x)]})):null}}function childGetter(doc,ns){var f=(doc=doc.lookupNamespaceURI(null)===ns||doc.lookupPrefix(ns))?function(el,name){return function(el){return el.namespaceURI===ns&&el.localName===name}}:function(el,name){return function(el){return el.localName===name}};return{$:function(el,name){return babelHelpers.toConsumableArray(el.children).find(f(el,name))},$$:function(el,name){return babelHelpers.toConsumableArray(el.children).filter(f(el,name))},$$$:doc?function(el,name){return babelHelpers.toConsumableArray(el.getElementsByTagNameNS(ns,name))}:function(el,name){return babelHelpers.toConsumableArray(el.getElementsByTagName(name))}}}function resolveURL(url,relativeTo){try{var root,obj;return relativeTo.includes(":")?new URL(url,relativeTo):(root="https://invalid.invalid/",(obj=new URL(url,root+relativeTo)).search="",decodeURI(obj.href.replace(root,"")))}catch(e){return console.warn(e),url}}function _isExternal(uri){return/^(?!blob)\w+:/i.test(uri)}async function replaceSeries(str,regex,f){for(var matches=[],results=(str.replace(regex,function(){for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++)args[_key2]=arguments[_key2];return matches.push(args),null}),[]),_i=0,_matches=matches;_i<_matches.length;_i++)results.push(await f.apply(void 0,babelHelpers.toConsumableArray(_matches[_i])));return str.replace(regex,function(){return results.shift()})}function regexEscape(str){return str.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}function getPropertyURL(value,prefixes){var a,reference;return value&&(value=value.split(":"),a=(value=babelHelpers.slicedToArray(value,2))[0],reference=(value=value[1])||a,prefixes=prefixes.get(value?a:null))?prefixes+reference:null}function getMetadata(opf){function getProperties(el){return(el=refines.get(el?"#"+el.getAttribute("id"):null))?Object.groupBy(el.map(parse),function(x){return x.property}):null}function one(x){return null==x||null==(x=x[0])?void 0:x.value}function prop(x,p){return one(null==x||null==(x=x.props)?void 0:x[p])}function makeLanguageMap(x){var _x$lang;if(!x)return null;var _x$props2=null!=(_x$props2=null==(_x$props2=x.props)?void 0:_x$props2["alternate-script"])?_x$props2:[],altRep=x.attrs["alt-rep"];if(!(_x$props2.length||x.lang&&x.lang!==baseLang||altRep))return x.value;var _step2,map=babelHelpers.defineProperty({},null!=(_x$lang=x.lang)?_x$lang:baseLang,x.value),_iterator2=(altRep&&(map[x.attrs["alt-rep-lang"]]=altRep),_createForOfIteratorHelper(_x$props2));try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var _y$lang,y=_step2.value;null!=map[_y$lang=y.lang]||(map[_y$lang]=y.value)}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}return map}function makeContributor(x){var _x$props3;return x?{name:makeLanguageMap(x),sortAs:null!=(_x$props3=makeLanguageMap(null==(_x$props3=x.props)||null==(_x$props3=_x$props3["file-as"])?void 0:_x$props3[0]))?_x$props3:x.attrs["file-as"],role:null!=(_x$props3=null==(_x$props3=x.props)||null==(_x$props3=_x$props3.role)||null==(_x$props3=_x$props3.filter(function(x){return x.scheme===PREFIX.marc+"relators"}))?void 0:_x$props3.map(function(x){return x.value}))?_x$props3:[x.attrs.role],code:null!=(_x$props3=prop(x,"term"))?_x$props3:x.attrs.term,scheme:null!=(_x$props3=prop(x,"authority"))?_x$props3:x.attrs.authority}:null}function makeCollection(x){return{name:makeLanguageMap(x),position:one(null==(x=x.props)?void 0:x["group-position"])}}function makeAltIdentifier(x){var value=x.value;if(!/^urn:/i.test(value)){if(/^doi:/i.test(value))return"urn:".concat(value);var _x$props6=null==(_x$props6=x.props)?void 0:_x$props6["identifier-type"];if(!_x$props6)return(x=x.attrs.scheme)?/^(doi|isbn|uuid)$/i.test(x)?"urn:".concat(x,":").concat(value):{scheme:x,value:value}:value;if(_x$props6.scheme===PREFIX.onix+"codelist5"){x=ONIX5[_x$props6.value];if(x)return"urn:".concat(x,":").concat(value)}}return value}function remapContributor(defaultKey){return function(x){var _x$role=new Set(null==(_x$role=x.role)?void 0:_x$role.map(function(role){return null!=(role=RELATORS[role])?role:defaultKey}));return[_x$role.size?_x$role:[defaultKey],x]}}var _step3,$metadata=(0,childGetter(opf,NS.OPF).$)(opf.documentElement,"metadata"),els=Object.groupBy($metadata.children,function(el){return el.namespaceURI===NS.DC?"dc":el.namespaceURI===NS.OPF&&"meta"===el.localName?el.hasAttribute("name")?"legacyMeta":"meta":""}),baseLang=null!=($metadata=null!=($metadata=$metadata.getAttribute("xml:lang"))?$metadata:opf.documentElement.getAttribute("xml:lang"))?$metadata:"und",prefixes=function(doc){var map=new Map(Object.entries(PREFIX)),doc=doc.documentElement.getAttributeNS(NS.EPUB,"prefix")||doc.documentElement.getAttribute("prefix");if(doc){var _step,_iterator=_createForOfIteratorHelper(doc.matchAll(/(.+): +(.+)[ \t\r\n]*/g));try{for(_iterator.s();!(_step=_iterator.n()).done;){var _step$value=babelHelpers.slicedToArray(_step.value,3),prefix=_step$value[1],url=_step$value[2];map.set(prefix,url)}}catch(err){_iterator.e(err)}finally{_iterator.f()}}return map}(opf),parse=function(el){var _getPropertyURL,property=el.getAttribute("property"),scheme=el.getAttribute("scheme");return{property:null!=(_getPropertyURL=getPropertyURL(property,prefixes))?_getPropertyURL:property,scheme:null!=(_getPropertyURL=getPropertyURL(scheme,prefixes))?_getPropertyURL:scheme,lang:el.getAttribute("xml:lang"),value:getElementText(el),props:getProperties(el),attrs:Object.fromEntries(Array.from(el.attributes).filter(function(attr){return attr.namespaceURI===NS.OPF}).map(function(attr){return[attr.localName,attr.value]}))}},refines=Map.groupBy(null!=($metadata=els.meta)?$metadata:[],function(el){return el.getAttribute("refines")}),$metadata=Object.fromEntries(Object.entries(Object.groupBy(els.dc,function(el){return el.localName})).map(function(_ref2){_ref2=babelHelpers.slicedToArray(_ref2,2);return[_ref2[0],_ref2[1].map(parse)]})),_getProperties=null!=(_getProperties=getProperties())?_getProperties:{},els=Object.fromEntries(null!=(els=null==(els=els.legacyMeta)?void 0:els.map(function(el){return[el.getAttribute("name"),el.getAttribute("content")]}))?els:[]),_properties$belongsT=Object.groupBy(null!=(_properties$belongsT=_getProperties["belongs-to-collection"])?_properties$belongsT:[],function(x){return"series"===prop(x,"collection-type")?"series":"collection"}),_dc$title=null!=(_dc$title=null==(_dc$title=$metadata.title)?void 0:_dc$title.find(function(x){return"main"===prop(x,"title-type")}))?_dc$title:null==(_dc$title=$metadata.title)?void 0:_dc$title[0],metadata={identifier:getIdentifier(opf),title:makeLanguageMap(_dc$title),sortAs:null!=(_dc$title=null!=(opf=makeLanguageMap(null==_dc$title||null==(opf=_dc$title.props)||null==(opf=opf["file-as"])?void 0:opf[0]))?opf:null==_dc$title||null==(opf=_dc$title.attrs)?void 0:opf["file-as"])?_dc$title:null==els?void 0:els["calibre:title_sort"],subtitle:null==(opf=$metadata.title)||null==(opf=opf.find(function(x){return"subtitle"===prop(x,"title-type")}))?void 0:opf.value,language:null==(_dc$title=$metadata.language)?void 0:_dc$title.map(function(x){return x.value}),description:one($metadata.description),publisher:makeContributor(null==(opf=$metadata.publisher)?void 0:opf[0]),published:null!=(opf=null==(_dc$title=$metadata.date)||null==(_dc$title=_dc$title.find(function(x){return"publication"===x.attrs.event}))?void 0:_dc$title.value)?opf:one($metadata.date),modified:null!=(_dc$title=one(_getProperties[PREFIX.dcterms+"modified"]))?_dc$title:null==(opf=$metadata.date)||null==(opf=opf.find(function(x){return"modification"===x.attrs.event}))?void 0:opf.value,subject:null==(_dc$title=$metadata.subject)?void 0:_dc$title.map(makeContributor),belongsTo:{collection:null==(opf=_properties$belongsT.collection)?void 0:opf.map(makeCollection),series:(null!=(opf=null==(_dc$title=_properties$belongsT.series)?void 0:_dc$title.map(makeCollection))?opf:null!=els&&els["calibre:series"])?{name:null==els?void 0:els["calibre:series"],position:parseFloat(null==els?void 0:els["calibre:series_index"])}:null},altIdentifier:null==(_properties$belongsT=$metadata.identifier)?void 0:_properties$belongsT.map(makeAltIdentifier),source:null==(_dc$title=$metadata.source)?void 0:_dc$title.map(makeAltIdentifier),rights:one($metadata.rights)},_iterator3=_createForOfIteratorHelper([].concat(null!=(els=null==(opf=$metadata.creator)||null==(opf=opf.map(makeContributor))?void 0:opf.map(remapContributor("author")))?els:[],null!=(_dc$title=null==(_properties$belongsT=$metadata.contributor)||null==(_properties$belongsT=_properties$belongsT.map(makeContributor))?void 0:_properties$belongsT.map(remapContributor("contributor")))?_dc$title:[]));try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _step4,_step3$value=babelHelpers.slicedToArray(_step3.value,2),keys=_step3$value[0],_val=_step3$value[1],_iterator4=_createForOfIteratorHelper(keys);try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var _key3=_step4.value;metadata[_key3]?metadata[_key3].push(_val):metadata[_key3]=[_val]}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}tidy(metadata),metadata.altIdentifier===metadata.identifier&&delete metadata.altIdentifier;for(var rendition={},media={},_i3=0,_Object$entries2=Object.entries(_getProperties);_i3<_Object$entries2.length;_i3++){var _Object$entries2$_i=babelHelpers.slicedToArray(_Object$entries2[_i3],2),key=_Object$entries2$_i[0],_Object$entries2$_i=_Object$entries2$_i[1];key.startsWith(PREFIX.rendition)?rendition[camel(key.replace(PREFIX.rendition,""))]=one(_Object$entries2$_i):key.startsWith(PREFIX.media)&&(media[camel(key.replace(PREFIX.media,""))]=one(_Object$entries2$_i))}return media.duration&&(media.duration=parseClock(media.duration)),{metadata:metadata,rendition:rendition,media:media}}function parseNav(doc){function parseOL($ol,getType){return $ol?$$($ol,"li").map(parseLI(getType)):null}function parseNav($nav,getType){return parseOL($($nav,"ol"),getType)}var _step5,resolve=1<arguments.length&&void 0!==arguments[1]?arguments[1]:function(f){return f},$=(_childGetter2=childGetter(doc,NS.XHTML)).$,$$=_childGetter2.$$,_childGetter2=_childGetter2.$$$,parseLI=function(getType){return function($li){var _$=null!=(_$=$($li,"a"))?_$:$($li,"span"),$li=$($li,"ol"),href=function(href){return href?decodeURI(resolve(href)):null}(null==_$?void 0:_$.getAttribute("href")),href={label:getElementText(_$)||(null==_$?void 0:_$.getAttribute("title")),href:href,subitems:parseOL($li)};return getType&&(href.type=null==_$||null==($li=_$.getAttributeNS(NS.EPUB,"type"))?void 0:$li.split(/\s/)),href}},toc=null,pageList=null,landmarks=null,others=[],_iterator5=_createForOfIteratorHelper(_childGetter2(doc,"nav"));try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var _$nav$getAttributeNS$,_$nav$getAttributeNS,$nav=_step5.value,type=null!=(_$nav$getAttributeNS$=null==(_$nav$getAttributeNS=$nav.getAttributeNS(NS.EPUB,"type"))?void 0:_$nav$getAttributeNS.split(/\s/))?_$nav$getAttributeNS$:[];type.includes("toc")?null==toc&&(toc=parseNav($nav)):type.includes("page-list")?null==pageList&&(pageList=parseNav($nav)):type.includes("landmarks")?null==landmarks&&(landmarks=parseNav($nav,!0)):others.push({label:getElementText($nav.firstElementChild),type:type,list:parseNav($nav)})}}catch(err){_iterator5.e(err)}finally{_iterator5.f()}return{toc:toc,pageList:pageList,landmarks:landmarks,others:others}}function parseNCX(doc){function parseList(el,itemName){return $$(el,itemName).map(parseItem)}function getSingle(container,itemName){return(container=$(doc.documentElement,container))?parseList(container,itemName):null}var resolve=1<arguments.length&&void 0!==arguments[1]?arguments[1]:function(f){return f},_childGetter3=childGetter(doc,NS.NCX),$=_childGetter3.$,$$=_childGetter3.$$,parseItem=function(el){var $label=$(el,"navLabel"),$content=$(el,"content"),$label=getElementText($label),$content=function(href){return href?decodeURI(resolve(href)):null}($content.getAttribute("src"));return"navPoint"===el.localName?{label:$label,href:$content,subitems:(el=$$(el,"navPoint")).length?el.map(parseItem):null}:{label:$label,href:$content}};return{toc:getSingle("navMap","navPoint"),pageList:getSingle("pageList","pageTarget"),others:$$(doc.documentElement,"navList").map(function(el){return{label:getElementText($(el,"navLabel")),list:parseList(el,"navTarget")}})}}function parseClock(str){var _parts,parts;if(str)return 3===(parts=str.split(":").map(function(x){return parseFloat(x)})).length?60*(_parts=babelHelpers.slicedToArray(parts,3))[0]*60+60*_parts[1]+_parts[2]:2===parts.length?60*(_parts=babelHelpers.slicedToArray(parts,2))[0]+_parts[1]:(parts=str.split(/(?=[^\d.])/),str=(_parts=babelHelpers.slicedToArray(parts,2))[0],parts=_parts[1],parseFloat(str)*("h"===parts?3600:"min"===parts?60:"ms"===parts?.001:1))}var NS={CONTAINER:"urn:oasis:names:tc:opendocument:xmlns:container",XHTML:"http://www.w3.org/1999/xhtml",OPF:"http://www.idpf.org/2007/opf",EPUB:"http://www.idpf.org/2007/ops",DC:"http://purl.org/dc/elements/1.1/",DCTERMS:"http://purl.org/dc/terms/",ENC:"http://www.w3.org/2001/04/xmlenc#",NCX:"http://www.daisy.org/z3986/2005/ncx/",XLINK:"http://www.w3.org/1999/xlink",SMIL:"http://www.w3.org/ns/SMIL"},MIME={XML:"application/xml",NCX:"application/x-dtbncx+xml",XHTML:"application/xhtml+xml",HTML:"text/html",CSS:"text/css",SVG:"image/svg+xml",JS:/\/(x-)?(javascript|ecmascript)/},PREFIX={a11y:"http://www.idpf.org/epub/vocab/package/a11y/#",dcterms:"http://purl.org/dc/terms/",marc:"http://id.loc.gov/vocabulary/",media:"http://www.idpf.org/epub/vocab/overlays/#",onix:"http://www.editeur.org/ONIX/book/codelists/current.html#",rendition:"http://www.idpf.org/vocab/rendition/#",schema:"http://schema.org/",xsd:"http://www.w3.org/2001/XMLSchema#",msv:"http://www.idpf.org/epub/vocab/structure/magazine/#",prism:"http://www.prismstandard.org/specifications/3.0/PRISM_CV_Spec_3.0.htm#"},RELATORS={art:"artist",aut:"author",clr:"colorist",edt:"editor",ill:"illustrator",nrt:"narrator",trl:"translator",pbl:"publisher"},ONIX5={"02":"isbn","06":"doi",15:"isbn",26:"doi",34:"issn"},camel=function(x){return x.toLowerCase().replace(/[-:](.)/g,function(_,g){return g.toUpperCase()})},normalizeWhitespace=function(str){return str?str.replace(/[\t\n\f\r ]+/g," ").replace(/^[\t\n\f\r ]+/,"").replace(/[\t\n\f\r ]+$/,""):""},getElementText=function(el){return normalizeWhitespace(null==el?void 0:el.textContent)},tidy=function(obj){for(var _i2=0,_Object$entries=Object.entries(obj);_i2<_Object$entries.length;_i2++){var _Object$entries$_i=babelHelpers.slicedToArray(_Object$entries[_i2],2),key=_Object$entries$_i[0],_Object$entries$_i=_Object$entries$_i[1];null==_Object$entries$_i?delete obj[key]:Array.isArray(_Object$entries$_i)?(obj[key]=_Object$entries$_i.filter(function(x){return x}).map(function(x){return"object"!=typeof x||Array.isArray(x)?x:tidy(x)}),obj[key].length?1===obj[key].length&&(obj[key]=obj[key][0]):delete obj[key]):"object"==typeof _Object$entries$_i&&(obj[key]=tidy(_Object$entries$_i),Object.keys(_Object$entries$_i).length||delete obj[key])}var keys=Object.keys(obj);return 1===keys.length&&"name"===keys[0]?obj[keys[0]]:obj},_entries=new WeakMap,_lastMediaOverlayItem=new WeakMap,_sectionIndex=new WeakMap,_audioIndex=new WeakMap,_itemIndex=new WeakMap,_audio=new WeakMap,_volume=new WeakMap,_rate=new WeakMap,_state=new WeakMap,_MediaOverlay_brand=new WeakSet,MediaOverlay=function(_EventTarget){function MediaOverlay(book,loadXML){var t,o,e;return babelHelpers.classCallCheck(this,MediaOverlay),t=this,o=MediaOverlay,o=babelHelpers.getPrototypeOf(o),_classPrivateMethodInitSpec(o=babelHelpers.possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],babelHelpers.getPrototypeOf(t).constructor):o.apply(t,e)),_MediaOverlay_brand),_classPrivateFieldInitSpec(o,_entries,void 0),_classPrivateFieldInitSpec(o,_lastMediaOverlayItem,void 0),_classPrivateFieldInitSpec(o,_sectionIndex,void 0),_classPrivateFieldInitSpec(o,_audioIndex,void 0),_classPrivateFieldInitSpec(o,_itemIndex,void 0),_classPrivateFieldInitSpec(o,_audio,void 0),_classPrivateFieldInitSpec(o,_volume,1),_classPrivateFieldInitSpec(o,_rate,1),_classPrivateFieldInitSpec(o,_state,void 0),o.book=book,o.loadXML=loadXML,o}return babelHelpers.inherits(MediaOverlay,_EventTarget),babelHelpers.createClass(MediaOverlay,[{key:"start",value:async function(sectionIndex){var _this4=this,filter=1<arguments.length&&void 0!==arguments[1]?arguments[1]:function(){return!0},_classPrivateFieldGet2=(null!=(_classPrivateFieldGet2=_classPrivateFieldGet(_audio,this))&&_classPrivateFieldGet2.pause(),this.book.sections[sectionIndex]),href=null==_classPrivateFieldGet2?void 0:_classPrivateFieldGet2.id;if(href){_classPrivateFieldGet2=_classPrivateFieldGet2.mediaOverlay;if(!_classPrivateFieldGet2)return this.start(sectionIndex+1);_classPrivateFieldSet(_sectionIndex,this,sectionIndex),await _assertClassBrand(_MediaOverlay_brand,this,_loadSMIL).call(this,_classPrivateFieldGet2);for(var i=0;i<_classPrivateFieldGet(_entries,this).length;i++)for(var items=_classPrivateFieldGet(_entries,this)[i].items,j=0;j<items.length;j++)if(items[j].text.split("#")[0]===href&&filter(items[j],j,items))return _assertClassBrand(_MediaOverlay_brand,this,_play).call(this,i,j).catch(function(e){return _assertClassBrand(_MediaOverlay_brand,_this4,_error).call(_this4,e)})}}},{key:"pause",value:function(){var _classPrivateFieldGet3;_classPrivateFieldSet(_state,this,"paused"),null!=(_classPrivateFieldGet3=_classPrivateFieldGet(_audio,this))&&_classPrivateFieldGet3.pause()}},{key:"resume",value:function(){var _classPrivateFieldGet4,_this5=this;_classPrivateFieldSet(_state,this,"playing"),null!=(_classPrivateFieldGet4=_classPrivateFieldGet(_audio,this))&&_classPrivateFieldGet4.play().catch(function(e){return _assertClassBrand(_MediaOverlay_brand,_this5,_error).call(_this5,e)})}},{key:"stop",value:function(){_classPrivateFieldSet(_state,this,"stopped"),_assertClassBrand(_MediaOverlay_brand,this,_stop).call(this)}},{key:"prev",value:function(){0<_classPrivateFieldGet(_itemIndex,this)?_assertClassBrand(_MediaOverlay_brand,this,_play).call(this,_classPrivateFieldGet(_audioIndex,this),_classPrivateFieldGet(_itemIndex,this)-1):0<_classPrivateFieldGet(_audioIndex,this)?_assertClassBrand(_MediaOverlay_brand,this,_play).call(this,_classPrivateFieldGet(_audioIndex,this)-1,_classPrivateFieldGet(_entries,this)[_classPrivateFieldGet(_audioIndex,this)-1].items.length-1):0<_classPrivateFieldGet(_sectionIndex,this)&&this.start(_classPrivateFieldGet(_sectionIndex,this)-1,function(_,i,items){return i===items.length-1})}},{key:"next",value:function(){_assertClassBrand(_MediaOverlay_brand,this,_play).call(this,_classPrivateFieldGet(_audioIndex,this),_classPrivateFieldGet(_itemIndex,this)+1)}},{key:"setVolume",value:function(volume){_classPrivateFieldSet(_volume,this,volume),_classPrivateFieldGet(_audio,this)&&(_classPrivateFieldGet(_audio,this).volume=volume)}},{key:"setRate",value:function(rate){_classPrivateFieldSet(_rate,this,rate),_classPrivateFieldGet(_audio,this)&&(_classPrivateFieldGet(_audio,this).playbackRate=rate)}}])}(babelHelpers.wrapNativeSuper(EventTarget));async function _loadSMIL(item){var doc,resolve,$,_childGetter5;_classPrivateFieldGet(_lastMediaOverlayItem,this)!==item&&(doc=await this.loadXML(item.href),resolve=function(href){return href?resolveURL(href,item.href):null},_childGetter5=childGetter(doc,NS.SMIL),$=_childGetter5.$,_childGetter5=_childGetter5.$$$,_classPrivateFieldSet(_audioIndex,this,-1),_classPrivateFieldSet(_itemIndex,this,-1),_classPrivateFieldSet(_entries,this,_childGetter5(doc,"par").reduce(function(arr,$par){var src,begin,last,_$2=resolve(null==(_$2=$($par,"text"))?void 0:_$2.getAttribute("src")),$par=$($par,"audio");return _$2&&$par&&(src=resolve($par.getAttribute("src")),begin=parseClock($par.getAttribute("clipBegin")),$par=parseClock($par.getAttribute("clipEnd")),(null==(last=arr.at(-1))?void 0:last.src)===src?last.items.push({text:_$2,begin:begin,end:$par}):arr.push({src:src,items:[{text:_$2,begin:begin,end:$par}]})),arr},[])),_classPrivateFieldSet(_lastMediaOverlayItem,this,item))}function _get_activeAudio(_this){return _classPrivateFieldGet(_entries,_this)[_classPrivateFieldGet(_audioIndex,_this)]}function _get_activeItem(_this2){var _classPrivateGetter2;return null==(_classPrivateGetter2=_classPrivateGetter(_MediaOverlay_brand,_this2,_get_activeAudio))||null==(_classPrivateGetter2=_classPrivateGetter2.items)?void 0:_classPrivateGetter2[_classPrivateFieldGet(_itemIndex,_this2)]}function _error(e){console.error(e),this.dispatchEvent(new CustomEvent("error",{detail:e}))}function _highlight(){this.dispatchEvent(new CustomEvent("highlight",{detail:_classPrivateGetter(_MediaOverlay_brand,this,_get_activeItem)}))}function _unhighlight(){this.dispatchEvent(new CustomEvent("unhighlight",{detail:_classPrivateGetter(_MediaOverlay_brand,this,_get_activeItem)}))}async function _play(audioIndex,itemIndex){var _this10=this,src=(_assertClassBrand(_MediaOverlay_brand,this,_stop).call(this),_classPrivateFieldSet(_audioIndex,this,audioIndex),_classPrivateFieldSet(_itemIndex,this,itemIndex),null==(itemIndex=_classPrivateGetter(_MediaOverlay_brand,this,_get_activeAudio))?void 0:itemIndex.src);if(!src||!_classPrivateGetter(_MediaOverlay_brand,this,_get_activeItem))return this.start(_classPrivateFieldGet(_sectionIndex,this)+1);var url=URL.createObjectURL(await this.book.loadBlob(src)),audio=new Audio(url);_classPrivateFieldSet(_audio,this,audio),audio.volume=_classPrivateFieldGet(_volume,this),audio.playbackRate=_classPrivateFieldGet(_rate,this),audio.addEventListener("timeupdate",function(){if(!audio.paused){var t=audio.currentTime,items=_classPrivateGetter(_MediaOverlay_brand,_this10,_get_activeAudio).items;if(t>(null==(_classPrivateGetter5=_classPrivateGetter(_MediaOverlay_brand,_this10,_get_activeItem))?void 0:_classPrivateGetter5.end)&&(_assertClassBrand(_MediaOverlay_brand,_this10,_unhighlight).call(_this10),_classPrivateFieldGet(_itemIndex,_this10)===items.length-1))_assertClassBrand(_MediaOverlay_brand,_this10,_play).call(_this10,_classPrivateFieldGet(_audioIndex,_this10)+1,0).catch(function(e){return _assertClassBrand(_MediaOverlay_brand,_this10,_error).call(_this10,e)});else{for(var _items,_classPrivateGetter5=_classPrivateFieldGet(_itemIndex,_this10);(null==(_items=items[_classPrivateFieldGet(_itemIndex,_this10)+1])?void 0:_items.begin)<=t;)_classPrivateFieldSet(_itemIndex,_this10,(_items=_classPrivateFieldGet(_itemIndex,_this10),_items++,_items));_classPrivateFieldGet(_itemIndex,_this10)!==_classPrivateGetter5&&_assertClassBrand(_MediaOverlay_brand,_this10,_highlight).call(_this10)}}}),audio.addEventListener("error",function(){return _assertClassBrand(_MediaOverlay_brand,_this10,_error).call(_this10,new Error("Failed to load ".concat(src)))}),audio.addEventListener("playing",function(){return _assertClassBrand(_MediaOverlay_brand,_this10,_highlight).call(_this10)}),audio.addEventListener("ended",function(){_assertClassBrand(_MediaOverlay_brand,_this10,_unhighlight).call(_this10),URL.revokeObjectURL(url),_classPrivateFieldSet(_audio,_this10,null),_assertClassBrand(_MediaOverlay_brand,_this10,_play).call(_this10,audioIndex+1,0).catch(function(e){return _assertClassBrand(_MediaOverlay_brand,_this10,_error).call(_this10,e)})}),"paused"===_classPrivateFieldGet(_state,this)?(_assertClassBrand(_MediaOverlay_brand,this,_highlight).call(this),audio.currentTime=null!=(itemIndex=_classPrivateGetter(_MediaOverlay_brand,this,_get_activeItem).begin)?itemIndex:0):audio.addEventListener("canplaythrough",function(){var _classPrivateGetter$b2;audio.currentTime=null!=(_classPrivateGetter$b2=_classPrivateGetter(_MediaOverlay_brand,_this10,_get_activeItem).begin)?_classPrivateGetter$b2:0,_classPrivateFieldSet(_state,_this10,"playing"),audio.play().catch(function(e){return _assertClassBrand(_MediaOverlay_brand,_this10,_error).call(_this10,e)})},{once:!0})}function _stop(){_classPrivateFieldGet(_audio,this)&&(_classPrivateFieldGet(_audio,this).pause(),URL.revokeObjectURL(_classPrivateFieldGet(_audio,this).src),_classPrivateFieldSet(_audio,this,null),_assertClassBrand(_MediaOverlay_brand,this,_unhighlight).call(this))}var isUUID=/([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})/,getUUID=function(opf){var _step6,_iterator6=_createForOfIteratorHelper(opf.getElementsByTagNameNS(NS.DC,"identifier"));try{for(_iterator6.s();!(_step6=_iterator6.n()).done;){var el=_step6.value,_getElementText$split=getElementText(el).split(":").slice(-1),id=babelHelpers.slicedToArray(_getElementText$split,1)[0];if(isUUID.test(id))return id}}catch(err){_iterator6.e(err)}finally{_iterator6.f()}return""},getIdentifier=function(opf){var _opf$getElementById;return getElementText(null!=(_opf$getElementById=opf.getElementById(opf.documentElement.getAttribute("unique-identifier")))?_opf$getElementById:opf.getElementsByTagNameNS(NS.DC,"identifier")[0])},deobfuscate=async function(key,length,blob){var array=new Uint8Array(await blob.slice(0,length).arrayBuffer());length=Math.min(length,array.length);for(var i=0;i<length;i++)array[i]=array[i]^key[i%key.length];return new Blob([array,blob.slice(length)],{type:blob.type})},WebCryptoSHA1=async function(str){str=(new TextEncoder).encode(str),str=await globalThis.crypto.subtle.digest("SHA-1",str);return new Uint8Array(str)},_uris=new WeakMap,_decoders=new WeakMap,_algorithms=new WeakMap,Encryption=function(){return babelHelpers.createClass(function Encryption(algorithms){babelHelpers.classCallCheck(this,Encryption),_classPrivateFieldInitSpec(this,_uris,new Map),_classPrivateFieldInitSpec(this,_decoders,new Map),_classPrivateFieldInitSpec(this,_algorithms,void 0),_classPrivateFieldSet(_algorithms,this,algorithms)},[{key:"init",value:async function(encryption,opf){var _this6=this;if(encryption)for(var encryption=Array.from(encryption.getElementsByTagNameNS(NS.ENC,"EncryptedData"),function(el){var _el$getElementsByTagN;return{algorithm:null==(_el$getElementsByTagN=el.getElementsByTagNameNS(NS.ENC,"EncryptionMethod")[0])?void 0:_el$getElementsByTagN.getAttribute("Algorithm"),uri:null==(_el$getElementsByTagN=el.getElementsByTagNameNS(NS.ENC,"CipherReference")[0])?void 0:_el$getElementsByTagN.getAttribute("URI")}}),_i4=0,_data=encryption;_i4<_data.length;_i4++)await async function(){var _data$_i=_data[_i4],algorithm=_data$_i.algorithm,_data$_i=_data$_i.uri;if(!_classPrivateFieldGet(_decoders,_this6).has(algorithm)){var algo=_classPrivateFieldGet(_algorithms,_this6)[algorithm];if(!algo)return!console.warn("Unknown encryption algorithm");var key=await algo.key(opf);_classPrivateFieldGet(_decoders,_this6).set(algorithm,function(blob){return algo.decode(key,blob)})}_classPrivateFieldGet(_uris,_this6).set(_data$_i,algorithm)}()}},{key:"getDecoder",value:function(uri){return null!=(uri=_classPrivateFieldGet(_decoders,this).get(_classPrivateFieldGet(_uris,this).get(uri)))?uri:function(x){return x}}}])}(),Resources=function(){return babelHelpers.createClass(function Resources(_ref5){var attr,value,isList,opf=_ref5.opf,resolveHref=_ref5.resolveHref,_ref5=(babelHelpers.classCallCheck(this,Resources),this.opf=opf,childGetter(opf,NS.OPF)),$=_ref5.$,$$=_ref5.$$,_ref5=_ref5.$$$,$manifest=$(opf.documentElement,"manifest"),$spine=$(opf.documentElement,"spine"),$$itemref=$$($spine,"itemref"),$manifest=(this.manifest=$$($manifest,"item").map(getAttributes("href","id","media-type","properties","media-overlay")).map(function(item){var _item$properties;return item.href=resolveHref(item.href),item.properties=null==(_item$properties=item.properties)?void 0:_item$properties.split(/\s/),item}),this.spine=$$itemref.map(getAttributes("idref","id","linear","properties")).map(function(item){var _item$properties2;return item.properties=null==(_item$properties2=item.properties)?void 0:_item$properties2.split(/\s/),item}),this.pageProgressionDirection=$spine.getAttribute("page-progression-direction"),this.navPath=null==($manifest=this.getItemByProperty("nav"))?void 0:$manifest.href,this.ncxPath=null==($spine=null!=($manifest=this.getItemByID($spine.getAttribute("toc")))?$manifest:this.manifest.find(function(item){return item.mediaType===MIME.NCX}))?void 0:$spine.href,$(opf.documentElement,"guide"));$manifest&&(this.guide=$$($manifest,"reference").map(getAttributes("type","title","href")).map(function(_ref7){var type=_ref7.type,title=_ref7.title,_ref7=_ref7.href;return{label:title,type:type.split(/\s/),href:resolveHref(_ref7)}})),this.cover=null!=($$=null!=($spine=this.getItemByProperty("cover-image"))?$spine:this.getItemByID(null==($=_ref5(opf,"meta").find((attr="name",value="cover",isList?function(el){return null==(el=el.getAttribute(attr))||null==(el=el.split(/\s/))?void 0:el.includes(value)}:"function"==typeof value?function(el){return value(el.getAttribute(attr))}:function(el){return el.getAttribute(attr)===value})))?void 0:$.getAttribute("content")))?$$:this.getItemByHref(null==($manifest=this.guide)||null==($manifest=$manifest.find(function(ref){return ref.type.includes("cover")}))?void 0:$manifest.href),this.cfis=CFI.fromElements($$itemref)},[{key:"getItemByID",value:function(id){return this.manifest.find(function(item){return item.id===id})}},{key:"getItemByHref",value:function(href){return this.manifest.find(function(item){return item.href===href})}},{key:"getItemByProperty",value:function(prop){return this.manifest.find(function(item){return null==(item=item.properties)?void 0:item.includes(prop)})}},{key:"resolveCFI",value:function(cfi){var parts=CFI.parse(cfi),cfi=(null!=(cfi=parts.parent)?cfi:parts).shift(),$itemref=CFI.toElement(this.opf,cfi),idref=($itemref&&"idref"!==$itemref.nodeName&&(cfi.at(-1).id=null,$itemref=CFI.toElement(this.opf,cfi)),null==$itemref?void 0:$itemref.getAttribute("idref"));return{index:this.spine.findIndex(function(item){return item.idref===idref}),anchor:function(doc){return CFI.toRange(doc,parts)}}}}])}(),_cache=new WeakMap,_children=new WeakMap,_refCount=new WeakMap,Loader=function(){return babelHelpers.createClass(function Loader(_ref9){var loadText=_ref9.loadText,loadBlob=_ref9.loadBlob,_ref9=_ref9.resources;babelHelpers.classCallCheck(this,Loader),_classPrivateFieldInitSpec(this,_cache,new Map),_classPrivateFieldInitSpec(this,_children,new Map),_classPrivateFieldInitSpec(this,_refCount,new Map),babelHelpers.defineProperty(this,"allowScript",!1),babelHelpers.defineProperty(this,"eventTarget",new EventTarget),this.loadText=loadText,this.loadBlob=loadBlob,this.manifest=_ref9.manifest,this.assets=_ref9.manifest},[{key:"createURL",value:async function(href,data,type,parent){return data?(data={data:data,type:type},Object.defineProperty(data,"name",{value:href}),type=new CustomEvent("data",{detail:data}),this.eventTarget.dispatchEvent(type),data=await type.detail.data,type=await type.detail.type,data=URL.createObjectURL(new Blob([data],{type:type})),_classPrivateFieldGet(_cache,this).set(href,data),_classPrivateFieldGet(_refCount,this).set(href,1),parent&&((type=_classPrivateFieldGet(_children,this).get(parent))?type.push(href):_classPrivateFieldGet(_children,this).set(parent,[href])),data):""}},{key:"ref",value:function(href,parent){var childList=_classPrivateFieldGet(_children,this).get(parent);return null!=childList&&childList.includes(href)||(_classPrivateFieldGet(_refCount,this).set(href,_classPrivateFieldGet(_refCount,this).get(href)+1),childList?childList.push(href):_classPrivateFieldGet(_children,this).set(parent,[href])),_classPrivateFieldGet(_cache,this).get(href)}},{key:"unref",value:function(href){if(_classPrivateFieldGet(_refCount,this).has(href)){var count=_classPrivateFieldGet(_refCount,this).get(href)-1;if(count<1){URL.revokeObjectURL(_classPrivateFieldGet(_cache,this).get(href)),_classPrivateFieldGet(_cache,this).delete(href),_classPrivateFieldGet(_refCount,this).delete(href);var childList=_classPrivateFieldGet(_children,this).get(href);if(childList)for(;childList.length;)this.unref(childList.pop());_classPrivateFieldGet(_children,this).delete(href)}else _classPrivateFieldGet(_refCount,this).set(href,count)}}},{key:"loadItem",value:async function(item){var href,mediaType,parent,isScript,_this7=this,parents=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[];return!item||(href=item.href,mediaType=item.mediaType,(isScript=MIME.JS.test(item.mediaType))&&!this.allowScript)?null:(parent=parents.at(-1),_classPrivateFieldGet(_cache,this).has(href)?this.ref(href,parent):(isScript||[MIME.XHTML,MIME.HTML,MIME.CSS,MIME.SVG].includes(mediaType))&&parents.every(function(p){return p!==href})?this.loadReplaced(item,parents):(isScript=Promise.resolve().then(function(){return _this7.loadBlob(href)}),this.createURL(href,isScript,mediaType,parent)))}},{key:"loadHref",value:async function(href,base){var path,item,parents=2<arguments.length&&void 0!==arguments[2]?arguments[2]:[];return!_isExternal(href)&&(path=resolveURL(href,base),item=this.manifest.find(function(item){return item.href===path}))?this.loadItem(item,parents.concat(base)):href}},{key:"loadReplaced",value:async function(item){var _this8=this,parents=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],href=item.href,mediaType=item.mediaType,parent=parents.at(-1),str="";try{str=await this.loadText(href)}catch(e){return this.createURL(href,Promise.reject(e),mediaType,parent)}if(!str)return null;if([MIME.XHTML,MIME.HTML,MIME.SVG].includes(mediaType)){var doc=(new DOMParser).parseFromString(str,mediaType);if(mediaType!==MIME.XHTML||!doc.querySelector("parsererror")&&null!=(_doc$documentElement=doc.documentElement)&&_doc$documentElement.namespaceURI||(console.warn(null!=(_doc$documentElement=null==(_doc$documentElement=doc.querySelector("parsererror"))?void 0:_doc$documentElement.innerText)?_doc$documentElement:"Invalid XHTML"),item.mediaType=MIME.HTML,doc=(new DOMParser).parseFromString(str,item.mediaType)),[MIME.XHTML,MIME.SVG].includes(item.mediaType))for(var replacedData,child=doc.firstChild;child instanceof ProcessingInstruction;)child.data&&(replacedData=await replaceSeries(child.data,/(?:^|\s*)(href\s*=\s*['"])([^'"]*)(['"])/i,function(_,p1,p2,p3){return _this8.loadHref(p2,href,parents).then(function(p2){return"".concat(p1).concat(p2).concat(p3)})}),child.replaceWith(doc.createProcessingInstruction(child.target,replacedData))),child=child.nextSibling;var _step7,replace=async function(el,attr){return el.setAttribute(attr,await _this8.loadHref(el.getAttribute(attr),href,parents))},_iterator7=_createForOfIteratorHelper(doc.querySelectorAll("link[href]"));try{for(_iterator7.s();!(_step7=_iterator7.n()).done;)await replace(_step7.value,"href")}catch(err){_iterator7.e(err)}finally{_iterator7.f()}var _step8,_iterator8=_createForOfIteratorHelper(doc.querySelectorAll("[src]"));try{for(_iterator8.s();!(_step8=_iterator8.n()).done;)await replace(_step8.value,"src")}catch(err){_iterator8.e(err)}finally{_iterator8.f()}var _step9,_iterator9=_createForOfIteratorHelper(doc.querySelectorAll("[poster]"));try{for(_iterator9.s();!(_step9=_iterator9.n()).done;)await replace(_step9.value,"poster")}catch(err){_iterator9.e(err)}finally{_iterator9.f()}var _step0,_iterator0=_createForOfIteratorHelper(doc.querySelectorAll("object[data]"));try{for(_iterator0.s();!(_step0=_iterator0.n()).done;)await replace(_step0.value,"data")}catch(err){_iterator0.e(err)}finally{_iterator0.f()}var _step1,_iterator1=_createForOfIteratorHelper(doc.querySelectorAll("[*|href]:not([href])"));try{for(_iterator1.s();!(_step1=_iterator1.n()).done;){var _el4=_step1.value;_el4.setAttributeNS(NS.XLINK,"href",await this.loadHref(_el4.getAttributeNS(NS.XLINK,"href"),href,parents))}}catch(err){_iterator1.e(err)}finally{_iterator1.f()}var _step10,_iterator10=_createForOfIteratorHelper(doc.querySelectorAll("style"));try{for(_iterator10.s();!(_step10=_iterator10.n()).done;){var _el5=_step10.value;_el5.textContent&&(_el5.textContent=await this.replaceCSS(_el5.textContent,href,parents))}}catch(err){_iterator10.e(err)}finally{_iterator10.f()}var _step11,_iterator11=_createForOfIteratorHelper(doc.querySelectorAll("[style]"));try{for(_iterator11.s();!(_step11=_iterator11.n()).done;){var _el6=_step11.value;_el6.setAttribute("style",await this.replaceCSS(_el6.getAttribute("style"),href,parents))}}catch(err){_iterator11.e(err)}finally{_iterator11.f()}var _doc$documentElement=(new XMLSerializer).serializeToString(doc);return this.createURL(href,_doc$documentElement,item.mediaType,parent)}_doc$documentElement=mediaType===MIME.CSS?await this.replaceCSS(str,href,parents):await this.replaceString(str,href,parents);return this.createURL(href,_doc$documentElement,mediaType,parent)}},{key:"replaceCSS",value:async function(str,href){var _this9=this,parents=2<arguments.length&&void 0!==arguments[2]?arguments[2]:[],replacedUrls=await replaceSeries(str,/url\(\s*["']?([^'"\n]*?)\s*["']?\s*\)/gi,function(_,url){return _this9.loadHref(url,href,parents).then(function(url){return'url("'.concat(url,'")')})});return replaceSeries(replacedUrls,/@import\s*["']([^"'\n]*?)["']/gi,function(_,url){return _this9.loadHref(url,href,parents).then(function(url){return'@import "'.concat(url,'"')})})}},{key:"replaceString",value:function(str,href){var _this0=this,parents=2<arguments.length&&void 0!==arguments[2]?arguments[2]:[],assetMap=new Map,urls=this.assets.map(function(asset){if(asset.href!==href){from=href.slice(0,href.lastIndexOf("/")+1),to=asset.href;var as,bs,_step12,from=from?(as=from.replace(/\/$/,"").split("/"),bs=to.replace(/\/$/,"").split("/"),(from=(as.length>bs.length?as:bs).findIndex(function(_,i){return as[i]!==bs[i]}))<0?"":Array(as.length-from).fill("..").concat(bs.slice(from)).join("/")):to,to=encodeURI(from),rootRelative="/"+asset.href,rootRelativeEnc=encodeURI(rootRelative),from=new Set([from,to,rootRelative,rootRelativeEnc]),_iterator12=_createForOfIteratorHelper(from);try{for(_iterator12.s();!(_step12=_iterator12.n()).done;){var url=_step12.value;assetMap.set(url,asset)}}catch(err){_iterator12.e(err)}finally{_iterator12.f()}return Array.from(from)}}).flat().filter(function(x){return x});return urls.length?(urls=new RegExp(urls.map(regexEscape).join("|"),"g"),replaceSeries(str,urls,async function(match){return _this0.loadItem(assetMap.get(match.replace(/^\//,"")),parents.concat(href))})):str}},{key:"unloadItem",value:function(item){this.unref(null==item?void 0:item.href)}},{key:"destroy",value:function(){var _step13,_iterator13=_createForOfIteratorHelper(_classPrivateFieldGet(_cache,this).values());try{for(_iterator13.s();!(_step13=_iterator13.n()).done;){var url=_step13.value;URL.revokeObjectURL(url)}}catch(err){_iterator13.e(err)}finally{_iterator13.f()}}}])}(),_loader=new WeakMap,_encryption=new WeakMap,_EPUB_brand=new WeakSet;_exports.EPUB=function(){return babelHelpers.createClass(function EPUB(_ref0){var loadText=_ref0.loadText,loadBlob=_ref0.loadBlob,getSize=_ref0.getSize,_ref0=_ref0.sha1;babelHelpers.classCallCheck(this,EPUB),_classPrivateMethodInitSpec(this,_EPUB_brand),babelHelpers.defineProperty(this,"parser",new DOMParser),_classPrivateFieldInitSpec(this,_loader,void 0),_classPrivateFieldInitSpec(this,_encryption,void 0),this.loadText=loadText,this.loadBlob=loadBlob,this.getSize=getSize,_classPrivateFieldSet(_encryption,this,new Encryption(function(){var sha1=0<arguments.length&&void 0!==arguments[0]?arguments[0]:WebCryptoSHA1;return{"http://www.idpf.org/2008/embedding":{key:function(opf){return sha1(getIdentifier(opf).replaceAll(/[\u0020\u0009\u000d\u000a]/g,""))},decode:function(key,blob){return deobfuscate(key,1040,blob)}},"http://ns.adobe.com/pdf/enc#RC":{key:function(opf){var uuid=getUUID(opf).replaceAll("-","");return Uint8Array.from({length:16},function(_,i){return parseInt(uuid.slice(2*i,2*i+2),16)})},decode:function(key,blob){return deobfuscate(key,1024,blob)}}}}(_ref0)))},[{key:"init",value:async function(){var _this1=this,$container=await _assertClassBrand(_EPUB_brand,this,_loadXML).call(this,"META-INF/container.xml");if(!$container)throw new Error("Failed to load container file");$container=Array.from($container.getElementsByTagNameNS(NS.CONTAINER,"rootfile"),getAttributes("full-path","media-type")).filter(function(file){return"application/oebps-package+xml"===file.mediaType});if(!$container.length)throw new Error("No package document defined in container");var opfPath=$container[0].fullPath,$container=await _assertClassBrand(_EPUB_brand,this,_loadXML).call(this,opfPath);if(!$container)throw new Error("Failed to load package document");var $encryption=await _assertClassBrand(_EPUB_brand,this,_loadXML).call(this,"META-INF/encryption.xml"),$encryption=(await _classPrivateFieldGet(_encryption,this).init($encryption,$container),this.resources=new Resources({opf:$container,resolveHref:function(url){return resolveURL(url,opfPath)}}),_classPrivateFieldSet(_loader,this,new Loader({loadText:this.loadText,loadBlob:function(uri){return Promise.resolve(_this1.loadBlob(uri)).then(_classPrivateFieldGet(_encryption,_this1).getDecoder(uri))},resources:this.resources})),this.transformTarget=_classPrivateFieldGet(_loader,this).eventTarget,this.sections=this.resources.spine.map(function(spineItem,index){var idref=spineItem.idref,linear=spineItem.linear,spineItem=spineItem.properties,spineItem=void 0===spineItem?[]:spineItem,item=_this1.resources.getItemByID(idref);return item?{id:item.href,load:function(){return _classPrivateFieldGet(_loader,_this1).loadItem(item)},unload:function(){return _classPrivateFieldGet(_loader,_this1).unloadItem(item)},createDocument:function(){return _this1.loadDocument(item)},size:_this1.getSize(item.href),cfi:_this1.resources.cfis[index],linear:linear,pageSpread:function(properties){var _step14,_iterator14=_createForOfIteratorHelper(properties);try{for(_iterator14.s();!(_step14=_iterator14.n()).done;){var p=_step14.value;if("page-spread-left"===p||"rendition:page-spread-left"===p)return"left";if("page-spread-right"===p||"rendition:page-spread-right"===p)return"right";if("rendition:page-spread-center"===p)return"center"}}catch(err){_iterator14.e(err)}finally{_iterator14.f()}}(spineItem),resolveHref:function(href){return resolveURL(href,item.href)},mediaOverlay:item.mediaOverlay?_this1.resources.getItemByID(item.mediaOverlay):null}:(console.warn('Could not find item with ID "'.concat(idref,'" in manifest')),null)}).filter(function(s){return s}),this.resources),navPath=$encryption.navPath,ncxPath=$encryption.ncxPath;if(navPath)try{var nav=parseNav(await _assertClassBrand(_EPUB_brand,this,_loadXML).call(this,navPath),function(url){return resolveURL(url,navPath)});this.toc=nav.toc,this.pageList=nav.pageList,this.landmarks=nav.landmarks}catch(e){console.warn(e)}if(!this.toc&&ncxPath)try{var ncx=parseNCX(await _assertClassBrand(_EPUB_brand,this,_loadXML).call(this,ncxPath),function(url){return resolveURL(url,ncxPath)});this.toc=ncx.toc,this.pageList=ncx.pageList}catch(e){console.warn(e)}null==this.landmarks&&(this.landmarks=this.resources.guide);var $encryption=getMetadata($container),nav=$encryption.metadata,ncx=$encryption.rendition,$container=$encryption.media,ncx=(this.metadata=nav,this.rendition=ncx,this.media=$container,this.dir=this.resources.pageProgressionDirection,(nav=null!=($encryption=await _assertClassBrand(_EPUB_brand,this,_loadXML).call(this,"META-INF/com.apple.ibooks.display-options.xml"))?$encryption:await _assertClassBrand(_EPUB_brand,this,_loadXML).call(this,"META-INF/com.kobobooks.display-options.xml"))?{fixedLayout:getElementText(nav.querySelector('option[name="fixed-layout"]')),openToSpread:getElementText(nav.querySelector('option[name="open-to-spread"]'))}:null);return ncx&&("true"===ncx.fixedLayout&&null==($container=this.rendition).layout&&($container.layout="pre-paginated"),"false"===ncx.openToSpread)&&null==($encryption=this.sections.find(function(section){return"no"!==section.linear})).pageSpread&&($encryption.pageSpread="rtl"===this.dir?"left":"right"),this}},{key:"loadDocument",value:async function(item){var str=await this.loadText(item.href);return this.parser.parseFromString(str,item.mediaType)}},{key:"getMediaOverlay",value:function(){return new MediaOverlay(this,_assertClassBrand(_EPUB_brand,this,_loadXML).bind(this))}},{key:"resolveCFI",value:function(cfi){return this.resources.resolveCFI(cfi)}},{key:"resolveHref",value:function(href){var href=href.split("#"),href=babelHelpers.slicedToArray(href,2),path=href[0],hash=href[1],item=this.resources.getItemByHref(decodeURI(path));return item?{index:this.resources.spine.findIndex(function(_ref1){return _ref1.idref===item.id}),anchor:hash?function(doc){return function(doc,id){var _doc$getElementById;return null!=(_doc$getElementById=doc.getElementById(id))?_doc$getElementById:doc.querySelector('[name="'.concat(CSS.escape(id),'"]'))}(doc,hash)}:function(){return 0}}:null}},{key:"splitTOCHref",value:function(href){return null!=(href=null==href?void 0:href.split("#"))?href:[]}},{key:"getTOCFragment",value:function(doc,id){var _doc$getElementById2;return null!=(_doc$getElementById2=doc.getElementById(id))?_doc$getElementById2:doc.querySelector('[name="'.concat(CSS.escape(id),'"]'))}},{key:"isExternal",value:_isExternal},{key:"getCover",value:async function(){var _this$resources2=null==(_this$resources2=this.resources)?void 0:_this$resources2.cover;return null!=_this$resources2&&_this$resources2.href?new Blob([await this.loadBlob(_this$resources2.href)],{type:_this$resources2.mediaType}):null}},{key:"getCalibreBookmarks",value:async function(){var txt=await this.loadText("META-INF/calibre_bookmarks.txt"),magic="encoding=json+base64:";if(null!=txt&&txt.startsWith(magic))return txt=atob(txt.slice(magic.length)),JSON.parse(txt)}},{key:"destroy",value:function(){var _classPrivateFieldGet6;null!=(_classPrivateFieldGet6=_classPrivateFieldGet(_loader,this))&&_classPrivateFieldGet6.destroy()}}])}();async function _loadXML(uri){var str=await this.loadText(uri);if(!str)return null;str=this.parser.parseFromString(str,MIME.XML);if(str.querySelector("parsererror"))throw new Error("XML parsing error: ".concat(uri,"\n").concat(str.querySelector("parsererror").innerText));return str}});