define(["exports"],function(_exports){function ownKeys(e,r){var o,t=Object.keys(e);return Object.getOwnPropertySymbols&&(o=Object.getOwnPropertySymbols(e),r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)),t}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct=function(){return!!t})()}function _superPropGet(t,o,e,r){var p=babelHelpers.get(babelHelpers.getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typeof p?function(t){return p.apply(e,t)}:p}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 _classPrivateFieldGet(s,a){return s.get(_assertClassBrand(s,a))}function _classPrivateFieldSet(s,a,r){return s.set(_assertClassBrand(s,a),r),r}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>>3,length=3+(7&bytes),j=0;j>>8]}),table2=[null].concat(Array.from({length:32},function(_,i){return offset2+8*i}).map(function(offset){return[getUint(huffRecord.slice(offset,offset+4)),getUint(huffRecord.slice(offset+4,offset+8))]})),dictionary=[],i=1;i>>24],3),found=_table[0],codeLength=_table[1],_table=_table[2];if(!found){for(;bits>>>32-codeLengthbitLength)break;var found=_table-(bits>>>32-codeLength),_table=babelHelpers.slicedToArray(dictionary[found],2),result=_table[0];_table[1]||(result=decompress(result),dictionary[found]=[result,!0]),output=concatTypedArray(output,result)}return output}return decompress}async function getIndexData(indxIndex,loadRecord){var indxRecord=await loadRecord(indxIndex),indx=getStruct(INDX_HEADER,indxRecord);if("INDX"!==indx.magic)throw new Error("Invalid INDX record");var decoder=getDecoder(indx.encoding),tagxBuffer=indxRecord.slice(indx.length),tagx=getStruct(TAGX_HEADER,tagxBuffer);if("TAGX"!==tagx.magic)throw new Error("Invalid TAGX section");for(var indxRecord=(tagx.length-12)/4,tagTable=Array.from({length:indxRecord},function(_,i){return new Uint8Array(tagxBuffer.slice(12+4*i,12+4*i+4))}),cncx={},cncxRecordOffset=0,i=0;i>countUnsetEnd(mask),null,_numValues]))}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}for(var tagMap={},_i4=0,_tags=tags;_i4<_tags.length;_i4++){var _tags$_i=babelHelpers.slicedToArray(_tags[_i4],4),tag=_tags$_i[0],valueCount=_tags$_i[1],valueBytes=_tags$_i[2],numValues=_tags$_i[3],values=[];if(null!=valueCount)for(var _i5=0;_i5>>0;if(length++,128&byte)break}}catch(err){_iterator.e(err)}finally{_iterator.f()}return{value:value,length:length}},countBitsSet=function(x){for(var count=0;0>=1)1==(1&x)&&count++;return count},countUnsetEnd=function(x){for(var count=0;0==(1&x);)x>>=1,count++;return count},read32Bits=function(byteArray,from){for(var end=from+32,endByte=end>>3,bits=0n,i=from>>3;i<=endByte;i++)var _byteArray$i,bits=bits<<8n|BigInt(null!=(_byteArray$i=byteArray[i])?_byteArray$i:0);return bits>>8n-BigInt(7&end)&0xffffffffn},_file=(_exports.isMOBI=async function(file){return"BOOKMOBI"===getString(await file.slice(60,68).arrayBuffer())},new WeakMap),_offsets=new WeakMap,PDB=function(){return babelHelpers.createClass(function PDB(){babelHelpers.classCallCheck(this,PDB),_classPrivateFieldInitSpec(this,_file,void 0),_classPrivateFieldInitSpec(this,_offsets,void 0),babelHelpers.defineProperty(this,"pdb",void 0)},[{key:"open",value:async function(file){_classPrivateFieldSet(_file,this,file);var pdb=getStruct(PDB_HEADER,await file.slice(0,78).arrayBuffer()),buffer=(this.pdb=pdb,await file.slice(78,78+8*pdb.numRecords).arrayBuffer());_classPrivateFieldSet(_offsets,this,Array.from({length:pdb.numRecords},function(_,i){return getUint(buffer.slice(8*i,8*i+4))}).map(function(x,i,a){return[x,a[i+1]]}))}},{key:"loadRecord",value:function(index){var _classPrivateFieldGet2,index=_classPrivateFieldGet(_offsets,this)[index];if(index)return(_classPrivateFieldGet2=_classPrivateFieldGet(_file,this)).slice.apply(_classPrivateFieldGet2,babelHelpers.toConsumableArray(index)).arrayBuffer();throw new RangeError("Record index out of bounds")}},{key:"loadMagic",value:async function(index){index=_classPrivateFieldGet(_offsets,this)[index][0];return getString(await _classPrivateFieldGet(_file,this).slice(index,index+4).arrayBuffer())}}])}(),_start=new WeakMap,_resourceStart=new WeakMap,_decoder=new WeakMap,_encoder=new WeakMap,_decompress=new WeakMap,_removeTrailingEntries=new WeakMap,_MOBI_brand=new WeakSet;_exports.MOBI=function(){function MOBI(_ref4){var t,o,e,_ref4=_ref4.unzlib;return babelHelpers.classCallCheck(this,MOBI),t=this,o=MOBI,o=babelHelpers.getPrototypeOf(o),_classPrivateMethodInitSpec(o=babelHelpers.possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],babelHelpers.getPrototypeOf(t).constructor):o.apply(t,e)),_MOBI_brand),_classPrivateFieldInitSpec(o,_start,0),_classPrivateFieldInitSpec(o,_resourceStart,void 0),_classPrivateFieldInitSpec(o,_decoder,void 0),_classPrivateFieldInitSpec(o,_encoder,void 0),_classPrivateFieldInitSpec(o,_decompress,void 0),_classPrivateFieldInitSpec(o,_removeTrailingEntries,void 0),o.unzlib=_ref4,o}return babelHelpers.inherits(MOBI,PDB),babelHelpers.createClass(MOBI,[{key:"open",value:async function(file){await _superPropGet(MOBI,"open",this,3)([file]),this.headers=_assertClassBrand(_MOBI_brand,this,_getHeaders).call(this,await _superPropGet(MOBI,"loadRecord",this,3)([0])),_classPrivateFieldSet(_resourceStart,this,this.headers.mobi.resourceStart);file=8<=this.headers.mobi.version;if(!file){var _this$headers$exth=null==(_this$headers$exth=this.headers.exth)?void 0:_this$headers$exth.boundary;if(_this$headers$exth<4294967295)try{this.headers=_assertClassBrand(_MOBI_brand,this,_getHeaders).call(this,await _superPropGet(MOBI,"loadRecord",this,3)([_this$headers$exth])),_classPrivateFieldSet(_start,this,_this$headers$exth),file=!0}catch(e){console.warn(e),console.warn("Failed to open KF8; falling back to MOBI")}}return await _assertClassBrand(_MOBI_brand,this,_setup).call(this),new(file?KF8:MOBI6)(this).init()}},{key:"decode",value:function(){var _classPrivateFieldGet3;return(_classPrivateFieldGet3=_classPrivateFieldGet(_decoder,this)).decode.apply(_classPrivateFieldGet3,arguments)}},{key:"encode",value:function(){var _classPrivateFieldGet4;return(_classPrivateFieldGet4=_classPrivateFieldGet(_encoder,this)).encode.apply(_classPrivateFieldGet4,arguments)}},{key:"loadRecord",value:function(index){return _superPropGet(MOBI,"loadRecord",this,3)([_classPrivateFieldGet(_start,this)+index])}},{key:"loadMagic",value:function(index){return _superPropGet(MOBI,"loadMagic",this,3)([_classPrivateFieldGet(_start,this)+index])}},{key:"loadText",value:function(index){return this.loadRecord(index+1).then(function(buf){return new Uint8Array(buf)}).then(_classPrivateFieldGet(_removeTrailingEntries,this)).then(_classPrivateFieldGet(_decompress,this))}},{key:"loadResource",value:async function(index){var index=await _superPropGet(MOBI,"loadRecord",this,3)([_classPrivateFieldGet(_resourceStart,this)+index]),magic=getString(index.slice(0,4));return"FONT"===magic?async function(buf,unzlib){var _getStruct3=getStruct(FONT_HEADER,buf),flags=_getStruct3.flags,dataStart=_getStruct3.dataStart,keyLength=_getStruct3.keyLength,_getStruct3=_getStruct3.keyStart,array=new Uint8Array(buf.slice(dataStart));if(2&flags)for(var dataStart=16===keyLength?1024:1040,key=new Uint8Array(buf.slice(_getStruct3,_getStruct3+keyLength)),length=Math.min(dataStart,array.length),i=0;i>2])?titleLength:null==titleOffset?void 0:titleOffset[0],64&mobi.exthFlag?function(buf,encoding){var _getStruct2=getStruct(EXTH_HEADER,buf),magic=_getStruct2.magic,count=_getStruct2.count;if("EXTH"!==magic)throw new Error("Invalid EXTH header");for(var decoder=getDecoder(encoding),results={},offset=12,i=0;i>>1);_classPrivateFieldSet(_removeTrailingEntries,this,function(array){for(var _length5,i=0;i]*>/gi,fileposRegex=/<[^<>]+filepos=['"]{0,1}(\d+)[^<>]*>/gi,_resourceCache=new WeakMap,_textCache=new WeakMap,_cache=new WeakMap,_sections=new WeakMap,_fileposList=new WeakMap,_type=new WeakMap,MOBI6=function(){return babelHelpers.createClass(function MOBI6(mobi){babelHelpers.classCallCheck(this,MOBI6),babelHelpers.defineProperty(this,"parser",new DOMParser),babelHelpers.defineProperty(this,"serializer",new XMLSerializer),_classPrivateFieldInitSpec(this,_resourceCache,new Map),_classPrivateFieldInitSpec(this,_textCache,new Map),_classPrivateFieldInitSpec(this,_cache,new Map),_classPrivateFieldInitSpec(this,_sections,void 0),_classPrivateFieldInitSpec(this,_fileposList,[]),_classPrivateFieldInitSpec(this,_type,MIME.HTML),this.mobi=mobi},[{key:"init",value:async function(){for(var _this2=this,array=new Uint8Array,i=0;i=section.start&&_ref6'));arr=concatTypedArray3(arr,filepos,raw.subarray(_ref7,null==i?void 0:i.offset))})),str=this.mobi.decode(arr).replaceAll(mbpPagebreakRegex,""),_classPrivateFieldGet(_textCache,this).set(section,str),str)}},{key:"createDocument",value:async function(section){section=await this.loadText(section);return this.parser.parseFromString(section,_classPrivateFieldGet(_type,this))}},{key:"loadSection",value:async function(section){var style,doc;return _classPrivateFieldGet(_cache,this).has(section)?_classPrivateFieldGet(_cache,this).get(section):(style=(doc=await this.createDocument(section)).createElement("style"),doc.head.append(style),style.append(doc.createTextNode("blockquote {\n margin-block-start: 0;\n margin-block-end: 0;\n margin-inline-start: 1em;\n margin-inline-end: 0;\n }")),await this.replaceResources(doc),style=this.serializer.serializeToString(doc),doc=URL.createObjectURL(new Blob([style],{type:_classPrivateFieldGet(_type,this)})),_classPrivateFieldGet(_cache,this).set(section,doc),doc)}},{key:"resolveHref",value:function(href){var filepos=href.match(/filepos:(.*)/)[1],number=Number(filepos);return{index:_classPrivateFieldGet(_sections,this).findIndex(function(section){return section.end>number}),anchor:function(doc){return doc.getElementById("filepos".concat(filepos))}}}},{key:"splitTOCHref",value:function(href){var href=href.match(/filepos:(.*)/)[1],number=Number(href);return[_classPrivateFieldGet(_sections,this).findIndex(function(section){return section.end>number}),"filepos".concat(href)]}},{key:"getTOCFragment",value:function(doc,id){return doc.getElementById(id)}},{key:"isExternal",value:function(uri){return/^(?!blob|filepos)\w+:/i.test(uri)}},{key:"destroy",value:function(){var _step8,_iterator8=_createForOfIteratorHelper(_classPrivateFieldGet(_resourceCache,this).values());try{for(_iterator8.s();!(_step8=_iterator8.n()).done;){var url=_step8.value;URL.revokeObjectURL(url)}}catch(err){_iterator8.e(err)}finally{_iterator8.f()}var _step9,_iterator9=_createForOfIteratorHelper(_classPrivateFieldGet(_cache,this).values());try{for(_iterator9.s();!(_step9=_iterator9.n()).done;){var _url=_step9.value;URL.revokeObjectURL(_url)}}catch(err){_iterator9.e(err)}finally{_iterator9.f()}}}])}(),kindleResourceRegex=/kindle:(flow|embed):(\w+)(?:\?mime=(\w+\/[-+.\w]+))?/,kindlePosRegex=/kindle:pos:fid:(\w+):off:(\w+)/,_cache2=new WeakMap,_fragmentOffsets=new WeakMap,_fragmentSelectors=new WeakMap,_tables=new WeakMap,_sections2=new WeakMap,_fullRawLength=new WeakMap,_rawHead=new WeakMap,_rawTail=new WeakMap,_lastLoadedHead=new WeakMap,_lastLoadedTail=new WeakMap,_type2=new WeakMap,_inlineMap=new WeakMap,_KF8_brand=new WeakSet,KF8=function(){return babelHelpers.createClass(function KF8(mobi){babelHelpers.classCallCheck(this,KF8),_classPrivateMethodInitSpec(this,_KF8_brand),babelHelpers.defineProperty(this,"parser",new DOMParser),babelHelpers.defineProperty(this,"serializer",new XMLSerializer),_classPrivateFieldInitSpec(this,_cache2,new Map),_classPrivateFieldInitSpec(this,_fragmentOffsets,new Map),_classPrivateFieldInitSpec(this,_fragmentSelectors,new Map),_classPrivateFieldInitSpec(this,_tables,{}),_classPrivateFieldInitSpec(this,_sections2,void 0),_classPrivateFieldInitSpec(this,_fullRawLength,void 0),_classPrivateFieldInitSpec(this,_rawHead,new Uint8Array),_classPrivateFieldInitSpec(this,_rawTail,new Uint8Array),_classPrivateFieldInitSpec(this,_lastLoadedHead,-1),_classPrivateFieldInitSpec(this,_lastLoadedTail,-1),_classPrivateFieldInitSpec(this,_type2,MIME.XHTML),_classPrivateFieldInitSpec(this,_inlineMap,new Map),this.mobi=mobi},[{key:"init",value:async function(){var _this4=this,loadRecord=this.mobi.loadRecord.bind(this.mobi),kf8=this.mobi.headers.kf8;try{var fdstBuffer=await loadRecord(kf8.fdst),fdst=getStruct(FDST_HEADER,fdstBuffer);if("FDST"!==fdst.magic)throw new Error("Missing FDST record");var fdstTable=Array.from({length:fdst.numEntries},function(_,i){return 12+8*i}).map(function(offset){return[getUint(fdstBuffer.slice(offset,offset+4)),getUint(fdstBuffer.slice(offset+4,offset+8))]});_classPrivateFieldGet(_tables,this).fdstTable=fdstTable,_classPrivateFieldSet(_fullRawLength,this,fdstTable[fdstTable.length-1][1])}catch(_unused3){}var fdst=(await getIndexData(kf8.skel,loadRecord)).table.map(function(_ref8,index){var name=_ref8.name,_ref8=_ref8.tagMap;return{index:index,name:name,numFrag:_ref8[1][0],offset:_ref8[6][0],length:_ref8[6][1]}}),fragData=await getIndexData(kf8.frag,loadRecord),fragTable=fragData.table.map(function(_ref9){var name=_ref9.name,_ref9=_ref9.tagMap;return{insertOffset:parseInt(name),selector:fragData.cncx[_ref9[2][0]],index:_ref9[4][0],offset:_ref9[6][0],length:_ref9[6][1]}}),fdstTable=(_classPrivateFieldGet(_tables,this).skelTable=fdst,_classPrivateFieldGet(_tables,this).fragTable=fragTable,_classPrivateFieldSet(_sections2,this,fdst.reduce(function(arr,skel){var last=arr[arr.length-1],_last$fragEnd=null!=(_last$fragEnd=null==last?void 0:last.fragEnd)?_last$fragEnd:0,fragEnd=_last$fragEnd+skel.numFrag,_last$fragEnd=fragTable.slice(_last$fragEnd,fragEnd),length=skel.length+_last$fragEnd.map(function(f){return f.length}).reduce(function(a,b){return a+b}),last=(null!=(last=null==last?void 0:last.totalLength)?last:0)+length;return arr.concat({skel:skel,frags:_last$fragEnd,fragEnd:fragEnd,length:length,totalLength:last})},[])),await this.getResourcesByMagic(["RESC","PAGE"])),pageSpreads=new Map;if(fdstTable.RESC){var _step1,kf8=await this.mobi.loadRecord(fdstTable.RESC),loadRecord=this.mobi.decode(kf8.slice(16)).replace(/\0/g,""),fdst=loadRecord.search(/\?>/),fdstTable="".concat(loadRecord.slice(fdst),""),_iterator1=_createForOfIteratorHelper(this.parser.parseFromString(fdstTable,MIME.XML).querySelectorAll("spine > itemref"));try{for(_iterator1.s();!(_step1=_iterator1.n()).done;){var _$itemref$getAttribut,_$itemref$getAttribut2,$itemref=_step1.value,i=parseInt($itemref.getAttribute("skelid"));pageSpreads.set(i,function(properties){var _step0,_iterator0=_createForOfIteratorHelper(properties);try{for(_iterator0.s();!(_step0=_iterator0.n()).done;){var p=_step0.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){_iterator0.e(err)}finally{_iterator0.f()}}(null!=(_$itemref$getAttribut=null==(_$itemref$getAttribut2=$itemref.getAttribute("properties"))?void 0:_$itemref$getAttribut2.split(" "))?_$itemref$getAttribut:[]))}}catch(err){_iterator1.e(err)}finally{_iterator1.f()}}this.sections=_classPrivateFieldGet(_sections2,this).map(function(section,index){return section.frags.length?{id:index,load:function(){return _this4.loadSection(section)},createDocument:function(){return _this4.createDocument(section)},size:section.length,pageSpread:pageSpreads.get(index)}:{linear:"no"}});try{var ncx=await this.mobi.getNCX(),map=function(_ref0){var label=_ref0.label,pos=_ref0.pos,_ref0=_ref0.children,pos=babelHelpers.slicedToArray(pos,2),fid=pos[0],pos=pos[1],href=makePosURI(fid,pos),arr=_classPrivateFieldGet(_fragmentOffsets,_this4).get(fid);return arr?arr.push(pos):_classPrivateFieldGet(_fragmentOffsets,_this4).set(fid,[pos]),{label:unescapeHTML(label),href:href,subitems:null==_ref0?void 0:_ref0.map(map)}};this.toc=null==ncx?void 0:ncx.map(map),this.landmarks=await this.getGuide()}catch(e){console.warn(e)}kf8=this.mobi.headers.exth;return this.dir=kf8.pageProgressionDirection,this.rendition={layout:"true"===kf8.fixedLayout?"pre-paginated":"reflowable",viewport:Object.fromEntries(null!=(fdst=null==(loadRecord=kf8.originalResolution)||null==(loadRecord=loadRecord.split("x"))||null==(loadRecord=loadRecord.slice(0,2))?void 0:loadRecord.map(function(x,i){return[i?"height":"width",x]}))?fdst:[])},this.metadata=this.mobi.getMetadata(),this.getCover=this.mobi.getCover.bind(this.mobi),this}},{key:"getResourcesByMagic",value:async function(keys){for(var _this5=this,results={},start=this.mobi.headers.kf8.resourceStart,end=this.mobi.pdb.numRecords,i=start;istart;){var _this$lastLoadedTail=this.mobi.headers.palmdoc.numTextRecords-1-_classPrivateFieldSet(_lastLoadedTail,this,(_this$lastLoadedTail=_classPrivateFieldGet(_lastLoadedTail,this),++_this$lastLoadedTail)),_this$lastLoadedTail=await this.mobi.loadText(_this$lastLoadedTail);_classPrivateFieldSet(_rawTail,this,concatTypedArray(_this$lastLoadedTail,_classPrivateFieldGet(_rawTail,this)))}distanceHead=_classPrivateFieldGet(_fullRawLength,this)-_classPrivateFieldGet(_rawTail,this).length;return _classPrivateFieldGet(_rawTail,this).slice(start-distanceHead,end-distanceHead)}},{key:"loadFlow",value:function(index){if(index<4294967295)return this.loadRaw.apply(this,babelHelpers.toConsumableArray(_classPrivateFieldGet(_tables,this).fdstTable[index]))}},{key:"loadText",value:async function(section){var _step10,skel=section.skel,frags=section.frags,section=section.length,raw=await this.loadRaw(skel.offset,skel.offset+section),skeleton=raw.slice(0,skel.length),_iterator10=_createForOfIteratorHelper(frags);try{for(_iterator10.s();!(_step10=_iterator10.n()).done;){var frag=_step10.value,insertOffset=frag.insertOffset-skel.offset,offset=skel.length+frag.offset,fragRaw=raw.slice(offset,offset+frag.length),skeleton=concatTypedArray3(skeleton.slice(0,insertOffset),fragRaw,skeleton.slice(insertOffset)),offsets=_classPrivateFieldGet(_fragmentOffsets,this).get(frag.index);if(offsets){var _step11,_iterator11=_createForOfIteratorHelper(offsets);try{for(_iterator11.s();!(_step11=_iterator11.n()).done;){var _offset2=_step11.value,str=this.mobi.decode(fragRaw).slice(_offset2),selector=getFragmentSelector(str);_assertClassBrand(_KF8_brand,this,_setFragmentSelector).call(this,frag.index,_offset2,selector)}}catch(err){_iterator11.e(err)}finally{_iterator11.f()}}}}catch(err){_iterator10.e(err)}finally{_iterator10.f()}return this.mobi.decode(skeleton)}},{key:"createDocument",value:async function(section){section=await this.loadText(section);return this.parser.parseFromString(section,_classPrivateFieldGet(_type2,this))}},{key:"loadSection",value:async function(section){if(_classPrivateFieldGet(_cache2,this).has(section))return _classPrivateFieldGet(_cache2,this).get(section);var _step12,str=await this.loadText(section),str=await this.replaceResources(str),doc=this.parser.parseFromString(str,_classPrivateFieldGet(_type2,this)),_iterator12=(!doc.querySelector("parsererror")&&null!=(_doc$documentElement=doc.documentElement)&&_doc$documentElement.namespaceURI||(_classPrivateFieldSet(_type2,this,MIME.HTML),doc=this.parser.parseFromString(str,_classPrivateFieldGet(_type2,this))),_createForOfIteratorHelper(_classPrivateFieldGet(_inlineMap,this)));try{for(_iterator12.s();!(_step12=_iterator12.n()).done;){var _step13,_step12$value=babelHelpers.slicedToArray(_step12.value,2),_url2=_step12$value[0],node=_step12$value[1],_iterator13=_createForOfIteratorHelper(doc.querySelectorAll('img[src="'.concat(_url2,'"]')));try{for(_iterator13.s();!(_step13=_iterator13.n()).done;)_step13.value.replaceWith(node)}catch(err){_iterator13.e(err)}finally{_iterator13.f()}}}catch(err){_iterator12.e(err)}finally{_iterator12.f()}var _doc$documentElement=URL.createObjectURL(new Blob([this.serializer.serializeToString(doc)],{type:_classPrivateFieldGet(_type2,this)}));return _classPrivateFieldGet(_cache2,this).set(section,_doc$documentElement),_doc$documentElement}},{key:"getIndexByFID",value:function(fid){return _classPrivateFieldGet(_sections2,this).findIndex(function(section){return section.frags.some(function(frag){return frag.index===fid})})}},{key:"resolveHref",value:async function(href){var saved,skel,_classPrivateFieldGet5,selector,href=parsePosURI(href),fid=href.fid,href=href.off,index=this.getIndexByFID(fid);if(!(index<0))return(saved=null==(_classPrivateFieldGet5=_classPrivateFieldGet(_fragmentSelectors,this).get(fid))?void 0:_classPrivateFieldGet5.get(href))?{index:index,anchor:function(doc){return doc.querySelector(saved)}}:(skel=(_classPrivateFieldGet5=_classPrivateFieldGet(_sections2,this)[index]).skel,_classPrivateFieldGet5=_classPrivateFieldGet5.frags.find(function(frag){return frag.index===fid}),skel=skel.offset+skel.length+_classPrivateFieldGet5.offset,skel=await this.loadRaw(skel,skel+_classPrivateFieldGet5.length),_classPrivateFieldGet5=this.mobi.decode(skel).slice(href),selector=getFragmentSelector(_classPrivateFieldGet5),_assertClassBrand(_KF8_brand,this,_setFragmentSelector).call(this,fid,href,selector),{index:index,anchor:function(doc){return doc.querySelector(selector)}})}},{key:"splitTOCHref",value:function(href){href=parsePosURI(href);return[this.getIndexByFID(href.fid),href]}},{key:"getTOCFragment",value:function(doc,_ref10){var fid=_ref10.fid,_ref10=_ref10.off,fid=null==(fid=_classPrivateFieldGet(_fragmentSelectors,this).get(fid))?void 0:fid.get(_ref10);return doc.querySelector(fid)}},{key:"isExternal",value:function(uri){return/^(?!blob|kindle)\w+:/i.test(uri)}},{key:"destroy",value:function(){var _step14,_iterator14=_createForOfIteratorHelper(_classPrivateFieldGet(_cache2,this).values());try{for(_iterator14.s();!(_step14=_iterator14.n()).done;){var url=_step14.value;URL.revokeObjectURL(url)}}catch(err){_iterator14.e(err)}finally{_iterator14.f()}}}])}();function _setFragmentSelector(id,offset,selector){var map=_classPrivateFieldGet(_fragmentSelectors,this).get(id);(map||(map=new Map,_classPrivateFieldGet(_fragmentSelectors,this).set(id,map),map)).set(offset,selector)}});