diff --git a/ReadViewDemo/Podfile.lock b/ReadViewDemo/Podfile.lock index 7ee89af..b90ca91 100644 --- a/ReadViewDemo/Podfile.lock +++ b/ReadViewDemo/Podfile.lock @@ -43,7 +43,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: DTCoreText: 11b7fe2104f476f82e75a4e3dbdde74d7186cecb DTFoundation: 76b624967cf5bcaae6bb057d622c536c36ef36d0 - RDReaderView: 54205c82c62ea6c674b43c833642d2643c98c573 + RDReaderView: 617ec758a5db3c10024acf83b110465ea8343b5b SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a SSAlertSwift: aad8dc0c20b36fcffe700b81d7be89d60c7ba4f1 ZIPFoundation: dfd3d681c4053ff7e2f7350bc4e53b5dba3f5351 diff --git a/ReadViewDemo/Pods/Local Podspecs/RDReaderView.podspec.json b/ReadViewDemo/Pods/Local Podspecs/RDReaderView.podspec.json index 76eb8d6..a095b92 100644 --- a/ReadViewDemo/Pods/Local Podspecs/RDReaderView.podspec.json +++ b/ReadViewDemo/Pods/Local Podspecs/RDReaderView.podspec.json @@ -27,9 +27,15 @@ "ZIPFoundation": [ "~> 0.9" ], - "DTCoreText": [], - "SnapKit": [], - "SSAlertSwift": [] + "DTCoreText": [ + + ], + "SnapKit": [ + + ], + "SSAlertSwift": [ + + ] }, "requires_arc": true, "swift_version": "5.10" diff --git a/ReadViewDemo/Pods/Manifest.lock b/ReadViewDemo/Pods/Manifest.lock index 7ee89af..b90ca91 100644 --- a/ReadViewDemo/Pods/Manifest.lock +++ b/ReadViewDemo/Pods/Manifest.lock @@ -43,7 +43,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: DTCoreText: 11b7fe2104f476f82e75a4e3dbdde74d7186cecb DTFoundation: 76b624967cf5bcaae6bb057d622c536c36ef36d0 - RDReaderView: 54205c82c62ea6c674b43c833642d2643c98c573 + RDReaderView: 617ec758a5db3c10024acf83b110465ea8343b5b SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a SSAlertSwift: aad8dc0c20b36fcffe700b81d7be89d60c7ba4f1 ZIPFoundation: dfd3d681c4053ff7e2f7350bc4e53b5dba3f5351 diff --git a/ReadViewDemo/Pods/Pods.xcodeproj/project.pbxproj b/ReadViewDemo/Pods/Pods.xcodeproj/project.pbxproj index febdc0f..1b32afe 100644 --- a/ReadViewDemo/Pods/Pods.xcodeproj/project.pbxproj +++ b/ReadViewDemo/Pods/Pods.xcodeproj/project.pbxproj @@ -8,558 +8,562 @@ /* Begin PBXBuildFile section */ 002685407B9C4D548571DA24AFD6E8F1 /* NSString+Paragraphs.m in Sources */ = {isa = PBXBuildFile; fileRef = F53CCB60DE5D06A43E4A52EDB274E7D2 /* NSString+Paragraphs.m */; }; - 00B5E59F71F71A71B769FD3DDBDAF965 /* RDEPUBTextPaginationInterfaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B791CDD0D79122F60EC136C025BC751 /* RDEPUBTextPaginationInterfaces.swift */; }; + 00316266FDE85B8932F1E5B0C47D6FA7 /* DTWeakSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = C422BCADBB48E28B549495663705A0FB /* DTWeakSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 012C7AD03E07026EA76E65E3E028E0B9 /* NSURL+DTAppLinks.h in Headers */ = {isa = PBXBuildFile; fileRef = 557DA029E15EC99631B647AE8922007F /* NSURL+DTAppLinks.h */; settings = {ATTRIBUTES = (Public, ); }; }; 014449AE560FFF3C628FAE639D043004 /* DTAnchorHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D63AE1801C7AB149219317BE7529B26 /* DTAnchorHTMLElement.m */; }; - 014E4415B0D09135065AC238E6414DEA /* FileManager+ZIPDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F9B298989305B9569B71E448E8C1D4 /* FileManager+ZIPDeprecated.swift */; }; - 016371375864889F69517D55CDA3A266 /* RDEPUBTextSelectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2909100BDF5A0331D6BE22AF122BB95F /* RDEPUBTextSelectionController.swift */; }; - 021C7AEF8B20CD2494A1DB2BD22D0ABA /* RDEPUBReadingLocationModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1CD5FB30A34088E10667AF4D2A8A6C3 /* RDEPUBReadingLocationModels.swift */; }; - 0348E85E071F1963286B90D704A584EB /* DTPieProgressIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B443D035BA5652B03A41BE905C5AC17 /* DTPieProgressIndicator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 03646B79FE3DB509B26BEF05E4E7C31F /* Archive+Writing.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF988440049800DB7824A94B81D20254 /* Archive+Writing.swift */; }; + 039A07AE61D8E6BE89328F14616266F2 /* RDEPUBChapterPageCounter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AB1D59EE26106C87AE53E9F9ECC96BB /* RDEPUBChapterPageCounter.swift */; }; 03D90C831397E8636A33CE557024A136 /* NSMutableAttributedString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = A2C299CFB47AA6ECF86F7348E1EB751F /* NSMutableAttributedString+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 043A2E9478F84524117CC70002023DFF /* RDPlainTextBookBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DB57CE3D5558A2995D7CEF1CAD00079 /* RDPlainTextBookBuilder.swift */; }; - 04E3B722AA4ACECD835F6FEAB7127684 /* RDEPUBChapterLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB8687FD6159F07520A97D89A4A739AB /* RDEPUBChapterLoader.swift */; }; + 04E669E25EDB1D987A6AF77670175501 /* RDEPUBStyleSheetComposer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A3DD09EADFE152D5050A931432C2C60 /* RDEPUBStyleSheetComposer.swift */; }; + 0510EB4A1F661EF0DE7F348193216DE2 /* RDEPUBNavigatorLayoutContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52B36F32273C511FB9B6C51CE36A6DD9 /* RDEPUBNavigatorLayoutContext.swift */; }; 0561DF6793C8516F469D9813F5CE3211 /* DTCoreTextLayouter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D6DA580F40DF113709E15CF6542A35C /* DTCoreTextLayouter.m */; }; - 0724227458D6158434EB3BA34EF75208 /* DTFolderMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 2101691D5743105B2E3E40376584B91C /* DTFolderMonitor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 075B6A431606735FF10DCA4BA1599B61 /* SSAlertSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 937CEFA81DA4227008DBFB114783A08B /* SSAlertSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 07A7ADAEF645213B401323F269E7CC56 /* NSString+DTFormatNumbers.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA5E519F100582F0D772FCD76125C0 /* NSString+DTFormatNumbers.m */; }; - 086DCEC7AEBFD0464283CCEFAF12ADF0 /* RDReaderFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1DF1B2EEF04D6470AB3196636E73075 /* RDReaderFlowLayout.swift */; }; - 095FEA4761F0931E859306E016FE9D46 /* Archive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C8F0DCEAA5A3DF38C503CA30DC94C1C /* Archive.swift */; }; - 099BC8C8BFDA73D3998298527ACD794B /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 882FA707ED3513D263A1E0656AAD2D33 /* ConstraintPriorityTarget.swift */; }; - 0A8A60254CCFFFB540A977E422004D68 /* RDEPUBWebView+JavaScriptBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08E72A1A5E0D8524A2374DA24CDD8494 /* RDEPUBWebView+JavaScriptBridge.swift */; }; + 05B8F433F5D69DFEE4D0D0E9ACE340D4 /* Archive+Writing.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF988440049800DB7824A94B81D20254 /* Archive+Writing.swift */; }; + 05C2D5A49B2A310669809B9CE664D0CB /* RDEPUBReaderTopToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58346A8E42DB4D0928603E6260F1BDBE /* RDEPUBReaderTopToolView.swift */; }; + 06021FBB79036F673DE3F21177FBCD4D /* RDEPUBReaderController+TableOfContents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A6E0FD58AA68B39320BF5C2264FC28F /* RDEPUBReaderController+TableOfContents.swift */; }; + 060BA3B7CAB416C40931FCC1DC50CB30 /* Entry+ZIP64.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7345CE45F696634CEA692A86D16F684C /* Entry+ZIP64.swift */; }; + 06F802D5F25FC664C1B5C51EB8C6BD07 /* RDEPUBPaginator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4740BDFF4EED78481148A3109207228A /* RDEPUBPaginator.swift */; }; + 078B0EE74858C94D30C02FE178BCC359 /* RDEPUBReaderController+DataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8027F5A27B1AB9BA875247BCACEEB4CF /* RDEPUBReaderController+DataSource.swift */; }; + 07DF9AAB6FDCE1B1F0DB1C21FE05B768 /* RDEPUBChapterWindowSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7DD9A6AC643D639404375A838316EFA /* RDEPUBChapterWindowSnapshot.swift */; }; + 086DECAFE37C874CC113939B3975F050 /* wxread-default.css in Resources */ = {isa = PBXBuildFile; fileRef = 752EEC76100E31C66D33F087A318A0B8 /* wxread-default.css */; }; + 0932B0420003276698809CD2E813E0A0 /* UIImage+DTFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 15941683D394FB8D7EAE91CD2CF03FF1 /* UIImage+DTFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 09A43C279AC62F0065AEFF8F31011E7C /* RDEPUBWebDecorationOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AC8EC67AA5B648EE42D524B93DEFE1 /* RDEPUBWebDecorationOverlayView.swift */; }; 0AAA5BB1DBF584102B15CF8738F1815E /* NSScanner+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = CA538A48DD3691701EC6B5021D7B7381 /* NSScanner+HTML.m */; }; 0ABC4D62588EABAA636441FD9A82C940 /* CTLineUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DD58A1908F3C532210EA65ACE410A44D /* CTLineUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0B6A62E6E1A454F5A38EB54E474FBD62 /* RDEPUBSearchEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82FE20C2FB684C45A8135A774F9EA2CA /* RDEPUBSearchEngine.swift */; }; 0B6FA1F22150D7F8B1865F41FF70C922 /* DTImage+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AB9016408894675D11069CDAACEDE94 /* DTImage+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0BBE0292EC0E79F1D9548CDA1C22F2D8 /* RDEPUBTextAnchor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E676DB9AB5DFC0FB4A33EC63DDACC0E8 /* RDEPUBTextAnchor.swift */; }; - 0D1F6D0CA56ABD2B42038C4088FB5BB5 /* SSAlertPresentAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E481007A8174943868EBC81CF3B04B9F /* SSAlertPresentAnimation.swift */; }; - 0D711A72DDF98852C2B1B0845AEB2E51 /* NSURL+DTUnshorten.h in Headers */ = {isa = PBXBuildFile; fileRef = 054674EB90C625BB4BEA9368ED92592B /* NSURL+DTUnshorten.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0DD55F7F8057B47C6B71DDD3EFDBBFEA /* DTAnimatedGIF.m in Sources */ = {isa = PBXBuildFile; fileRef = BC332335B380BC51C4F05C5CCDFB9189 /* DTAnimatedGIF.m */; }; - 0E3D5C67966CB30F8A1C5B23B32A78C6 /* DTBase64Coding.h in Headers */ = {isa = PBXBuildFile; fileRef = B8E40E302B85493BDE0FE91F829EC01E /* DTBase64Coding.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0E4376280494B1718140645948A07E24 /* String+SHA256.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B03892CC4EE09B2E429D0F06E2296BD /* String+SHA256.swift */; }; - 0F1AA1FAA83F6E2D90B456429F5158AB /* ConstraintDirectionalInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91144FC099DD458E61625CD939577DAA /* ConstraintDirectionalInsets.swift */; }; - 0F3D7B798A409948DBC4C48F8B673679 /* ConstraintMakerPrioritizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E138EC76D0DF24544D29D1A4D7429E3 /* ConstraintMakerPrioritizable.swift */; }; - 0FAF20971B1067BD7F3005D2442D2A62 /* RDEPUBReaderLoadCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD0D4092A12656EBCF1A6F72B4FD4082 /* RDEPUBReaderLoadCoordinator.swift */; }; + 0BDCF66C84113704DC9612E40F4C76FC /* NSFileWrapper+DTCopying.m in Sources */ = {isa = PBXBuildFile; fileRef = 1756C6FFCA695290BA62DA4E7B6DD20B /* NSFileWrapper+DTCopying.m */; }; + 0C7E8A1D9440250C02D53F73107CC371 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; }; + 0DC93A25C10B071D54C769C8C4EEE522 /* RDEPUBParser+Resources.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1A6EBFEF43855FDA02B545BAAC10BB8 /* RDEPUBParser+Resources.swift */; }; + 0E8E42046E441B90E57ACCB097BB8035 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEB14A8F8170777DB7CCC3F27C8EA57A /* ImageIO.framework */; }; 0FCBC8C64D8862F2A0E8794EDADDECBD /* UIFont+DTCoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = 647FB0C5AAF84C71A7784DD277E48910 /* UIFont+DTCoreText.h */; settings = {ATTRIBUTES = (Public, ); }; }; 100BFFBD24F234C095EDB001B8088DB1 /* DTCoreTextLayoutFrameAccessibilityElementGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = D1599698B5A62671C488F13E07272B09 /* DTCoreTextLayoutFrameAccessibilityElementGenerator.m */; }; 109458F9D48FD4F381F0E40E2DB3D91C /* DTLazyImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = E5F69A1E1260BAD7737BEB533F643A15 /* DTLazyImageView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 10B2910F50DB63ED86D443844344308C /* RDEPUBParser+TOC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E8412F8D0EF503DEA9A6178F5948 /* RDEPUBParser+TOC.swift */; }; + 10FEED041E5F0C13CB9FA6DE97D8AD65 /* RDEPUBRuntimePageCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F14FFD0ABFEE367C17AE7C903E5B58A /* RDEPUBRuntimePageCount.swift */; }; 11AB1902A68385851FB81E870991F9A0 /* DTImageTextAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = FEEB15F87BA6575BBFE1C5FD19B17CD7 /* DTImageTextAttachment.m */; }; 12B4A35B8E40C112E18A7C5511F023E9 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4472755F83C121DE5E1E505D145F6DBE /* CoreText.framework */; }; - 12C9A6EB078364B73087AFBC96A8AAF9 /* RDReaderSpreadResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7148B56DAB2824CB3E9E617789FD1908 /* RDReaderSpreadResolver.swift */; }; + 12C7BA6E0B0B700F758D2DD86EA7206F /* DTHTMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 32FB2B1B0498DCBE7B79BDF49E963E3D /* DTHTMLParser.m */; }; 130C3A85D9F9F445222C2E31EC245B0A /* NSScanner+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = A0927A875CA1F11DBCE60DFC6F0CA0B6 /* NSScanner+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 139CC4381EDEA18EA5EA6FC4D3E62193 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEB14A8F8170777DB7CCC3F27C8EA57A /* ImageIO.framework */; }; - 1446BE1A7579119303BE0FE7D371DA14 /* DTFolderMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = B245F7E143F3091652C64F6593E33F7A /* DTFolderMonitor.m */; }; + 1341BBCD7D1FDC9681CB1D1FD725F6CD /* RDEPUBCoreTextPageFrameFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9B5CCE470E634B18B32B423369C1A31 /* RDEPUBCoreTextPageFrameFactory.swift */; }; + 1376B391EE2DAC15C51B577E8CD308FC /* RDEPUBTextIndexTable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAF8513093523204F2598DC45941FB49 /* RDEPUBTextIndexTable.swift */; }; + 13B55F44248C0AEB362FB7A83BFB2588 /* RDEPUBReaderController+RuntimeBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96108A7804E224C969F15E01F96C74FA /* RDEPUBReaderController+RuntimeBridge.swift */; }; + 14953B202719ED3B8D453538B157D30C /* Archive+ReadingDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 934F9BB2B3A313294F121484C3A97A14 /* Archive+ReadingDeprecated.swift */; }; 14BDD9FB7A7AC5C8ABFF8D24C381F3DA /* NSAttributedString+DTCoreText.m in Sources */ = {isa = PBXBuildFile; fileRef = DBC9280BA00935565E9658775DD7404D /* NSAttributedString+DTCoreText.m */; }; - 14EAF9CBECC154CC00AACDD3224EC979 /* DTCustomColoredAccessory.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C6BE3B2DA9A8C4CD3760CDAD6F305A5 /* DTCustomColoredAccessory.m */; }; 15A7ED15DA03DD3B9F26A017D270D1C2 /* DTCSSListStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = FDD333B409D528E5006FA48F4D70A6F5 /* DTCSSListStyle.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 15BB854C628E532A7F08FEA5594F3933 /* NSURL+DTComparing.h in Headers */ = {isa = PBXBuildFile; fileRef = 731C0C61E3AD227D691FBA1C2C17BF7B /* NSURL+DTComparing.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1646DB61088E6EA55035448A0D00F9EC /* DTWeakSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = C422BCADBB48E28B549495663705A0FB /* DTWeakSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 16F6ACFCF57F6DAC2706790DA7242E9A /* NSDictionary+DTError.m in Sources */ = {isa = PBXBuildFile; fileRef = C18480913E002315E3F5EC6945371697 /* NSDictionary+DTError.m */; }; - 172F60ACE858151BB15425047802D38F /* UIView+DTFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4219E7C32019899890CAB66E5FBDF524 /* UIView+DTFoundation.m */; }; - 1755FA3D3F51158F1178A2788CBD2E3E /* NSFileWrapper+DTCopying.h in Headers */ = {isa = PBXBuildFile; fileRef = 09C957F3199C596781EFA1DEA1DDCEC8 /* NSFileWrapper+DTCopying.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 15DD394E86B856AEAB88F4431F819BF0 /* RDEPUBChapterCacheKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FCD39F839568B59EF6DE73F9EB51BC2 /* RDEPUBChapterCacheKey.swift */; }; + 16891BE748B9101E2DBD2EBC488EF70D /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E8C0D83EB6EDE71B264B6B0DD4644F5 /* LayoutConstraintItem.swift */; }; + 172999B9803BB7D51BB093313631F47F /* RDEPUBReaderTableOfContentsItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B7F252E5A413A25F1C1EE40E84EEDCD /* RDEPUBReaderTableOfContentsItem.swift */; }; + 17ADF36DA66DDAC4C2324867EB7F85FF /* RDEPUBModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 407122F95D1113F8C0E241B944F75AFE /* RDEPUBModels.swift */; }; + 17E69CB4B083A63E0950B5C9413F01E1 /* RDEPUBReaderAnnotationCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EDC7A778BBE907A63CF0E44193022F1 /* RDEPUBReaderAnnotationCoordinator.swift */; }; + 18258FC4C37A9BF33DEC25BA8F7FD820 /* DTFoundationConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = FD03567681A79FFB6E81B3105503065D /* DTFoundationConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 18B845E1910A3623D7A531715AB8C80C /* RDEPUBTextRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59AB14F9464EEFD112E2C56DF09B002D /* RDEPUBTextRenderer.swift */; }; 191824B2B1E1B0A7DD3B6298100B4B8A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE4821B98DDE6C71411EC139EC6D2762 /* CoreGraphics.framework */; }; 19649ED312D92A6F5D2D6AF4E540CE75 /* DTHorizontalRuleHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = E28CA95D89DBAB2FE56BC8513D5838D7 /* DTHorizontalRuleHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1BE56F06EBF770B5C5CC88E777A185DE /* RDReaderView+CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 579711B0A35AF68319DBD269278F32FC /* RDReaderView+CollectionView.swift */; }; - 1BEC1F32A7BA4DD1B31433C0A2F5B493 /* RDEPUBReaderController+TableOfContents.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE6FE25CC16ECB8AB03FC9995C9074DB /* RDEPUBReaderController+TableOfContents.swift */; }; - 1C71EB408583CEAD67B9C214EC632173 /* rangy-core.js in Resources */ = {isa = PBXBuildFile; fileRef = DA5D38D76DC2B327F6FA86DD38AD5079 /* rangy-core.js */; }; - 1C9E8ABD096473C28D2986D3B32983B7 /* wxread-default.css in Resources */ = {isa = PBXBuildFile; fileRef = 752EEC76100E31C66D33F087A318A0B8 /* wxread-default.css */; }; + 1B9A29E504F88960435EF3DC388D853B /* RDEPUBReaderSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 463871F68C062B291F9FF734F1A94B5F /* RDEPUBReaderSettingsViewController.swift */; }; + 1C822BED16E2DA5C8E037D571A807075 /* RDEPUBReaderController+RenderSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1EA695242F130C4BDF8DB88132C5459 /* RDEPUBReaderController+RenderSupport.swift */; }; + 1CE20B388039B9E19FCB9B81D4762449 /* RDEPUBRuntimeChapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDCDA1637DE4818E6239AD5DEE9E5334 /* RDEPUBRuntimeChapter.swift */; }; 1D460603DCA4A4E5ECFE8FF1F1CACC10 /* DTColorFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = AFC4C9F69BF2D0CAEBAA83896C139D2C /* DTColorFunctions.m */; }; + 1DB81C96DECA3EA86E684FDFC455BC99 /* rangy-core.js in Resources */ = {isa = PBXBuildFile; fileRef = DA5D38D76DC2B327F6FA86DD38AD5079 /* rangy-core.js */; }; + 1F0C03D6D765C52240DB9951D0353FF5 /* UIApplication+DTNetworkActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 77213203802F44012346181FED2856F9 /* UIApplication+DTNetworkActivity.m */; }; + 1F255314E3DC82F4A2810DF311A34F52 /* RDReaderView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F521195CC116D5FFE8AFDDA24ABA2CD /* RDReaderView-dummy.m */; }; + 20DCE7668A8A52B3EC784C639277E8F2 /* RDReaderView+ContentAccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = D079A146A6FF29F12B0747422C2EA97F /* RDReaderView+ContentAccess.swift */; }; + 20EDF9B7F940E3D400DBA01F74AF454E /* default.css in Resources */ = {isa = PBXBuildFile; fileRef = 05D57D16346FAF830F1F82067307EA9F /* default.css */; }; + 20F3F475347D964A32DE431B9F8FDEEB /* RDReaderSpreadResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7148B56DAB2824CB3E9E617789FD1908 /* RDReaderSpreadResolver.swift */; }; 2203356EEA94A9172BC7902923E43CBE /* DTCoreTextFontCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B7771FDE9AB1688166584C0AA03F12A /* DTCoreTextFontCollection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 23159E3216F7755E8557DFDB8356B687 /* RDEPUBPaginator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4740BDFF4EED78481148A3109207228A /* RDEPUBPaginator.swift */; }; + 225F371596E314143B4402CBE955C5E1 /* RDEPUBWebContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56DF8BACA5CE1847514D5355CB303E67 /* RDEPUBWebContentView.swift */; }; + 230D2253DF0310C8D076839AA64F54C1 /* RDEPUBTextPerformanceSampler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C5336F230E9CBA5516A0C4F48CC80B2 /* RDEPUBTextPerformanceSampler.swift */; }; + 23B52CB23CE19B6530999A4FA8CF5D93 /* RDEPUBReaderConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDF2BAE43277ADA7007457152B8350C9 /* RDEPUBReaderConfiguration.swift */; }; + 2425D96926061F33C08E3F00BDC5B89D /* RDEPUBTextPaginationSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 923C96CA59176956C63098AF00B0201B /* RDEPUBTextPaginationSupport.swift */; }; + 2436B5F35E48F05243E89FF28DBF4CEA /* RDReaderView+PageCurl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 587454250340EBB39CD77123D727F116 /* RDReaderView+PageCurl.swift */; }; 24395BEB3C360D9DA5180BFB955B04A0 /* DTAttributedLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 21BAA93E67D8CBC5297302D798FB4F7A /* DTAttributedLabel.m */; }; 2445709667CB3820E51CD4AA915E6943 /* DTHTMLParserTextNode.h in Headers */ = {isa = PBXBuildFile; fileRef = C30D143134EEC5D4BA99459104B76A2E /* DTHTMLParserTextNode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 24A4EC565C31C36075596144B8F44299 /* UIViewFrameExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8C351514678D41C58869BD057D5483F /* UIViewFrameExtension.swift */; }; + 24605DDEAE1B9B7B0385C5CD32650F71 /* RDEPUBPageBreakPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EFAAE86BA4FF308A74FA1CEAD40CB4 /* RDEPUBPageBreakPolicy.swift */; }; + 24AB43701EC32A2748D231619D0F5AB1 /* NSURL+DTUnshorten.m in Sources */ = {isa = PBXBuildFile; fileRef = C80065DBA5634DAA71129404975D7349 /* NSURL+DTUnshorten.m */; }; + 24B72B19ABEEEFFDBDE15DA965691F48 /* RDEPUBReaderChapterListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A5456E53C4A85AC8D05BFF62F3CB4F3 /* RDEPUBReaderChapterListController.swift */; }; 24C5B52FD2AA9C49731DC6859ABA7CDE /* NSDictionary+DTCoreText.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C50CAB4241C141EF6EC9ED22AB3A7E8 /* NSDictionary+DTCoreText.m */; }; - 25D2035E54373625D7DDE374536A1A22 /* DTBlockFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = A0BD48DAF5AE9DB087F2552E99069709 /* DTBlockFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 25DA73F3FE71BA016BE8F3673C677DCC /* RDEPUBWebView+FixedLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22BDEB6AC81168F4F3FE78ACCEC2A32D /* RDEPUBWebView+FixedLayout.swift */; }; + 2561A1553E1F3E3C8419EC68E011266B /* RDEPUBChapterTailNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC956678AB4F5B41D2BA3F5F2A2378A7 /* RDEPUBChapterTailNormalizer.swift */; }; + 2570D3A1414965613DD7D30DEC39FF1F /* RDEPUBReaderPaginationCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9E33E69FB52B86059326D1F76722E96 /* RDEPUBReaderPaginationCoordinator.swift */; }; + 26DDDEDDEC18CF0EA1FB730FABA2673E /* NSString+DTFormatNumbers.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D86C7063D1128EAEB3A30EBEF214B3F /* NSString+DTFormatNumbers.h */; settings = {ATTRIBUTES = (Public, ); }; }; 270C5C10028F0BC5A62548326CCB379B /* DTColor+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = E196F56E68578181D5BDE787DE5C0F3A /* DTColor+Compatibility.m */; }; - 2818B9AC60001AB09015CD0BD5C9D339 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; }; - 28402E474AD3C0223488D3AF7C0D159B /* URL+ZIP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 537BB06317FA188DF7A8A960152520E8 /* URL+ZIP.swift */; }; - 28E0E06D8E8774BE8861C32B9B48A80E /* RDEPUBPageCountCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B2963687ADF8375028F8C6F50B1F40B /* RDEPUBPageCountCache.swift */; }; + 27A1D145C4FA4D7F606F4CABBBD33B08 /* RDEPUBChapterLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF3B2159846DC792E5F818A08C9AB4A4 /* RDEPUBChapterLoader.swift */; }; + 28B4FFE28AF14453D0304228A1098976 /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A9A82CB094636AFB53D6D130D6219BA /* ConstraintLayoutGuide+Extensions.swift */; }; 29D9B32DFFC59A157EDEF005DB92A5AC /* DTCoreTextLayoutLine.m in Sources */ = {isa = PBXBuildFile; fileRef = C71D83D6AEF198FA680B8A80BF2D9605 /* DTCoreTextLayoutLine.m */; }; 2AAF9361720FC2D8FFCA93B5FAE42019 /* NSMutableString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 31F3F91D5624C451E5D44D85B1DDE7C5 /* NSMutableString+HTML.m */; }; - 2B0A0DE404D9534B91E22A587F11C05F /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09BE22EE711B7A38A4443E1C1C12BD79 /* ConstraintMultiplierTarget.swift */; }; - 2BF71A220115480610FCD909D3F0C500 /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E8C0D83EB6EDE71B264B6B0DD4644F5 /* LayoutConstraintItem.swift */; }; - 2D22916B3ADAA9CF78AF3CC5F40F2E9F /* RDEPUBBackgroundTrace.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B6A71ED4237A07E81D0597E56658C5A /* RDEPUBBackgroundTrace.swift */; }; - 2D2EA7C7CEEE4FDB9B6E4E55D4C16B12 /* RDEPUBSearchEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82FE20C2FB684C45A8135A774F9EA2CA /* RDEPUBSearchEngine.swift */; }; + 2B4B930D6139C36CBA32A05C30E51AE1 /* RDEPUBNavigatorState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EC834DF4FD9ABC75E1FDED3BBCB37B0 /* RDEPUBNavigatorState.swift */; }; + 2BCF67AB602D4B76C88A3D5BAC3726BF /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 1E89FE5F2996336E862E82C1E14E0EE7 /* PrivacyInfo.xcprivacy */; }; + 2BD2A0F5E7AC94F6287E3D518692E070 /* RDEPUBTextAnchor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E676DB9AB5DFC0FB4A33EC63DDACC0E8 /* RDEPUBTextAnchor.swift */; }; + 2C5C76DDDFF915EB25F3AD17ECEF00CF /* RDEPUBReaderRuntime.swift in Sources */ = {isa = PBXBuildFile; fileRef = F93349EF605468BD938AB8BCC45BC4D6 /* RDEPUBReaderRuntime.swift */; }; 2FD7360250C2255A80583D4CF518FBFA /* DTTextAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = F35039A8D0AA1F7BAFC4E5E016057E15 /* DTTextAttachment.m */; }; 30C01FE491C26314F776AD8B2AF136FA /* NSAttributedStringRunDelegates.m in Sources */ = {isa = PBXBuildFile; fileRef = E6F2E79CC33E0823C4E719ECDDFBBE08 /* NSAttributedStringRunDelegates.m */; }; + 31182360171CEBCCADDF817513E877FC /* RDReaderPagingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D5362F7EC0A627ACAB9AF4CC7F51099 /* RDReaderPagingController.swift */; }; + 319383385BA7AA224724C1ED91963D98 /* RDEPUBReaderPersistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B019D0BBF05A2E93CD669A6534FA05D /* RDEPUBReaderPersistence.swift */; }; 31B805C50E0E187E6242B0C878C4D30D /* DTCoreTextMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F5D34047BAA894BEF1DFA23E6A9DAB1 /* DTCoreTextMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 31FC7230D5C6B0306855EE5087D0A26F /* UIColor+RDEPUBHex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DF05A515E551E5511DBE86C4A494EF1 /* UIColor+RDEPUBHex.swift */; }; - 31FFF99A325707F94A86A18AA48FF162 /* DTFoundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FCC718115E5C31C88A680522AE36B089 /* DTFoundation-dummy.m */; }; - 3274F7034696EA627A4C0F934FB1D3B0 /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A9A82CB094636AFB53D6D130D6219BA /* ConstraintLayoutGuide+Extensions.swift */; }; + 338F1FE0580F133E3758CC8BAF5357EE /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = D495E2AB1223BD4D4909F8FF1FF47DAF /* Debugging.swift */; }; + 341254003D9E842A025326C4F4D0046F /* RDEPUBStyleSheetBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3C42316556BF2EEC09C00E6296E6B2D /* RDEPUBStyleSheetBuilder.swift */; }; 343E794F88AA503F5139C2244DC1A2B1 /* DTTextAttachmentHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = C298199F5DC5390E8B6666F638B34C10 /* DTTextAttachmentHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 34AE02830E9A5B9E604E16497B1F070D /* RDEPUBRenderDiagnosticsCollector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F7C000E05ED51ADF331A7F6244782A5 /* RDEPUBRenderDiagnosticsCollector.swift */; }; 35C5BE59CA712CCDF93D6E7010D93883 /* DTAttributedTextContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = C123C127CC539ACCB510F665DB774899 /* DTAttributedTextContentView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 35F11E46B2193B801E96CE6CDDD4AE21 /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5245010774F8F1C4857763CC7B96E7B4 /* ConstraintMakerExtendable.swift */; }; + 361CE91F176DB12A8127E9540A27D5B9 /* NSDictionary+DTError.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FC368BD2A8D266EB771E5FB9A5A5B3C /* NSDictionary+DTError.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3622D1C93678D58CFE7DFA62836B9791 /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5245010774F8F1C4857763CC7B96E7B4 /* ConstraintMakerExtendable.swift */; }; 372E907DF08263D0E1AF904F1FCD66EB /* DTTextAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = D36ED8209C907E3E9B074DDB399F54FF /* DTTextAttachment.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 38450D88BCEDDFBE5D892074FBA827C8 /* DTLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A1EBB9497F4846C84CA0BF5E4F84FC7 /* DTLog.h */; settings = {ATTRIBUTES = (Public, ); }; }; 389F7C8400F9223C019F2D7825CD2369 /* NSCharacterSet+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 713C9FD0354D16AFCCFA630A97F2DA68 /* NSCharacterSet+HTML.m */; }; - 394F47614B158E6EB298F25D0B17E289 /* RDEPUBSemanticMarkerInjector.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD9F7B0D64CCCDACB7D703E942A4EBE /* RDEPUBSemanticMarkerInjector.swift */; }; - 3C037B1C09894A3F5F84B3496DD6849A /* UIScreen+DTFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F051D813D50D20D53205D5FDCAA877C /* UIScreen+DTFoundation.m */; }; - 3D6535403367C804D54FFD001A77E284 /* RDEPUBReaderPersistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60F861867F08812A37E8DDCBB02DC583 /* RDEPUBReaderPersistence.swift */; }; + 391317C97F41EEB7FEAF91FCCE73AAA0 /* RDEPUBReaderSearchBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 155BD7E355B0C314210F72E1FE60BA2D /* RDEPUBReaderSearchBarView.swift */; }; + 3AFDB01E2D2ED96582828398CF4E9962 /* FileManager+ZIP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27B7D3C6F0C845E3D42BBA613FFB0465 /* FileManager+ZIP.swift */; }; + 3D3E81196EDDEF4CD3A4F1C46EF58C5E /* RDEPUBTextSelectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE62F4CD315BB684EBBF6C02E4D4B820 /* RDEPUBTextSelectionController.swift */; }; 3DC8F9474FC6A0BB7E81A703CE958966 /* NSAttributedString+DTDebug.h in Headers */ = {isa = PBXBuildFile; fileRef = 71E2D85A099C99CD82FD1842EE7C52D2 /* NSAttributedString+DTDebug.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3E9CF41E75FE8F0F6DF4616796C901D5 /* RDEPUBNavigatorLayoutContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52B36F32273C511FB9B6C51CE36A6DD9 /* RDEPUBNavigatorLayoutContext.swift */; }; - 3EC3CB613530B751AEB30443E1C5EEEE /* RDEPUBChapterData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5D1621642B6C2702FFE6606483DEF37 /* RDEPUBChapterData.swift */; }; - 3ECDB3138484C8DD487C06D90F3764DB /* RDEPUBTextBookCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11B3FF18F25CAE9935ED05E0856F20C3 /* RDEPUBTextBookCache.swift */; }; - 3EEA60E7A6E77DE25289208233488561 /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F090A0289338B14050FAF16C22605B0 /* ConstraintConstantTarget.swift */; }; - 3F431D135B47DE178B3D4D4E737B3F8E /* RDEPUBAttachmentNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 091717314CB1F573F5EE5EEC4DF86BA9 /* RDEPUBAttachmentNormalizer.swift */; }; - 3F47CD5028C4FAFCB02D90173FD7BE13 /* RDURLReaderController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E83C08D0923B31898A62D63C06543BCC /* RDURLReaderController.swift */; }; - 3F59AAA6847628B5D101968C5B0FC0E2 /* RDReaderGestureController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5CD25E951901E42A8D31765763F1CED /* RDReaderGestureController.swift */; }; - 3F7362665348377483660CCEE7E5A72E /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E5637603691B9B35C2A886B686D3CE7 /* ConstraintViewDSL.swift */; }; - 400BA5D4228B97F4DE8199A4CABFFDFA /* RDEPUBReaderAnnotationCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88DC78A6C33BEF2BC4ADB375F162C284 /* RDEPUBReaderAnnotationCoordinator.swift */; }; - 408741E5F917D3C08E31E4AD1A6136F7 /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28D62D3200AC3D4E42C81CDFF7E884E8 /* ConstraintItem.swift */; }; - 4135416AE5B0306A47A967018A2CB7B8 /* Archive+ReadingDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 934F9BB2B3A313294F121484C3A97A14 /* Archive+ReadingDeprecated.swift */; }; - 4204DDCF94EF5E57BDB32A10B8EC1BBD /* RDEPUBReaderController+RuntimeBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0813D235A2C7FFD9AC3F254EFC9F5FFC /* RDEPUBReaderController+RuntimeBridge.swift */; }; - 42761D3507E4C730BDBDDA969D0BD369 /* RDEPUBSelectionOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A0D2BE0587C3DDC57DDBDCD73F81BD /* RDEPUBSelectionOverlayView.swift */; }; - 42D25E859E8E34B7837070F521533223 /* RDEPUBTextLayoutFrame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CD2D83120D70130690765D762EE062E /* RDEPUBTextLayoutFrame.swift */; }; - 437E6DEFBB36398B5CF02CEF30E5AB96 /* NSString+DTPaths.h in Headers */ = {isa = PBXBuildFile; fileRef = FC5EC7C3D1808C9CF53354D7A3D69EE7 /* NSString+DTPaths.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 43910F0EBE4E629A3479D75EFF08FE3F /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 392A75EAF280876545D14AA00517BA4C /* ConstraintMakerEditable.swift */; }; - 43DB7BD38DD98A921E1886DFB837B388 /* RDReaderView+ToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93898CAF537398E00D8113217C419CA9 /* RDReaderView+ToolView.swift */; }; - 446C758763501BB1E1EC07D962A7294E /* RDEPUBChapterWindowSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C56140C935C7B3F792647614D702DAB /* RDEPUBChapterWindowSnapshot.swift */; }; + 3F98B1ACAB5E4CCC73EB9F6AE68EF2E2 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 392A75EAF280876545D14AA00517BA4C /* ConstraintMakerEditable.swift */; }; + 406AD712B8FA6E4CA9876AFEC47B5F93 /* DTFoundationConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BD568D38C209BA1CC0EBFA809A35204 /* DTFoundationConstants.m */; }; + 40A903562A5539FAFAEE58C3B381AEEE /* RDEPUBTextPositionConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10B86E35282C70276F9B3304A6C550F3 /* RDEPUBTextPositionConverter.swift */; }; + 4252191CD162621576A78F5CF20D4A44 /* RDEPUBTextAnnotationOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FF0C9CB287BD9AFAF3FD63F44837DA3 /* RDEPUBTextAnnotationOverlay.swift */; }; + 43E3C4589483B489530A15208FA728FA /* Archive+Progress.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD987C2FA7C8FBC96FD024E421DA0E68 /* Archive+Progress.swift */; }; + 441B73481A13D71E6DFC28E802C0CFD4 /* DTFoundation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FAB3C7F19A511C2B1B7DFBA3CA308C4 /* DTFoundation-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 44230B956950447FCC95409353B144D6 /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F090A0289338B14050FAF16C22605B0 /* ConstraintConstantTarget.swift */; }; 44B1FBF893C06F314F8C9BD1405897D8 /* DTCoreTextGlyphRun.m in Sources */ = {isa = PBXBuildFile; fileRef = 36FCB869246FE45FD1C9609A34EB4E74 /* DTCoreTextGlyphRun.m */; }; 45133E47CC5FBCF78BFCD38981BA027F /* DTDictationPlaceholderView.h in Headers */ = {isa = PBXBuildFile; fileRef = 982391EC8620A617B8788C8A6101C96A /* DTDictationPlaceholderView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4550FCF88CC84EA71FA0A7AF67CC2B22 /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60657D08CCDB38BFED30BD40F4720CE4 /* ConstraintMaker.swift */; }; + 45277F2F1A7446FBB74479EA1D182A45 /* NSString+DTPaths.h in Headers */ = {isa = PBXBuildFile; fileRef = FC5EC7C3D1808C9CF53354D7A3D69EE7 /* NSString+DTPaths.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 45C760CE9EAF6275AA23165230D5F52B /* NSString+DTFormatNumbers.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA5E519F100582F0D772FCD76125C0 /* NSString+DTFormatNumbers.m */; }; 45F90B98546FDBA03AB112DFE859A185 /* DTCSSStylesheet.m in Sources */ = {isa = PBXBuildFile; fileRef = E0D90EB06FC37D534934542F9CAB1D74 /* DTCSSStylesheet.m */; }; + 469BFED338CC717E7B25A4406EAD7308 /* DTActivityTitleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EEFAE80193E1F0DA53400C9AD641410 /* DTActivityTitleView.m */; }; + 46ACB3029B34F481C3DE8D326278EF49 /* Archive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C8F0DCEAA5A3DF38C503CA30DC94C1C /* Archive.swift */; }; + 46B415F27B2F32F800632A0B879CBFEE /* RDEPUBParser+TOC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E8412F8D0EF503DEA9A6178F5948 /* RDEPUBParser+TOC.swift */; }; 46EF32D586FF590CE2C60C66364B9357 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEB14A8F8170777DB7CCC3F27C8EA57A /* ImageIO.framework */; }; - 4784055F4929C8C6DD754D3C7862D686 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; }; - 48371ADBC5383DCCBE6E3F92DD59C6B1 /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50297AAB8278F2BB6FCFE82B20C7A049 /* ConstraintLayoutSupport.swift */; }; + 470D2E4CC17A8476AC02D0722EDB4A06 /* WeReadApi.js in Resources */ = {isa = PBXBuildFile; fileRef = 017344CEAEFEB304A8BBF76EDF12D835 /* WeReadApi.js */; }; + 472A3A8FBD9F8EE3CB029ED34FC97316 /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0B32EA4B7A492EEF26CE260E9AEFA0B /* ConstraintMakerFinalizable.swift */; }; + 47EADACA81A4155CB21586A889B8FAC1 /* RDEPUBBackgroundTrace.swift in Sources */ = {isa = PBXBuildFile; fileRef = E43253C51D9544C8AB43A1D958C64962 /* RDEPUBBackgroundTrace.swift */; }; + 481C3E135E2218875952CD52E00B5F95 /* DTSmartPagingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 96EEB6B022E22A4ABC86D87469D4815B /* DTSmartPagingScrollView.m */; }; + 4A0449729E31C28DEDA7DE46BF69DF9D /* DTPieProgressIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DA1E8494B86FFD79C639DCB8C21E1BB /* DTPieProgressIndicator.m */; }; 4A13B4E5EA8616A8F09D90BC6EAEEA64 /* CTLineUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = D24FE8634A7AD2562DB8ADB9D4BBB36A /* CTLineUtils.m */; }; - 4B2FDE4A4976B62F9FCE6CE8BC1AEE94 /* Data+CompressionDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D641809A99849F80FDCB02F8CE8D6A0 /* Data+CompressionDeprecated.swift */; }; - 4B4850CFF64032221BB0C2FBEFB7DD3E /* RDEPUBAnnotationModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39816EFB8DFB4FA6B91D9C8AB03A1C6A /* RDEPUBAnnotationModels.swift */; }; - 4BDE693D22EC8242C611167E4B09D538 /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6DB34ACB132E465CDF8191F7DB71EF6 /* ConstraintView+Extensions.swift */; }; - 4CAD70BBE240848A64180F7B1A0DCD8C /* WeReadApi.js in Resources */ = {isa = PBXBuildFile; fileRef = 017344CEAEFEB304A8BBF76EDF12D835 /* WeReadApi.js */; }; + 4A36DBA301A6AE36B5068E61E9E77DD6 /* RDEPUBPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99158A091EAB840DE3F822364077954D /* RDEPUBPreferences.swift */; }; + 4AC9528828AF051526A802739E394356 /* RDEPUBPageInteractionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E31419820ABBDDA21EADA1FC3676567E /* RDEPUBPageInteractionController.swift */; }; + 4B6AEB58DD352B2EB9E06BC05DE9E445 /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32A5ABB8F3656A110B955B0306E9A8C3 /* ConstraintInsetTarget.swift */; }; + 4BFB9E8E45AC0FBFB79996EDDDC0850D /* Data+CompressionDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D641809A99849F80FDCB02F8CE8D6A0 /* Data+CompressionDeprecated.swift */; }; + 4C6015293EAE1720C63FAEBB6F3A6965 /* RDEPUBReaderChromeCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D921E9028429689F38A4E52D60BA2FA /* RDEPUBReaderChromeCoordinator.swift */; }; 4DA6EC46F8968265B96C6D7B2260C4E5 /* DTTextBlock.m in Sources */ = {isa = PBXBuildFile; fileRef = ADC5AC8FD4EC45E9BA5654A38715BB93 /* DTTextBlock.m */; }; - 4DEA8CEF63598961120FBE983CD3E18B /* RDEPUBStyleSheetComposer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A3DD09EADFE152D5050A931432C2C60 /* RDEPUBStyleSheetComposer.swift */; }; - 4DF5649A365CA463B70B022CBC72E8D3 /* RDEPUBFragmentMarkerInjector.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6D4CF544288387FDB24F07552DDE550 /* RDEPUBFragmentMarkerInjector.swift */; }; - 4E30F0CCCE719F18008FBA8F0A50FBEA /* NSString+DTURLEncoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 31BD7533867336DEA9B835F471767178 /* NSString+DTURLEncoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4E4939F6592B06D2CA764DCACFB47871 /* NSString+Paragraphs.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E37DC74BB53F90A5AD54842858A62F /* NSString+Paragraphs.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4ED6B7B24B4A4D92FF4DB42E232BD11F /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD768C27E392C934C06DFB4AC401037C /* ConstraintMakerRelatable.swift */; }; 4F50C703427747B88405080B221349A1 /* DTLinkButton.h in Headers */ = {isa = PBXBuildFile; fileRef = D7B5E61166782ED8D585D4FCEE2074DB /* DTLinkButton.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4F5A9468D6EF04461C0D88C280B8E612 /* wxread-replace.css in Resources */ = {isa = PBXBuildFile; fileRef = 4C61D04931F7736E429371D872F7E736 /* wxread-replace.css */; }; 5065D99E1588E8CC60677E74916A5C03 /* DTAttributedTextCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E1F63A854BBF28E93AC1D3F71CD48CBE /* DTAttributedTextCell.m */; }; + 507457591771749BC61AF56355237298 /* RDEPUBAttachmentNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 091717314CB1F573F5EE5EEC4DF86BA9 /* RDEPUBAttachmentNormalizer.swift */; }; + 50A7E46C5387CA7A64E174BA2765D911 /* RDEPUBDTCoreTextRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2858C4311A2E3D5C75501279AD0FFE5 /* RDEPUBDTCoreTextRenderer.swift */; }; + 50F3751C3F696699455F17021220893C /* SnapKit-SnapKit_Privacy in Resources */ = {isa = PBXBuildFile; fileRef = B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */; }; + 516241695A672334493D3B0D99B6010B /* RDEPUBWebViewDebug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B4DD7F34461088F19AB93FBE13CC9BD /* RDEPUBWebViewDebug.swift */; }; 51A1B5800D23C355B1712E8D1103780C /* DTTextBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = D497C3CA364E37DAAFF2C3B90CC7DBE8 /* DTTextBlock.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 528A1DE513701F24FD9B98742CB19706 /* RDEPUBFixedLayoutTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FD2E18DC68BCC843FF378E84642CE78 /* RDEPUBFixedLayoutTemplate.swift */; }; 528DBAC7FCEFC7D6575C1F6CB4399AEA /* DTStylesheetHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 96FA99AA7D4AD0D4246C8DAC1CC0C24E /* DTStylesheetHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 52978358028473BE63B6B1F6AA20675C /* DTBase64Coding.m in Sources */ = {isa = PBXBuildFile; fileRef = 061BD3911E4E530C792E65CED7868C33 /* DTBase64Coding.m */; }; - 546FA40FF62C090A815E63274A47A36C /* RDEPUBReaderController+DataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = B04B186DAA39C121040AC3B1018D12E8 /* RDEPUBReaderController+DataSource.swift */; }; - 54B7A61A6E6A76A14DD71273E5E6B101 /* SSAlertAnimationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97995C73297871C353364E685939DED9 /* SSAlertAnimationController.swift */; }; + 52BE81E0122108BC01D09A456AEFF3FF /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0834E84632886CDD9911CAB76183F1CE /* QuartzCore.framework */; }; + 53EE1D71C6CEDEA214C2219555278288 /* RDEPUBSelectionState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 842CFD545EEE819C6C564D46E55F441C /* RDEPUBSelectionState.swift */; }; + 5488E8952CDAEC89E99E07B35C287915 /* RDEPUBReaderLocationCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 873616F4DE65CD2EC67DC0D6F4FC4825 /* RDEPUBReaderLocationCoordinator.swift */; }; + 54C09554363B7B8FCF83EE13235D0037 /* Archive+MemoryFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 174FC0CA05D20BB995E211DE5A0857DB /* Archive+MemoryFile.swift */; }; 5582735073EBB9F5078E6E8AEEFB646A /* DTCoreTextLayoutLine.h in Headers */ = {isa = PBXBuildFile; fileRef = 64AB89EAB10148C39B726B26BE04F4F8 /* DTCoreTextLayoutLine.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 55DA9AC6E71D27CF7C8D4FE3A247BD0B /* RDReaderView+ContentAccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = D079A146A6FF29F12B0747422C2EA97F /* RDReaderView+ContentAccess.swift */; }; - 5636D02C578B36C6C52095DEEE012662 /* SSAlertViewExtention.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2280F2302F54E90122747821FE681543 /* SSAlertViewExtention.swift */; }; - 567A0978AA797E4385F13B23465F3585 /* Archive+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2659DB0685E16ABAE0382F726DA8C8 /* Archive+Helpers.swift */; }; - 567FA56050A61292B9224271986EF937 /* DTFoundationConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BD568D38C209BA1CC0EBFA809A35204 /* DTFoundationConstants.m */; }; - 56921F586FA68A02088A7BFFB1B05319 /* RDEPUBPaginationModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B6B10413287246F7D530687A388D83A /* RDEPUBPaginationModels.swift */; }; + 5601369368E868D69B705183DE4101ED /* RDEPUBViewportTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEC807386F16BE8E6839E33B4741D45B /* RDEPUBViewportTypes.swift */; }; + 578EB2DC9EBD93DA53DF93A4D4480682 /* RDReaderPageChildViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC645BB4D42BB9762F362DF728F58946 /* RDReaderPageChildViewController.swift */; }; 57D5228C8A85628772D4D78E7FBEAF3C /* DTDictationPlaceholderTextAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = 477A0FC2A1F0B7F7CCF72D201ECEBAB0 /* DTDictationPlaceholderTextAttachment.m */; }; - 593CA36C8608F7B33BEFB64959449B76 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; }; + 594E56DD98781FDDC95B32C8631A5636 /* DTBlockFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 375179DD3A4576CEF947E1760BBDC69B /* DTBlockFunctions.m */; }; 597DE4CDF5C674E269F03F6AA0AFFCC1 /* NSAttributedString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 92460D196C5300656C9649784EBD3C58 /* NSAttributedString+HTML.m */; }; - 5A8E43AB3D398143BB25F39B222A18FE /* SSAlertAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D2EC0B845131A88247902AEA26F40AE /* SSAlertAnimation.swift */; }; - 5B268BA451F57A14CBB953F3CC488566 /* Archive+Reading.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0619F98DA80922E78A07321D0DC54F62 /* Archive+Reading.swift */; }; - 5B38E03FBC5FA066303609D347C9406B /* RDEPUBReaderUIState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43C106392FA85206E0EE3E17BDDEFF91 /* RDEPUBReaderUIState.swift */; }; + 5A0ACFE6C3D089D377FC032E8EA6EC5A /* NSURL+DTAppLinks.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D36F7CDCD7D5788CDCB3A1421DB242B /* NSURL+DTAppLinks.m */; }; + 5A61A41FA3C5B67141BE067CD16F088D /* RDReaderPreloadController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC152E542DB1CE18D5FB239C50E7DD27 /* RDReaderPreloadController.swift */; }; + 5AC0EC349142E7ADDDA278EB4A531654 /* RDEPUBChapterRuntimeStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = C66849DA9D804CEC9C3CE4E12E304972 /* RDEPUBChapterRuntimeStore.swift */; }; + 5AD60F3E5F1CFF6567EEA5B3DC92169D /* NSArray+DTError.m in Sources */ = {isa = PBXBuildFile; fileRef = 73940D215D644B6815A09DA802CFBDDF /* NSArray+DTError.m */; }; + 5B8418E922DC554A1FD1A66EBF2EEB68 /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 885653999BD237A574B67DB279DE7E87 /* ConstraintRelatableTarget.swift */; }; + 5C456CE564B63EE8AEA30705BA0F5E67 /* DTAnimatedGIF.m in Sources */ = {isa = PBXBuildFile; fileRef = BC332335B380BC51C4F05C5CCDFB9189 /* DTAnimatedGIF.m */; }; 5D03A5B9DC067875CFEC9D4EA7B059E8 /* DTCoreTextLayoutFrameAccessibilityElementGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = D863AE4F659A0F71B22DC9FF334DDF4E /* DTCoreTextLayoutFrameAccessibilityElementGenerator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5D775F2253E759A5B5FDA63EDD10E725 /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 932FD688DE493323BA6B691BC2CB5094 /* LayoutConstraint.swift */; }; 5D8D65121E87E419D8D2F23F8AF43673 /* DTColor+Compatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 80B3D15ED0D19D020663EF055386291A /* DTColor+Compatibility.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5D9E814BF6DF6BCE6842249F8A93DBC2 /* UIApplication+DTNetworkActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 77213203802F44012346181FED2856F9 /* UIApplication+DTNetworkActivity.m */; }; - 5DB252F686F6F535F3B531EF2E60692E /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7176B677A350927FC670368313DC2CA1 /* ConstraintConfig.swift */; }; - 5DC5386A66481FFAFAC58DA005F1B5FA /* RDEPUBPaginationCacheCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2883B11ACE6B06556D1B0FC8DC0F7E30 /* RDEPUBPaginationCacheCoordinator.swift */; }; - 5E82688424A62DA1557419401D47B340 /* Archive+WritingDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98C7359A7C3FC7675FED220200A43A17 /* Archive+WritingDeprecated.swift */; }; + 5DF55B5721E1E1F64D828EFDE28270B4 /* RDEPUBTextBuildPipelineInterfaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31318B9A80CC694F9EFE2A72D4826B64 /* RDEPUBTextBuildPipelineInterfaces.swift */; }; + 5E2E03819F4F5F11C27A6C3A0E4A2472 /* NSFileWrapper+DTCopying.h in Headers */ = {isa = PBXBuildFile; fileRef = 09C957F3199C596781EFA1DEA1DDCEC8 /* NSFileWrapper+DTCopying.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5E90EBD876ED4E50AB890FB56C4BFA57 /* DTHTMLParserNode.h in Headers */ = {isa = PBXBuildFile; fileRef = C8343CDCF82729A8EBCCA37A6650E34F /* DTHTMLParserNode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5FE984F0E5484F951ADC5A6918DAE7CA /* RDEPUBReaderViewportMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DE6D61DD1D70A6DDF12430979C4082A /* RDEPUBReaderViewportMonitor.swift */; }; + 5EA17AB66DED3DEA869892B405532AA5 /* rangy-serializer.js in Resources */ = {isa = PBXBuildFile; fileRef = 14423BDEA85698D4A942B9C5F4BA2E17 /* rangy-serializer.js */; }; + 5F0141D3A8CB161FC4559750646226F8 /* ZIPFoundation-ZIPFoundation_Privacy in Resources */ = {isa = PBXBuildFile; fileRef = CA4A114775B98CEA4A566C18123B145F /* ZIPFoundation-ZIPFoundation_Privacy */; }; 60532A2E06CCFF814933D2FAE6793AE9 /* DTCoreTextLayouter.h in Headers */ = {isa = PBXBuildFile; fileRef = C26DBE1150BC9A30B69839783E000358 /* DTCoreTextLayouter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 609C3002E7FFCE826AEFFCE8805CDB49 /* RDEPUBReaderPaginationCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E088FB8503A3AEBBB051817E55410CAE /* RDEPUBReaderPaginationCoordinator.swift */; }; - 616A164035FC6A7F5FD132B83DE46596 /* UIApplication+DTNetworkActivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 957DB4675D5CCBD3CB1762F08619F3F7 /* UIApplication+DTNetworkActivity.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6179B2F08A02BFAEBE23834658BE70F3 /* ZIPFoundation-ZIPFoundation_Privacy in Resources */ = {isa = PBXBuildFile; fileRef = CA4A114775B98CEA4A566C18123B145F /* ZIPFoundation-ZIPFoundation_Privacy */; }; + 60C97E8E3DE0DF8F7B1171204D6987D4 /* SSAlertDefaultAnmation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81B8F42440B802E6EC2B1FF7E3022F3A /* SSAlertDefaultAnmation.swift */; }; + 615499A404E11A1C34DE32C3206E79ED /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; }; 61BE3607EABD2657BC71AF8ACB1C25D4 /* DTHTMLAttributedStringBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B59C9A1B265393E4BA8383B308A5917 /* DTHTMLAttributedStringBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 627E8C3508550607CB5A183DFA7CBEF1 /* RDEPUBReadingSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26A9B74B4E5F952B9DC79C10B5D8E7F0 /* RDEPUBReadingSession.swift */; }; - 630146BD032D6366A273E5F74C33A863 /* RDReaderViewProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3653FA7AD3EF76156E4FB425AC90E5F4 /* RDReaderViewProtocols.swift */; }; - 6359AC2D2AA5C85B22CDBF3B961FEFB1 /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C647A2EB2720BCBF88B160D124B57BF /* UILayoutSupport+Extensions.swift */; }; + 62086351D7E24BAE8B8B717898042B47 /* RDEPUBAnnotationModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39816EFB8DFB4FA6B91D9C8AB03A1C6A /* RDEPUBAnnotationModels.swift */; }; + 62E3F3801E84F81EA9B1C3C5D81E4863 /* RDURLReaderController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 612A3E2FFAC1C49D7F4B8DF773A3C40D /* RDURLReaderController.swift */; }; + 634FFD4AA99D011466E3C0C20148E452 /* RDEPUBParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CE0D7B6DB4A2FC4CFBD7F402AD7F6FA /* RDEPUBParser.swift */; }; + 64023053EC8C615ADD043885C4ED31C0 /* RDEPUBReaderToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC8440133C751F27A8CC577491D2272B /* RDEPUBReaderToolView.swift */; }; + 645D97B60D192E03B1E6CE815D0C4993 /* wxread-replace-latin.css in Resources */ = {isa = PBXBuildFile; fileRef = 314D77A91FF74A0ACD762C92A6C1AF19 /* wxread-replace-latin.css */; }; 6634D568E49F5610242E1454680E5885 /* NSAttributedString+SmallCaps.h in Headers */ = {isa = PBXBuildFile; fileRef = DD189DA6054AAE2242F6644A2623B50E /* NSAttributedString+SmallCaps.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 674070237CC3D006DF6EB1F445C16362 /* RDEPUBReaderContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12109749AFDE57CACC5E56AB63AD3EB2 /* RDEPUBReaderContext.swift */; }; - 67525230780E71D60797BD57F84ACCD2 /* RDEPUBChapterCacheKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91EAE48AF0DC04CF719A938AD5613EC3 /* RDEPUBChapterCacheKey.swift */; }; - 67975174935DF5A3D66C101151239252 /* UIImage+DTFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 15941683D394FB8D7EAE91CD2CF03FF1 /* UIImage+DTFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 66C0B37407F4475757025358BA42D2D8 /* RDEPUBWebView+Reflowable.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBD671BD778F560BB9C93218055756E1 /* RDEPUBWebView+Reflowable.swift */; }; + 6737AEEB39B7390668851AB1EE13625C /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E6BA0ECCB0ACF8580C3B5192CA9F11B /* ConstraintLayoutGuide.swift */; }; + 675FC045BD9C4AE15B530F704D3C4A72 /* RDEPUBTextSearchEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8967AE46A1F72D8F08E5B81E1FE83ADA /* RDEPUBTextSearchEngine.swift */; }; 67AE2AC8D9B961D45871077774E11FD3 /* DTObjectTextAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = 073A7F9DF1A554BD1B324EA9E0090E91 /* DTObjectTextAttachment.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 67AE6029E724432408917C8A69CC4589 /* UIView+DTFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 79A77584AB3B92B2508AE0BCFCB8FD87 /* UIView+DTFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 684C12A054C3831A1E74B0C9EEE7AE33 /* RDEPUBResourceResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E4EDBF01B37189D38063CF62178D33 /* RDEPUBResourceResolver.swift */; }; + 68CD6EDE8FBF100463A8488D60380E84 /* Entry.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDD081272B47A3B73CE693D21DC26827 /* Entry.swift */; }; + 68F3F408E7F4407BAC07CB9C635B5D8D /* RDEPUBReadingSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26A9B74B4E5F952B9DC79C10B5D8E7F0 /* RDEPUBReadingSession.swift */; }; + 694502D96A68BA19CB2C0A5EDCF4B3A6 /* RDEPUBRenderRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44F8832CEF100545E84932BE0B82CA7B /* RDEPUBRenderRequest.swift */; }; 69674FEA70899F07BE6098AAEC849978 /* DTAccessibilityViewProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 43CFADE0F46014990052AD67F17C86FF /* DTAccessibilityViewProxy.m */; }; - 6A8605EAC81CC09EC9AD3FA8D5CBCB76 /* RDReaderPagingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D5362F7EC0A627ACAB9AF4CC7F51099 /* RDReaderPagingController.swift */; }; - 6AD0EA5E10820A6B99B38A511DEF6F12 /* RDReaderView+PageCurl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 587454250340EBB39CD77123D727F116 /* RDReaderView+PageCurl.swift */; }; - 6B95FC01A9B50EC9A6276642AF561CE2 /* NSArray+DTError.m in Sources */ = {isa = PBXBuildFile; fileRef = 73940D215D644B6815A09DA802CFBDDF /* NSArray+DTError.m */; }; - 6C874FE3A64F7F50F191A64CC2BD543F /* RDEPUBBookPageMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4D1E00E7B5F60E25B326CF4B83E22B2 /* RDEPUBBookPageMap.swift */; }; - 6D6C04E917D89FF0D1B06C07134A7FB4 /* RDEPUBReaderHighlightsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E295867ADB067E27E538BB6802A15F65 /* RDEPUBReaderHighlightsViewController.swift */; }; - 6D893C2900F7DE1C4FD1790FFDDCE585 /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0EBAC7714A5F73B75AAB47D24B08B71 /* Constraint.swift */; }; + 699FBFB1283440D2C4071DE8686E93DA /* NSDictionary+DTError.m in Sources */ = {isa = PBXBuildFile; fileRef = C18480913E002315E3F5EC6945371697 /* NSDictionary+DTError.m */; }; + 6BDDB8495FEF037480E980D9B463123E /* DTVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD9F2023FF826F67E69E3407A70A8A6 /* DTVersion.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6D5734C2EF55B566E786C43317332707 /* RDReaderContentCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4ADC9061B1BCC6E2FF6FADF845992FA6 /* RDReaderContentCell.swift */; }; 6E3D0FDD78ECC20F4B3697ED21D64224 /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C2B218B5EAA5831A036BBF7E1EFC1B9 /* MediaPlayer.framework */; }; - 6E71A9CA46078CFBC110C52B11389A4B /* DTHTMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 32FB2B1B0498DCBE7B79BDF49E963E3D /* DTHTMLParser.m */; }; - 6EAC401461BC8CFFC1A85021F3EAAB00 /* RDEPUBTextPaginationSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 923C96CA59176956C63098AF00B0201B /* RDEPUBTextPaginationSupport.swift */; }; - 6F774A3E91C081DC41C567F7673AB0C2 /* SSAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F410ED25E4E84C3D5166261CDF4B58F2 /* SSAlertView.swift */; }; + 6E7622C1044CFF3DC79083DD18E90311 /* RDEPUBHTMLNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C337B19D3E4AFBDAEB7B261AA881E5C /* RDEPUBHTMLNormalizer.swift */; }; + 6EF500FA22D37754C747B4CD4EACFB08 /* URL+ZIP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 537BB06317FA188DF7A8A960152520E8 /* URL+ZIP.swift */; }; + 6F8AED725F620E2290F5BED989E0927E /* RDEPUBPageLayoutSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0117FDA7B29F080E05810DE919E51224 /* RDEPUBPageLayoutSnapshot.swift */; }; 6FA0125F16DDEDAD341DB75DEB084F4B /* DTHTMLWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = E16D20FA492E085BD0871B107B3077B7 /* DTHTMLWriter.m */; }; + 70068FA833CBBEE2C28B3A922AE69902 /* NSMutableArray+DTMoving.h in Headers */ = {isa = PBXBuildFile; fileRef = B0AC307F12521444C973EA0DE38B4608 /* NSMutableArray+DTMoving.h */; settings = {ATTRIBUTES = (Public, ); }; }; 7027EF8D77D4082C1BB9B80FF61FCADC /* DTCoreTextLayoutFrame+Cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 28043173CA3B3787DC401ACEB5398108 /* DTCoreTextLayoutFrame+Cursor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 71D5FDB9307694CB527C67D15D30157D /* RDEPUBRuntimeChapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8CC24C31135ADAF3F1271D5BA167262 /* RDEPUBRuntimeChapter.swift */; }; - 7234AF3FEE44D88C2FA4B78EB30391F1 /* NSMutableArray+DTMoving.m in Sources */ = {isa = PBXBuildFile; fileRef = 53499F40E1790A6CBE8AFEB3AC5BEFC8 /* NSMutableArray+DTMoving.m */; }; - 72E798049EE743AFB3351B8DD2DA36FE /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 53D473C6F07982D3D25781A343EC5A99 /* PrivacyInfo.xcprivacy */; }; + 72221B8A3D1BF94380D0AF4CE0CF9F5D /* RDEPUBTextBookBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F79D3BC6D895DC606E798E7F15CF3B7 /* RDEPUBTextBookBuilder.swift */; }; + 7290778C48CE5533AED6D7599DDCB951 /* NSMutableArray+DTMoving.m in Sources */ = {isa = PBXBuildFile; fileRef = 53499F40E1790A6CBE8AFEB3AC5BEFC8 /* NSMutableArray+DTMoving.m */; }; 730ACB99580C5982DC08D50FC5084D41 /* DTAttributedTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = A276DE925253460239BFAEC7663F60D3 /* DTAttributedTextView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 734D7A5703C1993676CE5460595F276F /* RDReaderView-RDReaderViewAssets in Resources */ = {isa = PBXBuildFile; fileRef = 83410CC9CF2ABE63B90A92F2F988BF65 /* RDReaderView-RDReaderViewAssets */; }; - 742187DFE94AAB5DF65DCCDFFB9A2519 /* RDEPUBTextPositionConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10B86E35282C70276F9B3304A6C550F3 /* RDEPUBTextPositionConverter.swift */; }; + 7394298A931BF672760EDFCBD67D0A83 /* RDEPUBPaginationModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B6B10413287246F7D530687A388D83A /* RDEPUBPaginationModels.swift */; }; 7459A1656EDC29D685073B83561B783E /* NSNumber+RomanNumerals.h in Headers */ = {isa = PBXBuildFile; fileRef = 8552BE1A1F6A6D2879763DE3B2B8A2DD /* NSNumber+RomanNumerals.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7492D552569049B3C77F482254C81141 /* RDReaderPageChildViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC645BB4D42BB9762F362DF728F58946 /* RDReaderPageChildViewController.swift */; }; - 763BC0C9739190951DED594259EBCBD1 /* RDEPUBReaderController+ContentDelegates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3562A5E853CB707C1AC4E74C3A8E3924 /* RDEPUBReaderController+ContentDelegates.swift */; }; - 76F2DA473044593E8D856BBF41323120 /* ConstraintMakerRelatable+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECFE19508E12BF8B0B52E8CB4F724217 /* ConstraintMakerRelatable+Extensions.swift */; }; + 7476A5367406DBE00B5611741C5950B1 /* RDEPUBTextPaginationInterfaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B791CDD0D79122F60EC136C025BC751 /* RDEPUBTextPaginationInterfaces.swift */; }; + 755D8AB78AB4E573742BF160AF539C7E /* RDEPUBWebView+JavaScriptBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08E72A1A5E0D8524A2374DA24CDD8494 /* RDEPUBWebView+JavaScriptBridge.swift */; }; + 761EB64898AFA3EDDC029C688F25E2FD /* RDEPUBResourceResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E4EDBF01B37189D38063CF62178D33 /* RDEPUBResourceResolver.swift */; }; + 7749A70CBB8EC685E26F6975ADD6112A /* NSString+DTPaths.m in Sources */ = {isa = PBXBuildFile; fileRef = A3565FEE19F19CB43A43409AFFF2BD2C /* NSString+DTPaths.m */; }; + 77A3C45BA969D54B0584560E4A34AAAF /* NSArray+DTError.h in Headers */ = {isa = PBXBuildFile; fileRef = CEA93EDA6ED54D374265AA5D6B9EBBA9 /* NSArray+DTError.h */; settings = {ATTRIBUTES = (Public, ); }; }; 7821105EF320619993B3BF7FB90C7ADA /* DTCSSStylesheet.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B610E558C4917C4257DC198EAFEE2F6 /* DTCSSStylesheet.h */; settings = {ATTRIBUTES = (Public, ); }; }; 78D24D82D98D77E744FF73C9040618A8 /* DTHTMLParserNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 11B604FC3B0D5C91FEA763DCC0BE4DC5 /* DTHTMLParserNode.m */; }; - 79156E23F0DE0D8314A7ED2C74EF5181 /* RDEPUBAssetRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CCFA3D24C3438DC554760F08D6E8281 /* RDEPUBAssetRepository.swift */; }; - 7934ABD31F35415F9A2C8276676A6648 /* RDEPUBTextBookBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F79D3BC6D895DC606E798E7F15CF3B7 /* RDEPUBTextBookBuilder.swift */; }; + 7931B0AB0072FAA95862E72CED7E0D63 /* Data+Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5964AF1336E2F0DA0E2C32991E76C78C /* Data+Compression.swift */; }; + 7965C75B909AF800768135E005C44224 /* RDEPUBFragmentMarkerInjector.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6D4CF544288387FDB24F07552DDE550 /* RDEPUBFragmentMarkerInjector.swift */; }; 7A48CDFB40202EFD09A2A9AB0EE0770D /* DTCoreTextFontDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 56489D9BA834497E48438A4B4E1CCCFF /* DTCoreTextFontDescriptor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7A8499BDE42C8ABC4739C5BAEDA0C3A7 /* RDEPUBWebDecorationOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFBCC74BCB4330EB8EF1B57BADBB014B /* RDEPUBWebDecorationOverlayView.swift */; }; + 7A705DA59A5F6C2F4E5375C05440A49D /* RDEPUBResourceURLSchemeHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEF667FF45F147B7458680F3808B36A4 /* RDEPUBResourceURLSchemeHandler.swift */; }; + 7B3E5F95580F4336491A7AC45C37B576 /* UIColor+RDEPUBHex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52841033367AF42F8BDD507D2EDD3814 /* UIColor+RDEPUBHex.swift */; }; 7C05F56B62B15EFF344C5CDE4A52B8FB /* DTHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D4C9B7ED5E04C216AB28E3A4065C1C5 /* DTHTMLElement.m */; }; - 7C0F477270950490612CFDFD2463B894 /* RDEPUBTextAnnotationOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBF22F617BFAC4143D2661C887ACACDB /* RDEPUBTextAnnotationOverlay.swift */; }; - 7C2330640C0E4A460D045292C6CBC7A3 /* RDEPUBReaderSearchBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE6AED7CB30C4F5DF029315D9602ABE2 /* RDEPUBReaderSearchBarView.swift */; }; 7D29C0A53AB1B4C1B257D46EBBDC9DA3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; }; - 7D692EFA1ED7DF2CE3E867BCE6926A28 /* RDEPUBResourceURLSchemeHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEF667FF45F147B7458680F3808B36A4 /* RDEPUBResourceURLSchemeHandler.swift */; }; - 7E829421D4AD915E8A629AEE18B1DB39 /* RDEPUBReaderAssemblyCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA3ACBCB65E911E12245EDA437DF3088 /* RDEPUBReaderAssemblyCoordinator.swift */; }; + 7EE8A02180B5BDABFD562BBDF5BFE2D8 /* String+SHA256.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2137D60DD640B7AA699ABA24388477B2 /* String+SHA256.swift */; }; + 7F2B86814F5EC458502C4A7435C947B8 /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50297AAB8278F2BB6FCFE82B20C7A049 /* ConstraintLayoutSupport.swift */; }; + 7F42340708BD02B0350DE3A3E6F73512 /* UIScreen+DTFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F051D813D50D20D53205D5FDCAA877C /* UIScreen+DTFoundation.m */; }; + 7F58D484267B5142628EE0F7D9EFAAD4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; }; + 7F9386E48B8F3EF4744CB135364F0218 /* RDEPUBBookPageMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20850775F6BFCA78F8C4AE637E64423 /* RDEPUBBookPageMap.swift */; }; 7F9CC306B17D409DB903DF850FEDA64C /* DTListItemHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = F7B0087DE7C394A677F5883541AB4FB7 /* DTListItemHTMLElement.m */; }; 8099F1E613A15275EF5FC59ED3C73579 /* NSAttributedString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D3D7C8444F58D9B3FCB4F3006D2CFBA /* NSAttributedString+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 80BF3AEB1634D591238DA13EFCEB9100 /* RDEPUBReaderLocationCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D02D5C9FBB27E031A6D934A07FB001F /* RDEPUBReaderLocationCoordinator.swift */; }; - 81114197684AE047BED887B94262BCEC /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 1E89FE5F2996336E862E82C1E14E0EE7 /* PrivacyInfo.xcprivacy */; }; 811D7CBCD710AE45FF80A4B05BFE444C /* UIFont+DTCoreText.m in Sources */ = {isa = PBXBuildFile; fileRef = 13E1548FC42118F1A4164739DE6BE4E9 /* UIFont+DTCoreText.m */; }; 814D0D63E5FD4AB7231E63064FE9EB5C /* NSAttributedString+DTDebug.m in Sources */ = {isa = PBXBuildFile; fileRef = BF4F3EC137168B92A5DA85AF50CD239F /* NSAttributedString+DTDebug.m */; }; 81905A7717925A17E6B98E934A75B8BA /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0834E84632886CDD9911CAB76183F1CE /* QuartzCore.framework */; }; + 820CDB4642D59F63EF355C1139D9DBFB /* ZIPFoundation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D927F128EBF26AD2C61FD0E6B6F6F5ED /* ZIPFoundation-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 82119A0DC4981CC2AF389C7C4CC08186 /* DTListItemHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 98658510AA525496EBF5792E5D9884ED /* DTListItemHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 821407D633CEB7380F5CDDADF41FCA04 /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD768C27E392C934C06DFB4AC401037C /* ConstraintMakerRelatable.swift */; }; 83A4BC9FE4765C9B848DD4925D99F362 /* DTAccessibilityElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 99299A9FD6EF739D18352AC5B9325CB0 /* DTAccessibilityElement.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 845CDFFCE815068C10FD4AF0B4E15CA5 /* RDEPUBFontNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AB3159B171D3889AC3B55CCDE7A58F3 /* RDEPUBFontNormalizer.swift */; }; - 855F8BD571BD8EB0F5E7756AC2413C40 /* Archive+MemoryFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 174FC0CA05D20BB995E211DE5A0857DB /* Archive+MemoryFile.swift */; }; - 860423ACC47AD21DE09C56F055DB5F28 /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32A5ABB8F3656A110B955B0306E9A8C3 /* ConstraintInsetTarget.swift */; }; - 86A1119C520665097B6028AFE68FB9F6 /* DTSmartPagingScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = D2BA6D5DBD4C6A9285C4592721790A26 /* DTSmartPagingScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8706619D1EE7AD70C069BFA14EAAC295 /* RDEPUBTextRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59AB14F9464EEFD112E2C56DF09B002D /* RDEPUBTextRenderer.swift */; }; - 871BED7D64905AA927C5EC750B564494 /* NSMutableArray+DTMoving.h in Headers */ = {isa = PBXBuildFile; fileRef = B0AC307F12521444C973EA0DE38B4608 /* NSMutableArray+DTMoving.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8731ED44361D023F68447864DF243AD8 /* RDEPUBParser+Archive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1774BB2BD665DE754F86F839A89C4FBB /* RDEPUBParser+Archive.swift */; }; - 87C52B306599974254236AC5016E4AAD /* Archive+Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BA251BAC8B430B3A4D4C4321046B990 /* Archive+Deprecated.swift */; }; - 888BAA8B73F1BCC006F04CED9B65A90F /* RDEPUBReaderBottomToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61CAA3B6C9BC1F1E4C35A108D76B1E79 /* RDEPUBReaderBottomToolView.swift */; }; - 88A1889B200CA2B4581B8F51C55857CF /* cssInjector.js in Resources */ = {isa = PBXBuildFile; fileRef = A9F67CE7DA6170FA2E8E04297DF435E0 /* cssInjector.js */; }; - 88FD881543DD17A4D489DA24B1D82159 /* RDEPUBChapterSummaryDiskCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2C33E5B1677A732781A827A0A58805F /* RDEPUBChapterSummaryDiskCache.swift */; }; - 8983E7159E23700FEE6FCACD5E2305CB /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A02EA0374C693F881AB36202FB276DCD /* ConstraintView.swift */; }; + 83BB2DA073E56D19459926C799B79A81 /* NSData+DTCrypto.h in Headers */ = {isa = PBXBuildFile; fileRef = 02EDFE0EEA47398F3E1A361A73AF6A6C /* NSData+DTCrypto.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 85AC5C843E5BBA85300423B69904056A /* UIScreen+DTFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = A3765B289CB7E6C5DF6160D8EBC83C3C /* UIScreen+DTFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 864156A1D04CDA7A8FBFBC3552658475 /* RDEPUBReaderController+ContentDelegates.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE24EB3E81169CF41523AE3317807262 /* RDEPUBReaderController+ContentDelegates.swift */; }; + 8651AC4F4148ADBE75A2AD0D5BE12E4F /* DTFolderMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = B245F7E143F3091652C64F6593E33F7A /* DTFolderMonitor.m */; }; + 88A1391C7E5655BBD9113498412B2384 /* RDEPUBWebView+Search.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A9AB5C9C4F800F35807FC8C8C016D37 /* RDEPUBWebView+Search.swift */; }; 8A0A0FB23DB0021ADC9AD0D90631883A /* NSMutableString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C6293E97E128E98559FB74D9A342EAD /* NSMutableString+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8A1237A80B1E82607F28B0B7FEC62AA7 /* RDReaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C7CBC59E42E8E03559CFEE4F14A56AC /* RDReaderView.swift */; }; 8A35CC67F0AA6B26397C10D756EA34E8 /* DTTextHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = FB2ABB1D297442D91AA42F1407DB4A58 /* DTTextHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8A8C466E9265295CFB7A9BC165D2F6C4 /* Entry+Serialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F991240340FA026C71B68EB25B9F9C8 /* Entry+Serialization.swift */; }; 8AC90941E71199090BCED76DE89EFB60 /* DTAttributedTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 77A613841EB90827AF321DD50B21DB5D /* DTAttributedTextView.m */; }; + 8AE9A81F8964843028782F43C297BB84 /* RDPlainTextBookBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DB57CE3D5558A2995D7CEF1CAD00079 /* RDPlainTextBookBuilder.swift */; }; 8B405CE13E7D718A9340A82B52766AB2 /* NSCharacterSet+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 75FA8E843D9225BD65EB9D17825EC0F4 /* NSCharacterSet+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8C1D391880A42513665477B22E50398E /* RDReaderTapRegionHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 552D02CBD7720F274142F052959EB983 /* RDReaderTapRegionHandler.swift */; }; - 8D7778083E1F47B55C1F8D00620B3D68 /* RDEPUBChapterTailNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC956678AB4F5B41D2BA3F5F2A2378A7 /* RDEPUBChapterTailNormalizer.swift */; }; - 8DE4A90F3D321F46BC078221EED31311 /* RDEPUBChapterOffsetMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE57AC7D620527A77DEF6EB1162C9DFC /* RDEPUBChapterOffsetMap.swift */; }; - 8E3F03542AF48E8F627484F74E43F273 /* RDEPUBNavigatorState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EC834DF4FD9ABC75E1FDED3BBCB37B0 /* RDEPUBNavigatorState.swift */; }; + 8BEB73C0513F92250C772583C28C2957 /* RDEPUBChapterDataCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DF24D221E16134F5457D6E573CAB669 /* RDEPUBChapterDataCache.swift */; }; + 8C18F20B76E0D2794D8B357A0E3EE424 /* RDEPUBReaderViewportMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25DF62B8E685CF66C8511EC11FE33F7D /* RDEPUBReaderViewportMonitor.swift */; }; + 8D1C62DEA7293ED3C7BBCA7A57D812C6 /* RDReaderTapRegionHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 552D02CBD7720F274142F052959EB983 /* RDReaderTapRegionHandler.swift */; }; + 8DD995D626C710B159EF275078B19BCA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; }; + 8DE39AC070F10E5FECDF25723E06E489 /* Archive+Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BA251BAC8B430B3A4D4C4321046B990 /* Archive+Deprecated.swift */; }; + 8E1155C11D35ABDD71546B18EB7110FE /* DTSmartPagingScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = D2BA6D5DBD4C6A9285C4592721790A26 /* DTSmartPagingScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8E25685BE7D70B6589BAA925E690201A /* NSString+DTURLEncoding.m in Sources */ = {isa = PBXBuildFile; fileRef = CB7F3535507F56824BA21509302CF8B3 /* NSString+DTURLEncoding.m */; }; 8E8726381CBCFB1EDB350183456D4EF7 /* DTHTMLParserTextNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 13AB6A32A293E3DC21A7047C6DB958CA /* DTHTMLParserTextNode.m */; }; - 8F2D529DFB7E0B921B2232D93DD11D6F /* rangy-serializer.js in Resources */ = {isa = PBXBuildFile; fileRef = 14423BDEA85698D4A942B9C5F4BA2E17 /* rangy-serializer.js */; }; - 8F7D7DA246BD92907ECFF3E15567C653 /* RDEPUBPageResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB085E95929F7729CE5CBC9F17BB712 /* RDEPUBPageResolver.swift */; }; - 91740868C9193AB08E7FA6E1330B8DAA /* RDEPUBViewportTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9899192BA37086232FFEA93F5B2EC3B3 /* RDEPUBViewportTypes.swift */; }; + 8E9CF624791ED95F5AB6A329602F519E /* RDEPUBWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE68175CDCB5EB0A5693C5DD9DD07BFA /* RDEPUBWebView.swift */; }; + 8ED87933365AEE6791AB7B33E763102F /* RDEPUBPageResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CD7BF4BBEF43525A95F3EA71A06A760 /* RDEPUBPageResolver.swift */; }; + 90D4F74230B11F702CF6B22B1FFC5A23 /* RDEPUBWebView+Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF09515D5DAA9464888E02EA64AA5F7 /* RDEPUBWebView+Configuration.swift */; }; + 91E6BB91FDEFECB2CA8A94274379420A /* RDEPUBBuildDiagnosticsReporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D7B78125ED71DFD5D7AB87570EE951A /* RDEPUBBuildDiagnosticsReporter.swift */; }; 91FDA47810CE5CE2C48AED9205AE89B5 /* DTStylesheetHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = DA25968B7C9A40031DA45BB328EA8A2E /* DTStylesheetHTMLElement.m */; }; 92C59F96D443525E8833676479FA60C5 /* DTVideoTextAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = 73A99927E52B24583A6A2CF7E6F23848 /* DTVideoTextAttachment.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 93332352A5035E9337BEAF6373EA737F /* RDEPUBChapterDataCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3068218D3A08F227DDA6216F94FB69F4 /* RDEPUBChapterDataCache.swift */; }; - 93406FECB9741694A5C3664D2482F7D5 /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = C241AD9CEC9D6732CFBA6A55B49E64C9 /* ConstraintInsets.swift */; }; - 9361F0CAA37A3D0F59158DA361B3403B /* NSArray+DTError.h in Headers */ = {isa = PBXBuildFile; fileRef = CEA93EDA6ED54D374265AA5D6B9EBBA9 /* NSArray+DTError.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9446AB65083BF63454F0BC79597D7A70 /* RDEPUBReaderTopToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9255AF737FE4AA3AE50EE4F2BDCC9AD7 /* RDEPUBReaderTopToolView.swift */; }; + 93EC8299D7CCAD3D327482DB722A5AE0 /* RDEPUBFixedLayoutTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FD2E18DC68BCC843FF378E84642CE78 /* RDEPUBFixedLayoutTemplate.swift */; }; 94F5846979DBC90E2B646E975F5ECBA8 /* DTHTMLWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B96B0998B49D8E149C995474DA5FE5F /* DTHTMLWriter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 95F7823641FEAB9FDCC40C27199DAAAB /* RDEPUBTextPageDecorationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 600151C0D6D719C385CC4D3FCA6E0B27 /* RDEPUBTextPageDecorationView.swift */; }; - 961088C5DEA62E762924A9E4158B7931 /* NSURL+DTAppLinks.h in Headers */ = {isa = PBXBuildFile; fileRef = 557DA029E15EC99631B647AE8922007F /* NSURL+DTAppLinks.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 96207BE20EB66606E46D23F61D098367 /* NSURL+DTComparing.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BFCAC7C2AEA867E67C63A852576774F /* NSURL+DTComparing.m */; }; + 9606C3612C113E5A9CF3E518F159C86F /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 53D473C6F07982D3D25781A343EC5A99 /* PrivacyInfo.xcprivacy */; }; + 963A45D1CC40D33B936D5AB4617663C5 /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = C241AD9CEC9D6732CFBA6A55B49E64C9 /* ConstraintInsets.swift */; }; 96507B8910C8C9DE0B221CFF0E8518D0 /* Pods-ReadViewDemo-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EBA0272559B0F7FAD8AC670AC7431188 /* Pods-ReadViewDemo-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9705BC91D9FE89A08A6794D92FC852E6 /* NSData+DTCrypto.h in Headers */ = {isa = PBXBuildFile; fileRef = 02EDFE0EEA47398F3E1A361A73AF6A6C /* NSData+DTCrypto.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 970824C814CB8C9FBEC8916A75542AF3 /* NSURL+DTUnshorten.m in Sources */ = {isa = PBXBuildFile; fileRef = C80065DBA5634DAA71129404975D7349 /* NSURL+DTUnshorten.m */; }; - 9753446AFAFB2D5206BC3815BC726AC7 /* DTActivityTitleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EEFAE80193E1F0DA53400C9AD641410 /* DTActivityTitleView.m */; }; + 973C75365B02D67DF77D2E09E919F355 /* Archive+WritingDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98C7359A7C3FC7675FED220200A43A17 /* Archive+WritingDeprecated.swift */; }; + 9767951740272AF7CB5BE2755E94EC0A /* RDReaderGestureController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5CD25E951901E42A8D31765763F1CED /* RDReaderGestureController.swift */; }; 9854DC3F1763B6272C2EA3FC6EC40B95 /* NSAttributedStringRunDelegates.h in Headers */ = {isa = PBXBuildFile; fileRef = E20272295EC253826AEE1F83A15D47C5 /* NSAttributedStringRunDelegates.h */; settings = {ATTRIBUTES = (Public, ); }; }; 987538B07E11741899878EA8BC947F51 /* NSCoder+DTCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 354C5DD0ACC742762200A640ADA859C6 /* NSCoder+DTCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 98A96688CD654BD1ECB83A4A6C35B2B5 /* RDEPUBJavaScriptBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB11AFA7344329F42A0DB0609F061C2B /* RDEPUBJavaScriptBridge.swift */; }; - 98F0C9511AA2FA40CD80DC71EB6D4FDF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; }; + 98B68BB0025F0CEDADBD1D8EFAF00458 /* RDEPUBJavaScriptBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB11AFA7344329F42A0DB0609F061C2B /* RDEPUBJavaScriptBridge.swift */; }; 9917E9B804CD33AF3BE2A992A3510C97 /* NSNumber+RomanNumerals.m in Sources */ = {isa = PBXBuildFile; fileRef = B7672A26922DBD934FA1AC60D49EB322 /* NSNumber+RomanNumerals.m */; }; 992B7C8C824B5EA190EF1DB096064DB7 /* DTDictationPlaceholderTextAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = F9A2565B302334B662AB51DCF8E65EEE /* DTDictationPlaceholderTextAttachment.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 99B5F1A7842B8564F8082C29DD139E50 /* RDEPUBReaderTableOfContentsItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 902D8268D209ABBB2768E10905B189C2 /* RDEPUBReaderTableOfContentsItem.swift */; }; - 99EED2CEABDAD89BA879A10A967AF73C /* Archive+ZIP64.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5693BD171B879406EA14C97F4AD8D8 /* Archive+ZIP64.swift */; }; - 9AE3623ACABFA3CF97A614D014EAFBD7 /* ConstraintDirectionalInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = A651CEE8062C84A597DBC44ECA3DBCC1 /* ConstraintDirectionalInsetTarget.swift */; }; - 9AF5A960FC572176D3B411E21E5C15E3 /* RDEPUBWebView+Search.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A9AB5C9C4F800F35807FC8C8C016D37 /* RDEPUBWebView+Search.swift */; }; + 99E9B466AEBEF16454DC1F420189C329 /* NSURL+DTUnshorten.h in Headers */ = {isa = PBXBuildFile; fileRef = 054674EB90C625BB4BEA9368ED92592B /* NSURL+DTUnshorten.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 99F602CEE33726381C9ECFA62FE7525F /* DTCoreGraphicsUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = A8DFDCAB69B471EB5667C964865C26CF /* DTCoreGraphicsUtils.m */; }; + 9A41DCEFBC25EF8DC7033B5FA00F1459 /* RDEPUBReaderUIState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AD1A106B152B70FC2A33A7D6B55ADB5 /* RDEPUBReaderUIState.swift */; }; + 9A98899B17D91D8B6E53828E20B59CD8 /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02CF362F88AB69253F1898E53D7A286A /* ConstraintDSL.swift */; }; 9B199D71D2F48B2055A7FDF9BD7051CC /* NSString+CSS.m in Sources */ = {isa = PBXBuildFile; fileRef = E27C503C8128BC3CE109FFE077AEF325 /* NSString+CSS.m */; }; - 9B5B3177B11F60D56864D6B23599A1A4 /* RDEPUBWebView+Reflowable.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBD671BD778F560BB9C93218055756E1 /* RDEPUBWebView+Reflowable.swift */; }; - 9BA35FC883C9B3C63EE3D0BFEC53689A /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0834E84632886CDD9911CAB76183F1CE /* QuartzCore.framework */; }; - 9BC6941C2AFB6676D1D700EA2F6C96F3 /* RDEPUBWebContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32E5D40E2A0541080719F92638244887 /* RDEPUBWebContentView.swift */; }; 9BD146F72B29C703798001F138B069C2 /* NSCoder+DTCompatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = 9129D37C7F89AD8FD530663BB4503FC0 /* NSCoder+DTCompatibility.m */; }; - 9C0255A17E35943423E7D7AB969AC7F6 /* RDEPUBTextSearchEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8967AE46A1F72D8F08E5B81E1FE83ADA /* RDEPUBTextSearchEngine.swift */; }; - 9C0E5A978B5A27AC8C09ED68B9764422 /* NSURL+DTAppLinks.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D36F7CDCD7D5788CDCB3A1421DB242B /* NSURL+DTAppLinks.m */; }; - 9C3540F5054EF5CC5D8B122C39934B17 /* DTFoundation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FAB3C7F19A511C2B1B7DFBA3CA308C4 /* DTFoundation-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9C3E94E23AE8C0AD6111BCF14AEC76D8 /* RDEPUBWebView+Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF09515D5DAA9464888E02EA64AA5F7 /* RDEPUBWebView+Configuration.swift */; }; - 9C672E99DC82792E146EB7630466CD20 /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CE078B465FDEF40EC0469626A2C2469 /* SnapKit-dummy.m */; }; - 9C78E8CD41D34DF80AC196077012CFD7 /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4684B406B325B35F39322D75B59B6479 /* ConstraintLayoutGuideDSL.swift */; }; - 9CEF7F2CF595080103EEE04A25BED20D /* NSData+DTCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = 17F750F38183302BF345F40F5A4CDD43 /* NSData+DTCrypto.m */; }; + 9BFB3D1FE731A6145C05A18F12A7E6BB /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 882FA707ED3513D263A1E0656AAD2D33 /* ConstraintPriorityTarget.swift */; }; + 9C687B198C7B274021B0D88CE552B822 /* SSAlertViewExtention.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2280F2302F54E90122747821FE681543 /* SSAlertViewExtention.swift */; }; 9DE04C83A68C7512C0A860FFF5CEC113 /* DTCoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = 53F98F0F060B066CAFBCD3C85C26B2B4 /* DTCoreText.h */; settings = {ATTRIBUTES = (Public, ); }; }; 9E4AB71DE8B3E7218B53B2C8EF6B843A /* DTAttributedTextContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = F0D72C5680EBE6CA716EE77281AA4436 /* DTAttributedTextContentView.m */; }; - 9EA52F173814DF82FFAC811892158AF7 /* RDEPUBReaderConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E7CF983E6CF4797FA35E3B583ECA941 /* RDEPUBReaderConfiguration.swift */; }; - 9EB7F99A75B6651DCCEC63A716AA543B /* RDEPUBReaderTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B1E75CAB3F7C45A794F6C5335FFECBB /* RDEPUBReaderTheme.swift */; }; - 9F9C7582F35DDD1AFB5AB289D5BCA7D5 /* RDEPUBRuntimePageCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = D21EFC0B1DC22A993EB8B62715E87FC0 /* RDEPUBRuntimePageCount.swift */; }; - A01919793CF5504D2A234FCFEF12B961 /* RDEPUBTypesettingPipeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0B9221B1E7C6BE99BF31D7EA5C9AA94 /* RDEPUBTypesettingPipeline.swift */; }; - A023C6257ACFCB4BB2C3A0A780D3BA69 /* DTCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = B5FCE04EBB553439D1C2BA1001936293 /* DTCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A0CA0D794B98DDD54311F0784A7214C5 /* DTCustomColoredAccessory.h in Headers */ = {isa = PBXBuildFile; fileRef = 33DB57DF8C5AE334B1BBE9F989352F1D /* DTCustomColoredAccessory.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F0B894DA9E724263A1000BC2273462E /* Data+Serialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DC78D0B0F37BF9AD1058CACA9AAF9BE /* Data+Serialization.swift */; }; + 9FC423D93426E6C714CACDC409724680 /* ConstraintDirectionalInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91144FC099DD458E61625CD939577DAA /* ConstraintDirectionalInsets.swift */; }; + A06D1EE97F1BF8811B25754DEA0D724A /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 932FD688DE493323BA6B691BC2CB5094 /* LayoutConstraint.swift */; }; A132A0C9EB13B65FB886B11AA2E6304C /* NSDictionary+DTCoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = 27205D159B39090908CA0E9C3997B784 /* NSDictionary+DTCoreText.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A13DAFC3F7B4C05DCC4AF5A3FE472CC9 /* RDEPUBChapterPageCounter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AB1D59EE26106C87AE53E9F9ECC96BB /* RDEPUBChapterPageCounter.swift */; }; - A1EE5A08AF16702B7DF8D3881B1DA9C1 /* DTHTMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D75FEDE65722CF41F7F32A164376926 /* DTHTMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A295FBBCF3BEA4000036E0415ED6C9EB /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 885653999BD237A574B67DB279DE7E87 /* ConstraintRelatableTarget.swift */; }; + A15312392C608D1A0D7474FB76E9A245 /* DTLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B007AEEACE9EA271DD73AFD80A74D83 /* DTLog.m */; }; + A1717AB04D06E5731CC366B4DBCDC7D1 /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A02EA0374C693F881AB36202FB276DCD /* ConstraintView.swift */; }; + A209F85E46FA6EAC01760093A64979C5 /* Entry+Serialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F991240340FA026C71B68EB25B9F9C8 /* Entry+Serialization.swift */; }; + A20B52887B7BB8E64DFD11AD5FC6029D /* RDEPUBChapterLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 710B51425866F5577B656A8A2344E665 /* RDEPUBChapterLocation.swift */; }; + A210FFBC5268D6AF1148C136F16F7345 /* UIView+DTFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 79A77584AB3B92B2508AE0BCFCB8FD87 /* UIView+DTFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; }; A2CA9C27EB2B77637A12723F8CFE7AAB /* NSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4428633C8EC3F6289CCF376F588CE0C4 /* NSString+HTML.m */; }; - A2E8647998FBD87C93B2C64C4C9DD6C1 /* epub-bridge.js in Resources */ = {isa = PBXBuildFile; fileRef = 834C4DDB8B590618F7AA98A3FD2B9D2E /* epub-bridge.js */; }; A30D5C1E413A3D319A83D3410A8A549F /* DTCoreTextParagraphStyle.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F760D62F6C6F083374702146337F2CB /* DTCoreTextParagraphStyle.m */; }; - A337239791E84EF6E8715CBCE689637C /* RDEPUBStyleSheetBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3C42316556BF2EEC09C00E6296E6B2D /* RDEPUBStyleSheetBuilder.swift */; }; - A43A5EA6C160F881A43859992FDEC335 /* NSString+DTUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = BE547E464E5D34F9FFB24BAC81D1E4CC /* NSString+DTUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A4E30E61CCDF03F8ABBCA6E261A9158A /* DTSmartPagingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 96EEB6B022E22A4ABC86D87469D4815B /* DTSmartPagingScrollView.m */; }; - A625C258A5EB2D38A3B9160DD77FDD8E /* NSString+DTPaths.m in Sources */ = {isa = PBXBuildFile; fileRef = A3565FEE19F19CB43A43409AFFF2BD2C /* NSString+DTPaths.m */; }; - A6A0B209CBE2DB0BF38825BB49D9BD40 /* RDEPUBParser+Resources.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1A6EBFEF43855FDA02B545BAAC10BB8 /* RDEPUBParser+Resources.swift */; }; - A6E152416030ADA9833117FB49E6C6A5 /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0B32EA4B7A492EEF26CE260E9AEFA0B /* ConstraintMakerFinalizable.swift */; }; + A321012219C79907282A8397452E1926 /* RDEPUBReaderHighlightsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2967F560075AF56B46E86E6D6F4CD48D /* RDEPUBReaderHighlightsViewController.swift */; }; + A32C70C9AC620B10A79AA6CAA57F9135 /* DTExtendedFileAttributes.m in Sources */ = {isa = PBXBuildFile; fileRef = F5389D4E96A4AFE175691B4D3D4524E7 /* DTExtendedFileAttributes.m */; }; + A4F8B77D66749B2C3BCBBCD4EAFB7E6E /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5B34EE2160C27947D1EEFD42184CF5D /* ConstraintLayoutSupportDSL.swift */; }; + A652A9423D3F355160B1A3EA368619F5 /* DTCustomColoredAccessory.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C6BE3B2DA9A8C4CD3760CDAD6F305A5 /* DTCustomColoredAccessory.m */; }; + A673136E5EE8BF905516EC9ECDC1C017 /* RDEPUBPageMapReconciliationCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 229EC6EB4ED751A85D262256AF4B7435 /* RDEPUBPageMapReconciliationCoordinator.swift */; }; A72E9F983E5BBFA7485EFB482B80E89E /* DTWeakSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 5155CCDD61E030184249A020FE5D74B0 /* DTWeakSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A75DAED61AE271F17227D687C15CB057 /* RDEPUBTextBookModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B80E892056051C2B587A8ACD383A59A /* RDEPUBTextBookModels.swift */; }; + A7821E7152DEE99EC2AFCE9DF2511DCF /* DTBase64Coding.m in Sources */ = {isa = PBXBuildFile; fileRef = 061BD3911E4E530C792E65CED7868C33 /* DTBase64Coding.m */; }; A7D665BBDADBE3D64023FF52E218FCFA /* DTCoreTextConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = B2B3D0CB47B0A8E9EC5AF48B7F2DD6B0 /* DTCoreTextConstants.m */; }; - A8766359A57A5265AA4477967BC2D372 /* RDEPUBChapterWindowCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = B02BB9570D018CF824C0024AEDA9DF92 /* RDEPUBChapterWindowCoordinator.swift */; }; - A8D8E9F0F2486DA5E8B6BB91285E23ED /* RDEPUBTextRendererSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1B3FB8E803FAC9694F24527C90EFBB6 /* RDEPUBTextRendererSupport.swift */; }; - A91D815127AC86ACCE9A29979442C534 /* default.css in Resources */ = {isa = PBXBuildFile; fileRef = 05D57D16346FAF830F1F82067307EA9F /* default.css */; }; - A950B0683A4FD6CE58A10B2357AD603D /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C7129757B54DFD9E445D0A17D73A83 /* ConstraintPriority.swift */; }; + A8C8B1400CA17D7B67EFBE1D771AC3E0 /* RDEPUBBackgroundCoverageStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 657741F0097E19E1C21F6F71F5B0BEE4 /* RDEPUBBackgroundCoverageStore.swift */; }; + A8F5F058C3B9A6BAF4C1F79C6C9B7333 /* DTCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = B5FCE04EBB553439D1C2BA1001936293 /* DTCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; }; AA3722CC8B4992EDA8A9F5E9116835B7 /* DTCoreText-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 015F3EE69253C66E11B931E3360BA5FE /* DTCoreText-dummy.m */; }; - AA4167676147564A6AC27274F160C86B /* RDEPUBPageBreakPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EFAAE86BA4FF308A74FA1CEAD40CB4 /* RDEPUBPageBreakPolicy.swift */; }; - AAC840547DD17D5C75BE4893AEC920D1 /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B10D3EC1701BBA4D69926915F942558 /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AAF33DBF3EDE2E462850017949EB0A59 /* RDEPUBRenderDiagnosticsCollector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F7C000E05ED51ADF331A7F6244782A5 /* RDEPUBRenderDiagnosticsCollector.swift */; }; - ABA0A65005939E1FB82E3B3A4F091C78 /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02CF362F88AB69253F1898E53D7A286A /* ConstraintDSL.swift */; }; - ABEC4B76C9F6444D84E18C262ACCF327 /* DTFoundationConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = FD03567681A79FFB6E81B3105503065D /* DTFoundationConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AA861F2531D132B34AC33FCACBFDF239 /* UIViewFrameExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8C351514678D41C58869BD057D5483F /* UIViewFrameExtension.swift */; }; + AB30A75597AA4A37455F88C231C94D1F /* RDEPUBChapterOffsetMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E123F5D57877330E13C6CD8B6E8C880 /* RDEPUBChapterOffsetMap.swift */; }; + AC1276373DB6EE30DD913E711DB1B64D /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F950CEF31AC0065C0BEAB26BA2CEFA1 /* ConstraintOffsetTarget.swift */; }; + AC394A4F88A939496BA35B58D7A9AF60 /* SSAlertAnimationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97995C73297871C353364E685939DED9 /* SSAlertAnimationController.swift */; }; AC7000465258822B466855B12F1F97A3 /* DTCoreTextGlyphRun.h in Headers */ = {isa = PBXBuildFile; fileRef = 49A21AE1A0AB5383F895B34EA7D6973D /* DTCoreTextGlyphRun.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ACB17BD54175BC3B98AC1175481E6AED /* RDEPUBSearchModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5B4E39C9AFC826DEBB56E697B1F4FBE /* RDEPUBSearchModels.swift */; }; - AD17641501D68E8C21FAEC49743E4106 /* ZIPFoundation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D927F128EBF26AD2C61FD0E6B6F6F5ED /* ZIPFoundation-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ADA3C68B75F77F86802CE889179486CD /* SSAlertSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE4FA5133891593CB45AF36B8EBF60C /* SSAlertSwift-dummy.m */; }; - AED36CEE168D0B0F38E9278A6072D11D /* Data+Serialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DC78D0B0F37BF9AD1058CACA9AAF9BE /* Data+Serialization.swift */; }; - AEF232AD2E90CAD431398B4472B54BC5 /* RDEPUBModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 407122F95D1113F8C0E241B944F75AFE /* RDEPUBModels.swift */; }; - AEFE45633FE7519934D64924E411B57E /* DTTiledLayerWithoutFade.h in Headers */ = {isa = PBXBuildFile; fileRef = DF5EDCA3B21964D0462BE0982E2F0BF8 /* DTTiledLayerWithoutFade.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AF1180FE77173DEED2AD3291BC152E1A /* RDEPUBChapterRuntimeStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = F73C1CEF117C3E1E15A1C0F0CE6E34DC /* RDEPUBChapterRuntimeStore.swift */; }; - AF39816C18685EDACE0933D4A2FFDDCA /* RDEPUBReaderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7A3D6CCECEDECBA9575590F2349E274 /* RDEPUBReaderDelegate.swift */; }; + AEE1BCD03A8DDCBA17685C1332C3E87C /* RDEPUBReaderController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF292B82519BB64D13F55AFD1B2C2E61 /* RDEPUBReaderController.swift */; }; + AEF4A9D944B36340568C4F4C80239285 /* SSAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F410ED25E4E84C3D5166261CDF4B58F2 /* SSAlertView.swift */; }; + AF3C4724C595ADEE370CDF550F56A51D /* NSString+DTURLEncoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 31BD7533867336DEA9B835F471767178 /* NSString+DTURLEncoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; AF7A1DC953992A149CB0815C90769529 /* DTIframeTextAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B931AB189BDDE2CCE8578B50BD60AF0 /* DTIframeTextAttachment.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B01557AA9F0C45612AE1C7ADB1CCE4FC /* FileManager+ZIP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27B7D3C6F0C845E3D42BBA613FFB0465 /* FileManager+ZIP.swift */; }; - B2418E155320F3D2B933ACC133B1E946 /* NSDictionary+DTError.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FC368BD2A8D266EB771E5FB9A5A5B3C /* NSDictionary+DTError.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AF7F29259539B4CC09B43A31AE0FF7F4 /* RDEPUBPublication.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8EED36C051D89B37BBEB069A27F2099 /* RDEPUBPublication.swift */; }; + AFBDB7B4F175558FAE949940E77BF58B /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28D62D3200AC3D4E42C81CDFF7E884E8 /* ConstraintItem.swift */; }; + B046157E158F5007FEE392248BCD8958 /* epub-fixed-layout.html in Resources */ = {isa = PBXBuildFile; fileRef = 5FA33EEE837A94425518AA187AAEF524 /* epub-fixed-layout.html */; }; + B1443C4F8CAA64D4E69C48EE92A3B053 /* RDEPUBReaderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45078E1A399DA8AD0C6A476457158555 /* RDEPUBReaderDelegate.swift */; }; + B144AE57EAC575F35860A88C328B67D8 /* DTTiledLayerWithoutFade.h in Headers */ = {isa = PBXBuildFile; fileRef = DF5EDCA3B21964D0462BE0982E2F0BF8 /* DTTiledLayerWithoutFade.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B1FBB6E6199752C0F7C5A34D7F996CAD /* RDEPUBTextContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A08ADCB02F9DDDE5C9DF8ABC323EB87D /* RDEPUBTextContentView.swift */; }; B24FAD34A7915FC4B90FE9038E814FF2 /* DTLazyImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = A4E43DCDE0C8751557E7E65FEEB1C865 /* DTLazyImageView.m */; }; - B4A84796AE5BF4ED6A1D644618A332D6 /* RDEPUBBuildDiagnosticsReporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D7B78125ED71DFD5D7AB87570EE951A /* RDEPUBBuildDiagnosticsReporter.swift */; }; - B505DF10D47ED5D2EE65BAE5B5BF335A /* RDEPUBDTCoreTextRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2858C4311A2E3D5C75501279AD0FFE5 /* RDEPUBDTCoreTextRenderer.swift */; }; - B510C7A442F6FE2E206976EFFAC000FD /* RDEPUBTextBookModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B80E892056051C2B587A8ACD383A59A /* RDEPUBTextBookModels.swift */; }; - B653D862AF128CEEDFD71129AE620A7D /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E6BA0ECCB0ACF8580C3B5192CA9F11B /* ConstraintLayoutGuide.swift */; }; - B6934B2BD7ABDF8AC0858D96B5AF08C5 /* wxread-replace-latin.css in Resources */ = {isa = PBXBuildFile; fileRef = 314D77A91FF74A0ACD762C92A6C1AF19 /* wxread-replace-latin.css */; }; - B6FF3D1C24E6AF28D71A0CD7F5F18189 /* RDReaderView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F521195CC116D5FFE8AFDDA24ABA2CD /* RDReaderView-dummy.m */; }; - B75282EB6F6EA0AD668AECD3C83F66BD /* DTVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD9F2023FF826F67E69E3407A70A8A6 /* DTVersion.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B2CAB0922C3690D1F347B0C706D4EFFE /* NSString+DTUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = DCECDBD73595CA88A2208000B4B68352 /* NSString+DTUtilities.m */; }; + B34386ECFE1FD097081B233BEA360811 /* SSAlertSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE4FA5133891593CB45AF36B8EBF60C /* SSAlertSwift-dummy.m */; }; + B360B254BDB940DDC8D424518B7B9777 /* DTPieProgressIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B443D035BA5652B03A41BE905C5AC17 /* DTPieProgressIndicator.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B41B63EC313D9A2E9B8769B2D841246E /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E5637603691B9B35C2A886B686D3CE7 /* ConstraintViewDSL.swift */; }; + B45A4CAF26DEA1B28FEF4D14BDD79E09 /* cssInjector.js in Resources */ = {isa = PBXBuildFile; fileRef = A9F67CE7DA6170FA2E8E04297DF435E0 /* cssInjector.js */; }; + B4878E00C0E06F2A171046AEABB884EB /* RDEPUBReaderDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDD67BE7B6D7E86A49482D4F07933959 /* RDEPUBReaderDependencies.swift */; }; + B4F5ADBBABFC562811010A5024D328A0 /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CE078B465FDEF40EC0469626A2C2469 /* SnapKit-dummy.m */; }; + B569D140D2081DC5CB679C76B9A59D31 /* SSAlertAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D2EC0B845131A88247902AEA26F40AE /* SSAlertAnimation.swift */; }; + B5B48BA3ECA2CA354C62024DDEBA3264 /* RDEPUBTextPageRenderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94CAF1F55388B4B2B4BEE1F02A26DD24 /* RDEPUBTextPageRenderView.swift */; }; + B6C4123AF936F6A79D440D0F8DA487BE /* RDEPUBSemanticMarkerInjector.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD9F7B0D64CCCDACB7D703E942A4EBE /* RDEPUBSemanticMarkerInjector.swift */; }; + B6E2BA209314399178624F4BB75B6BF3 /* SSAlertPresentAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E481007A8174943868EBC81CF3B04B9F /* SSAlertPresentAnimation.swift */; }; + B6F6D87CC7D6C022B3FA1C51A0579488 /* NSURL+DTComparing.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BFCAC7C2AEA867E67C63A852576774F /* NSURL+DTComparing.m */; }; + B7319DD2EB53857515688EF0E0ABF54D /* RDEPUBReaderLoadCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15323E39EAC18AA202D1039BC2DDEAA7 /* RDEPUBReaderLoadCoordinator.swift */; }; B7BDD79FC06A1E4E0E17592860844108 /* NSAttributedString+DTCoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = FF3F7BA20A1213804048557D946CEEA9 /* NSAttributedString+DTCoreText.h */; settings = {ATTRIBUTES = (Public, ); }; }; B8332F36582F7A001FE85A8D54B27C9E /* DTCoreTextParagraphStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D62C5531667F364F14DB67D33FFA554 /* DTCoreTextParagraphStyle.h */; settings = {ATTRIBUTES = (Public, ); }; }; B86493B996A888D1DA7814ECB6028E22 /* DTHorizontalRuleHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = A68D72764140BC3DF67A2B9E52CEC7A4 /* DTHorizontalRuleHTMLElement.m */; }; - B8B8E917005BED05B7FFDB7A6F7FB2B9 /* RDEPUBReaderController+PublicAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26C542F1825BDD5743D52350B8F4788D /* RDEPUBReaderController+PublicAPI.swift */; }; - B91AF32D50A82B44DDAFD1D77382AB2D /* DTExtendedFileAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 538572A5C098252D629F2185F1B1C9E8 /* DTExtendedFileAttributes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B89AF5B3F00ACEB88D047C88ADABAC06 /* Archive+BackingConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61E36C4FE448DDDA03450847FCB785B6 /* Archive+BackingConfiguration.swift */; }; + B8ABC2D7E9C59307D9536EFD4AE38092 /* ConstraintMakerPrioritizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E138EC76D0DF24544D29D1A4D7429E3 /* ConstraintMakerPrioritizable.swift */; }; B94CD41727DFCA8791EED8FB2CA397DD /* DTCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 2702E05AA7A266B7D8D0F881FD4E09DA /* DTCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B9F653EC455154C78DE01B878E886926 /* RDEPUBWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE68175CDCB5EB0A5693C5DD9DD07BFA /* RDEPUBWebView.swift */; }; - BBA44069DE29E393B2A3CE8DD7DF6552 /* DTAnimatedGIF.h in Headers */ = {isa = PBXBuildFile; fileRef = A9FBC69C7DA29A7283920FDA9EBBCE8A /* DTAnimatedGIF.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BB23F31F9A27622CC382112797C3B9BB /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C7129757B54DFD9E445D0A17D73A83 /* ConstraintPriority.swift */; }; + BB813B54B56560BC1CC52E124A4A423A /* RDReaderViewProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3653FA7AD3EF76156E4FB425AC90E5F4 /* RDReaderViewProtocols.swift */; }; + BBDE992F64A82641F7F2C2798264397B /* NSData+DTCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = 17F750F38183302BF345F40F5A4CDD43 /* NSData+DTCrypto.m */; }; + BD46E4B9002B187812F34828B35CD159 /* RDEPUBPageCountCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD287FBE5DFBF747EF60BFE6EEC17A8A /* RDEPUBPageCountCache.swift */; }; + BD791B1B182C37499A8E95D2D67971F9 /* DTActivityTitleView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8272D0B59ABD6652D0CAE3DFCC2C5EE1 /* DTActivityTitleView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BDE6A8A648D0B12EFA10E782252D2A37 /* RDEPUBReaderSearchCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5607D4C848F6E8DFE5B25EFFB6436BFD /* RDEPUBReaderSearchCoordinator.swift */; }; BE12CD112F82AD9050D7FB29395F27F9 /* DTVideoTextAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = 63A6EDF10DA5A051C6CDCBE5D97AF11E /* DTVideoTextAttachment.m */; }; - C126E3F113976F437DCE56A43F333F01 /* epub-fixed-layout.html in Resources */ = {isa = PBXBuildFile; fileRef = 5FA33EEE837A94425518AA187AAEF524 /* epub-fixed-layout.html */; }; - C20DE912EC839E6C24E6986FD8BB54BF /* RDEPUBReaderController+RenderSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAE8DA169B8772C7191FBA9AB80092F8 /* RDEPUBReaderController+RenderSupport.swift */; }; - C35E6F015F735469B32D4B64F92B06EF /* Entry.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDD081272B47A3B73CE693D21DC26827 /* Entry.swift */; }; - C3700FAB589DC03A0A08C41B115C52AF /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3593ADF561D422F73C8EABAD4A4F440 /* ConstraintRelation.swift */; }; - C38BA41ED0310D484DE9BC50683409A1 /* RDEPUBSelectionState.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF725A63AD2B9E43F33EB99F07C304D4 /* RDEPUBSelectionState.swift */; }; + C10C35A4FE4BD298128320C6B803DF2E /* SSAlertCommonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE4EE750340347ED584C5A2C1164331A /* SSAlertCommonView.swift */; }; + C1A38A3ED8A2E28B9B1781F2D2E62A6E /* RDEPUBSearchModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5B4E39C9AFC826DEBB56E697B1F4FBE /* RDEPUBSearchModels.swift */; }; + C1B3E55D5A02FDE11B5303BB1031F84B /* RDReaderView+CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 579711B0A35AF68319DBD269278F32FC /* RDReaderView+CollectionView.swift */; }; + C1F662C9F4521D27A5A0270EEA2B59A6 /* NSURL+DTComparing.h in Headers */ = {isa = PBXBuildFile; fileRef = 731C0C61E3AD227D691FBA1C2C17BF7B /* NSURL+DTComparing.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C23DC14A561904638784644016AFB440 /* RDReaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C7CBC59E42E8E03559CFEE4F14A56AC /* RDReaderView.swift */; }; + C3497E4AF5FEE829E82CF9A68C8EC1AF /* FileManager+ZIPDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F9B298989305B9569B71E448E8C1D4 /* FileManager+ZIPDeprecated.swift */; }; + C410487E78D155B9B702ED90E927B529 /* SSAlertSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 937CEFA81DA4227008DBFB114783A08B /* SSAlertSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C5AA86EA9BDE9BB1F035F08A1A10EBB5 /* NSString+DTUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = BE547E464E5D34F9FFB24BAC81D1E4CC /* NSString+DTUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C5C844C310516F415FEC580EC0B6EC24 /* RDEPUBTextLayouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4F5BD95D13D1554B8DDB8924913442B /* RDEPUBTextLayouter.swift */; }; C5EE8E7373FBD24E66C678356393D871 /* DTCoreTextFontCollection.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E791886E59DC0FAB02C6BBAB5BE5B6B /* DTCoreTextFontCollection.m */; }; - C681A4D2502FBF00BF6CE3D0947B032B /* RDEPUBReaderSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AD6EF544C3C1F037842DF5E4CD048B0 /* RDEPUBReaderSettingsViewController.swift */; }; + C6852D2E414652ADB5F14F1583CF6C59 /* UIApplication+DTNetworkActivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 957DB4675D5CCBD3CB1762F08619F3F7 /* UIApplication+DTNetworkActivity.h */; settings = {ATTRIBUTES = (Public, ); }; }; C6B65C0EA759DF426FBBBB113BA3C3E8 /* DTBreakHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = F734214E067BDBDB581911E1A5CDAADB /* DTBreakHTMLElement.m */; }; - C6D061E40B11A03C582F08F0FE658A7B /* RDReaderContentCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4ADC9061B1BCC6E2FF6FADF845992FA6 /* RDReaderContentCell.swift */; }; + C705D2A215045CB49ECBDBFF68648F05 /* Date+ZIP.swift in Sources */ = {isa = PBXBuildFile; fileRef = F76A97683FB5E8E8B86EA4AD71F6F4B4 /* Date+ZIP.swift */; }; C72CE4B974DFAE2C3037D425EB559314 /* DTCoreTextLayoutFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = CE6907AC04870132CCE3177E894607DD /* DTCoreTextLayoutFrame.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C80A0D159BF6BC3D103A63B0302293B9 /* RDEPUBTextContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC30482E1E56725E225659BE42ED79EC /* RDEPUBTextContentView.swift */; }; - C83D41DE82AB76091B97114C28172D19 /* RDEPUBPageInteractionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 012E2E783F3E83E70D3A5CE2DD8DE007 /* RDEPUBPageInteractionController.swift */; }; + C748361C693CDA618130A80C0806B61B /* RDReaderView+ToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93898CAF537398E00D8113217C419CA9 /* RDReaderView+ToolView.swift */; }; + C87FF08DED7492A1BE5BAA9F39D4FA1F /* DTBlockFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = A0BD48DAF5AE9DB087F2552E99069709 /* DTBlockFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C8E4717CAEE0B206EBA902A3D91CD5F0 /* DTVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AF6156128A1A0CA24D9D06E346B9445 /* DTVersion.m */; }; C8F753B56A6C4D2A938B6EA68CF522F8 /* DTColorFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 86A0361390AA0C29BC1A5487083A12A7 /* DTColorFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C94D3CDEE5621CEE53D409852A4882BD /* Entry+ZIP64.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7345CE45F696634CEA692A86D16F684C /* Entry+ZIP64.swift */; }; - C96A2A5DFFCFA753C0A7558F62717D2D /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9593E7B37569219F8D9A504B47707DC /* ConstraintAttributes.swift */; }; C9DD05EF2D27FFEBFA7BF6F437168501 /* DTCoreTextConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = C8C20D9A71E6605DEE80342E7122B683 /* DTCoreTextConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CA67E186452744CFE975CDC8CF75640F /* RDEPUBTextBuildPipelineInterfaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31318B9A80CC694F9EFE2A72D4826B64 /* RDEPUBTextBuildPipelineInterfaces.swift */; }; - CA7AD3BB11AECE506ADDF8C25F279904 /* RDEPUBRenderRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44F8832CEF100545E84932BE0B82CA7B /* RDEPUBRenderRequest.swift */; }; - CC3A3AC5FDD073E23A4FB9751E1906F6 /* DTLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A1EBB9497F4846C84CA0BF5E4F84FC7 /* DTLog.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC63E1E8EA43990861286233CB21034A /* RDEPUBTextIndexTable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAF8513093523204F2598DC45941FB49 /* RDEPUBTextIndexTable.swift */; }; + CB493F3CB084E44E32C0818196E19688 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = 945D4549E0B9168D7DDB910DE874B874 /* Typealiases.swift */; }; + CB69CD4E31418E858D37059AEABF1AFB /* RDEPUBParser+ReadingProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FE003BF0CD443CC90388E203EEF3FC8 /* RDEPUBParser+ReadingProfile.swift */; }; + CC43F333E28DD02BC5017181C70A3083 /* RDEPUBTextRendererSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1B3FB8E803FAC9694F24527C90EFBB6 /* RDEPUBTextRendererSupport.swift */; }; CC8B8F3D758E98B51F69EDFAA69663A4 /* NSString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 8ABDEFEA94DC6408D92AC66DA3625DE5 /* NSString+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CDC18A86DDAEC766C5C19B8C5E9C95B1 /* RDEPUBReaderController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20E5F9A5250EB5724D516BF67152CBB8 /* RDEPUBReaderController.swift */; }; - CFA89FA29A6C84CD39425D4D1C97F8C2 /* DTLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B007AEEACE9EA271DD73AFD80A74D83 /* DTLog.m */; }; + CEC874E966AE9F0D115A2C9F6AB54EA1 /* RDEPUBTextBookCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11B3FF18F25CAE9935ED05E0856F20C3 /* RDEPUBTextBookCache.swift */; }; + CF400C75FB94C9E3FC26159A1B46A40F /* DTTiledLayerWithoutFade.m in Sources */ = {isa = PBXBuildFile; fileRef = 70F5D03B9B3B7F182C8F5C1F5D4FA7E7 /* DTTiledLayerWithoutFade.m */; }; CFC49467FE75BFABC22A1CE2FFA26570 /* DTImage+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 12A5EA26EE7539EDDA90649D22FB675D /* DTImage+HTML.m */; }; - D0B50C95B7602E93C6813B56F9909F3A /* RDEPUBReaderToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16A1F97BF3EA1335405B877D02898D34 /* RDEPUBReaderToolView.swift */; }; + D00F5069ED3A848CE13FA1FEC04D9CE3 /* RDEPUBSelectionOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CADAEBF032AE1DAFABC54AA89303DB34 /* RDEPUBSelectionOverlayView.swift */; }; + D05D0649ED85EA25A4590676A37D368B /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C647A2EB2720BCBF88B160D124B57BF /* UILayoutSupport+Extensions.swift */; }; + D0AEDBE9DB112CB4E2CEC99B46EDAB9A /* RDEPUBWebView+FixedLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22BDEB6AC81168F4F3FE78ACCEC2A32D /* RDEPUBWebView+FixedLayout.swift */; }; + D1177CFE4C910FFBCA1FE22E74123F91 /* RDEPUBReaderSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41EEC3ACC28D8D814C6C3E6019498CB3 /* RDEPUBReaderSettings.swift */; }; D1A93B2D7F1B312755C48790338D7712 /* DTIframeTextAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = AA3CFD777AD76F97EBA05B3920F5786A /* DTIframeTextAttachment.m */; }; - D39500A78C93625973C27E090B69D956 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = 945D4549E0B9168D7DDB910DE874B874 /* Typealiases.swift */; }; - D3F314D751A10537FC13519B351B2E04 /* RDEPUBReaderChromeCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC629A6C0155AB2BFFCA818A0C89567A /* RDEPUBReaderChromeCoordinator.swift */; }; + D1FD25C9E84185D4321E07C1C5524380 /* DTFoundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FCC718115E5C31C88A680522AE36B089 /* DTFoundation-dummy.m */; }; + D29B54FD57FC8ED959A8BF36161C5738 /* RDEPUBReaderAssemblyCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B2BCC65AD49EF363FA8CBCDC1B47F8F /* RDEPUBReaderAssemblyCoordinator.swift */; }; + D2F74114810152D25E809456D3EC28BB /* RDEPUBBackgroundPriorityPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3EAA5B68D15E7806988334DE40FB3C /* RDEPUBBackgroundPriorityPolicy.swift */; }; + D41ADE23CCD8140AB17CE7694707D363 /* RDEPUBReaderController+PublicAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36882DD8E345760F64DCED188CC5BF98 /* RDEPUBReaderController+PublicAPI.swift */; }; + D507E5FA0E3ABA47647888A7ADF20840 /* RDEPUBChapterData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5D1621642B6C2702FFE6606483DEF37 /* RDEPUBChapterData.swift */; }; + D511C5AF307340CA2CF17D54142E1FE5 /* RDReaderView-RDReaderViewAssets in Resources */ = {isa = PBXBuildFile; fileRef = 83410CC9CF2ABE63B90A92F2F988BF65 /* RDReaderView-RDReaderViewAssets */; }; D526E03C098DA6CF8F01C1BC126C9BBA /* DTCoreText-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CE7768E097F8BDE9FBE3752B98CD0101 /* DTCoreText-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D67FD0F33281FD59AEDE6A35DEDCCA80 /* DTVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AF6156128A1A0CA24D9D06E346B9445 /* DTVersion.m */; }; - D712A797298A0126776AD6F485C7C224 /* RDEPUBCoreTextPageFrameFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9B5CCE470E634B18B32B423369C1A31 /* RDEPUBCoreTextPageFrameFactory.swift */; }; - D738CA9F50C3937A49E911CD58A59262 /* RDEPUBParser+Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D4CD395C5569628D36C4D838AC6A8B8 /* RDEPUBParser+Package.swift */; }; D82DDA4C1E5C4D5378A9E5EA3F8E9DFE /* DTBreakHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 533CFFF04BE7BC4BDEAE11DF675A84CA /* DTBreakHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9619B2333335421D6BAEE499C684389 /* Archive+Progress.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD987C2FA7C8FBC96FD024E421DA0E68 /* Archive+Progress.swift */; }; - DA4000DFBE1DD93EA927F26438A55DEE /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6578DFAB51436E8DF266FD087700E26B /* ConstraintDescription.swift */; }; + D869F4BCE049F3849E5252A085CFF49B /* RDEPUBReaderTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DC74AAA14C3086490F8EB8CE54FE8BA /* RDEPUBReaderTheme.swift */; }; + DA12E5AC87B6615C39D3B8D1C1C8F31F /* DTCoreGraphicsUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = B6425B2235BA00FE865AF58EF44F1144 /* DTCoreGraphicsUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; DA5B51E5D80C161D2902B6FC60DA5EC8 /* DTImageTextAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = 426D442C01742E4361F5BC34D43152A6 /* DTImageTextAttachment.h */; settings = {ATTRIBUTES = (Public, ); }; }; DAD16D3E6EBB32FF96C63BFE6037065F /* DTLinkButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A1B75050E71BDD96FC19EC6BA129E6A /* DTLinkButton.m */; }; - DAD3AB7B9072C8C4A948BBFF1EBE45B0 /* UIImage+DTFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = D85A85D891A320165843EF9F489178F7 /* UIImage+DTFoundation.m */; }; - DBC2DD8B83F5404F00CC1481D2FA70ED /* SSAlertCommonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE4EE750340347ED584C5A2C1164331A /* SSAlertCommonView.swift */; }; DBCA42F7E1697F4EC82E0E7C9657851D /* DTAttributedTextCell.h in Headers */ = {isa = PBXBuildFile; fileRef = D4093D30B372960168C1349100DF7DE0 /* DTAttributedTextCell.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DC16500BB2DC867D159E2B4795FD2E00 /* Archive+BackingConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61E36C4FE448DDDA03450847FCB785B6 /* Archive+BackingConfiguration.swift */; }; + DBE7C9FB9B14E2EBFD417C3A844FBF5C /* RDReaderView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A09C96468ACCEB23603142794D15D1FA /* RDReaderView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; DC3E2932A82AD5D88D8B1EFBF004BEC8 /* DTCSSListStyle.m in Sources */ = {isa = PBXBuildFile; fileRef = B509CD4B498635D4536245E43D802ED9 /* DTCSSListStyle.m */; }; - DC9D87AC6D207651A205478E4595A360 /* Date+ZIP.swift in Sources */ = {isa = PBXBuildFile; fileRef = F76A97683FB5E8E8B86EA4AD71F6F4B4 /* Date+ZIP.swift */; }; + DC83F60A8B04D071D6C6E31B4F96171A /* DTFolderMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 2101691D5743105B2E3E40376584B91C /* DTFolderMonitor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DC977AC0042D5612E23F18949989A035 /* DTHTMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D75FEDE65722CF41F7F32A164376926 /* DTHTMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DCA6DEB9434AD18A42299B853DE6D56F /* RDEPUBReaderContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDFD1C7F47B604DC70E8919ADB41C90 /* RDEPUBReaderContext.swift */; }; + DD40130323B1DB9C6E49E62DB3331C84 /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0EBAC7714A5F73B75AAB47D24B08B71 /* Constraint.swift */; }; DD73CD0E5148961D1ABD80E050122314 /* DTCoreTextFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = A1B031E2B903C2F177195C1C3D1D1EDB /* DTCoreTextFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DE46AF71DEEF00410A44069968B60E32 /* SnapKit-SnapKit_Privacy in Resources */ = {isa = PBXBuildFile; fileRef = B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */; }; DE68AD2F426FD462BC70F968E5AF5553 /* DTTextAttachmentHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ABC2F552388CD08EC1EFDEF606AE222 /* DTTextAttachmentHTMLElement.m */; }; - DE6F45CCE420BC18B98C151A8E83BC6D /* RDEPUBReaderSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A0C8E542EFB0872BF4471EB2EDB06EA /* RDEPUBReaderSettings.swift */; }; - DF0CD02EC4C094F4454701FBC1D7B1AF /* RDEPUBParser+ReadingProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FE003BF0CD443CC90388E203EEF3FC8 /* RDEPUBParser+ReadingProfile.swift */; }; - DF611CA46A11935B195229A13F367FE3 /* DTCoreGraphicsUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = B6425B2235BA00FE865AF58EF44F1144 /* DTCoreGraphicsUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DF811FAAD2A380EF8C303151A273183A /* Data+Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5964AF1336E2F0DA0E2C32991E76C78C /* Data+Compression.swift */; }; + DEAD34EA1E4151D88E3AC56AD31C2288 /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6DB34ACB132E465CDF8191F7DB71EF6 /* ConstraintView+Extensions.swift */; }; + DEB31971FC44CD931993B99C133253DB /* ConstraintDirectionalInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = A651CEE8062C84A597DBC44ECA3DBCC1 /* ConstraintDirectionalInsetTarget.swift */; }; DFB5A1C64C7908FD05BEFF7C7B571353 /* DTAttributedLabel.h in Headers */ = {isa = PBXBuildFile; fileRef = 5679D281C282896E6FC352C48E0AF439 /* DTAttributedLabel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E048208FDCFDEAEF6DBB9B40DB89D77A /* NSString+DTUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = DCECDBD73595CA88A2208000B4B68352 /* NSString+DTUtilities.m */; }; - E052221C319BA638FAA2C82325694B42 /* DTCoreGraphicsUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = A8DFDCAB69B471EB5667C964865C26CF /* DTCoreGraphicsUtils.m */; }; - E0FE3B76A6ABF85CFED6D5E8E98E7CD4 /* NSString+DTURLEncoding.m in Sources */ = {isa = PBXBuildFile; fileRef = CB7F3535507F56824BA21509302CF8B3 /* NSString+DTURLEncoding.m */; }; - E10E5848ED673CF04502FEED81F1B0D7 /* RDEPUBReaderSearchCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2451995F95C8B333F972A39BDFC7EBCE /* RDEPUBReaderSearchCoordinator.swift */; }; - E1100C64BC2685999DCD2A291413C52B /* RDEPUBReaderDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B3C0665F2995A9C45FCAABC3F62DE3D /* RDEPUBReaderDependencies.swift */; }; - E1635E1C51B4232C2868F80F501E2CCB /* DTActivityTitleView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8272D0B59ABD6652D0CAE3DFCC2C5EE1 /* DTActivityTitleView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DFD6FC1B365E03135D258D93713FF241 /* ConstraintMakerRelatable+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECFE19508E12BF8B0B52E8CB4F724217 /* ConstraintMakerRelatable+Extensions.swift */; }; + DFF2D1D600DF7473CB641F1AB2A23285 /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60657D08CCDB38BFED30BD40F4720CE4 /* ConstraintMaker.swift */; }; + E021A22FE5E76F9F6120E83E612B1D71 /* RDEPUBChapterSummaryDiskCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14FAC0385BE2989FAA78962312B1C2E5 /* RDEPUBChapterSummaryDiskCache.swift */; }; + E0A1FE06CF1B311DBA5FD528E7C81EE2 /* UIImage+DTFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = D85A85D891A320165843EF9F489178F7 /* UIImage+DTFoundation.m */; }; + E0ABB422ED1A18357B68238BAC24475A /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09BE22EE711B7A38A4443E1C1C12BD79 /* ConstraintMultiplierTarget.swift */; }; E1DA58105A72D6C0B77A8A9F7822BD68 /* DTCoreTextLayoutFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 029130886CE8E422D16ADF97468CB1B0 /* DTCoreTextLayoutFrame.m */; }; - E215C744B7C0F0F1468F0B1BA37A5A26 /* NSString+DTFormatNumbers.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D86C7063D1128EAEB3A30EBEF214B3F /* NSString+DTFormatNumbers.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E2D6AF839C0B606034F40459920DA24A /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = D495E2AB1223BD4D4909F8FF1FF47DAF /* Debugging.swift */; }; - E3044B1AAB959E23ECFADBAC78250AF2 /* RDEPUBPublication.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8EED36C051D89B37BBEB069A27F2099 /* RDEPUBPublication.swift */; }; - E352C433119E17F8C66192B46BF51C46 /* RDEPUBPageLayoutSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 357CF3DD6846FD95FE05679E6ED3866F /* RDEPUBPageLayoutSnapshot.swift */; }; + E28ABB93568001E4FA628B8426739566 /* Archive+Reading.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0619F98DA80922E78A07321D0DC54F62 /* Archive+Reading.swift */; }; E38FC7829B5BDD1588FA487E0FBAC208 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; }; - E3EB2F12234336BBC7BD786BF4B15EA8 /* SSAlertDefaultAnmation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81B8F42440B802E6EC2B1FF7E3022F3A /* SSAlertDefaultAnmation.swift */; }; - E50DB2DE7D674E6FBFB6D4AF5255A84F /* RDEPUBTextPageRenderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F2782574376AE28B6377B05472691E6 /* RDEPUBTextPageRenderView.swift */; }; - E630FEF41AB35A857F55864A56BDE8E8 /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F950CEF31AC0065C0BEAB26BA2CEFA1 /* ConstraintOffsetTarget.swift */; }; - E6BC4DC52C8602301A04EEBC41A7C54D /* RDReaderPreloadController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC152E542DB1CE18D5FB239C50E7DD27 /* RDReaderPreloadController.swift */; }; - E80CE3276D704909789FE7AFC3AD71C3 /* UIScreen+DTFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = A3765B289CB7E6C5DF6160D8EBC83C3C /* UIScreen+DTFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E8452D0B6E2745B0A8BA84317F01D75D /* RDEPUBChapterLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7BBD50992F22841D962895AED7442C7 /* RDEPUBChapterLocation.swift */; }; - E88BE97E9C863275B42FAE9A893B011E /* RDReaderView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A09C96468ACCEB23603142794D15D1FA /* RDReaderView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E8A8019AA3033E666C0E67B6C6C4DAF3 /* RDEPUBTextLayouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4F5BD95D13D1554B8DDB8924913442B /* RDEPUBTextLayouter.swift */; }; + E56663D673A0580AF5FF20BD23EB1ED0 /* ZIPFoundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A06A36ADBE678DB44158D32E751FAFF /* ZIPFoundation-dummy.m */; }; + E6D87998FD129F2AD36A7589AC1CEB0C /* DTCustomColoredAccessory.h in Headers */ = {isa = PBXBuildFile; fileRef = 33DB57DF8C5AE334B1BBE9F989352F1D /* DTCustomColoredAccessory.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E6E885612E534E5588F29D61D16B2EAB /* RDEPUBFontNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AB3159B171D3889AC3B55CCDE7A58F3 /* RDEPUBFontNormalizer.swift */; }; + E73CBEC532E9BF4B55A9BF46738A1CC3 /* RDEPUBTextPageDecorationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F683478E73F71ED49605723CBBCF22A /* RDEPUBTextPageDecorationView.swift */; }; E8AB5CE26A5224EF09E9E363D70C7775 /* DTDictationPlaceholderView.m in Sources */ = {isa = PBXBuildFile; fileRef = AFE0B56638AFB77F4455784A7ED59876 /* DTDictationPlaceholderView.m */; }; + E93CBD8B79512AF76D20DBF91F3DEACB /* Archive+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2659DB0685E16ABAE0382F726DA8C8 /* Archive+Helpers.swift */; }; + E98E239DE16A104B6EF649553701A69B /* DTAnimatedGIF.h in Headers */ = {isa = PBXBuildFile; fileRef = A9FBC69C7DA29A7283920FDA9EBBCE8A /* DTAnimatedGIF.h */; settings = {ATTRIBUTES = (Public, ); }; }; EA0040823CCF8E97363DB5891F5DA6D0 /* DTCoreTextFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F2D44B82815CA3397BE2C9F64819B88 /* DTCoreTextFunctions.m */; }; - EA7C6CE570DA224EE0181273422A6B14 /* wxread-replace.css in Resources */ = {isa = PBXBuildFile; fileRef = 4C61D04931F7736E429371D872F7E736 /* wxread-replace.css */; }; - EB1183B3D404746EBC0FB8949E816BA4 /* DTPieProgressIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DA1E8494B86FFD79C639DCB8C21E1BB /* DTPieProgressIndicator.m */; }; + EA5742B1F01F5307224F1DDB1DA0A9D1 /* Archive+ZIP64.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5693BD171B879406EA14C97F4AD8D8 /* Archive+ZIP64.swift */; }; EBB7E4D4DB253B5F1267CF9B4DDB4E93 /* DTCoreTextFontDescriptor.m in Sources */ = {isa = PBXBuildFile; fileRef = BCCA590DB72AA93275262A414F16578A /* DTCoreTextFontDescriptor.m */; }; + EC3FE7D54ABEC8D80F45F41ED1079744 /* DTExtendedFileAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 538572A5C098252D629F2185F1B1C9E8 /* DTExtendedFileAttributes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EC72A5041C35D2E2BDC88BD0F4AAA1D8 /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4684B406B325B35F39322D75B59B6479 /* ConstraintLayoutGuideDSL.swift */; }; + ECCAB9A7742B6D40C5507B52FD164720 /* RDEPUBJumpSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 659DFDBA722F2D62D662C16FA44B2320 /* RDEPUBJumpSession.swift */; }; EDA269B595D70EC2B9D81DC890157D63 /* DTAccessibilityViewProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = F37563A56C180CE18EEFADE56FA3C17F /* DTAccessibilityViewProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; EE4F0992A0F597320FF7BDE4691D0FD4 /* NSString+CSS.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D6C48939A8498A09DCFC7F41ECB8A25 /* NSString+CSS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EE5DD52AC6049A014EB83D27D68F8A0E /* NSFileWrapper+DTCopying.m in Sources */ = {isa = PBXBuildFile; fileRef = 1756C6FFCA695290BA62DA4E7B6DD20B /* NSFileWrapper+DTCopying.m */; }; - EECBE7DEC22B34CA111F62AD9A487313 /* RDEPUBPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99158A091EAB840DE3F822364077954D /* RDEPUBPreferences.swift */; }; + EFE9F0265EFD02DF225E1805FA9F4518 /* RDEPUBChapterWindowCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = A764FFA7ED0826D11613C3897E9315F4 /* RDEPUBChapterWindowCoordinator.swift */; }; F006F73F17F2E3CC0E7852E9357BA946 /* DTAnchorHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 424F12BEB0EDAAF1C719B5103D30C653 /* DTAnchorHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F02A297AAA5834EC31C5206E18F15E7A /* RDEPUBReaderChapterListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CA26E2111C84E605445082FAD421636 /* RDEPUBReaderChapterListController.swift */; }; + F05B8B559C6291AC05DE684D1394E22D /* RDEPUBReadingLocationModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1CD5FB30A34088E10667AF4D2A8A6C3 /* RDEPUBReadingLocationModels.swift */; }; + F0F4FE421C107564D3D00625AD023DE9 /* RDEPUBReaderBottomToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BA0E880D18A71B88EB47FFF48F8C4E2 /* RDEPUBReaderBottomToolView.swift */; }; F0F631056BADA32253528247DF493272 /* DTHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = EE9D4A455723797A27F04A15C4E47823 /* DTHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F13680D7C98C3D63DE4E1C48BB0D6629 /* RDEPUBParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CE0D7B6DB4A2FC4CFBD7F402AD7F6FA /* RDEPUBParser.swift */; }; - F14DD745C5ED6624BDAA23CF1C7AA23B /* RDEPUBTextPerformanceSampler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C5336F230E9CBA5516A0C4F48CC80B2 /* RDEPUBTextPerformanceSampler.swift */; }; + F1D766088240F7FC8E8DC238E8282EFD /* RDEPUBTypesettingPipeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0B9221B1E7C6BE99BF31D7EA5C9AA94 /* RDEPUBTypesettingPipeline.swift */; }; + F1D86D8A1A9ED9FF3155690BA100DB14 /* DTBase64Coding.h in Headers */ = {isa = PBXBuildFile; fileRef = B8E40E302B85493BDE0FE91F829EC01E /* DTBase64Coding.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F1E885A6A59A11249968D78B86283C2F /* UIView+DTFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4219E7C32019899890CAB66E5FBDF524 /* UIView+DTFoundation.m */; }; F1E9B6D0728711AE4D7154616DBC17EC /* Pods-ReadViewDemo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AA0811310099A4BCB3D52683B70DB3D1 /* Pods-ReadViewDemo-dummy.m */; }; - F3A9470F157B110967AB1544A7BD0DCB /* RDEPUBWebViewDebug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B4DD7F34461088F19AB93FBE13CC9BD /* RDEPUBWebViewDebug.swift */; }; + F32BE3BE624749333BE0191B9EEE95C8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; }; + F3C4810CDCDD24DEE133CDA58D3E1BA1 /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7176B677A350927FC670368313DC2CA1 /* ConstraintConfig.swift */; }; F4A2E3C4237B8931F61B72FF0BDD6D69 /* DTObjectTextAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = F038FB491B9A4A53447EF0DC333301AE /* DTObjectTextAttachment.m */; }; - F4FB9D77B89F3CE38F95B2B9C8BDC780 /* ZIPFoundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A06A36ADBE678DB44158D32E751FAFF /* ZIPFoundation-dummy.m */; }; - F5763770B3C5C71AECB56DCE794CACF6 /* RDEPUBReaderRuntime.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94798D2C9B825493840EF99A7447AFB7 /* RDEPUBReaderRuntime.swift */; }; F58ABA106C6200175DF574DF05A75BA8 /* DTAccessibilityElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F0486D3B46DC92AB254D6EE9CC233BF /* DTAccessibilityElement.m */; }; F5A424E67F41C4F7B830CE2F7E71570D /* DTCoreText-Resources in Resources */ = {isa = PBXBuildFile; fileRef = F4E2B1AC73977F10254628C0B7EBE38F /* DTCoreText-Resources */; }; F6036BBDFE7484F5A453F6876C97C098 /* NSAttributedString+SmallCaps.m in Sources */ = {isa = PBXBuildFile; fileRef = 76F99C8130EE83A22CD223C7F5E6E66E /* NSAttributedString+SmallCaps.m */; }; F61102C9BF3D6296CB6C6B754ABF98C5 /* DTTextHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CFEE298DD52246B46E6FA62B16B38DF /* DTTextHTMLElement.m */; }; - F68A4B34606ED464F14D79CA47432BDF /* wxread-dark.css in Resources */ = {isa = PBXBuildFile; fileRef = C4C7097CA92DB08445EE4D912804A41B /* wxread-dark.css */; }; - F92EA25D82E65C4BE170A66D429F3B5A /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5B34EE2160C27947D1EEFD42184CF5D /* ConstraintLayoutSupportDSL.swift */; }; - F9C877C6095F38943FBB625B32FB23A5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; }; - F9DBAFE16D14195BDCFBAAC4FDE3CFD4 /* DTExtendedFileAttributes.m in Sources */ = {isa = PBXBuildFile; fileRef = F5389D4E96A4AFE175691B4D3D4524E7 /* DTExtendedFileAttributes.m */; }; - FBE148A72A9BB6C0E85F0AADDF975FB8 /* DTTiledLayerWithoutFade.m in Sources */ = {isa = PBXBuildFile; fileRef = 70F5D03B9B3B7F182C8F5C1F5D4FA7E7 /* DTTiledLayerWithoutFade.m */; }; + F6EF136D0692E6BB2A4DD353BBE087A6 /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9593E7B37569219F8D9A504B47707DC /* ConstraintAttributes.swift */; }; + F77E92486FE3A442BF67DB90B3178BFB /* RDEPUBPaginationCacheCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2883B11ACE6B06556D1B0FC8DC0F7E30 /* RDEPUBPaginationCacheCoordinator.swift */; }; + F8D29CA70DF93B8E78D11570F63C640E /* RDEPUBParser+Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D4CD395C5569628D36C4D838AC6A8B8 /* RDEPUBParser+Package.swift */; }; + F923BE1E0FEEC5B4855659BA723F3A5F /* RDEPUBTextLayoutFrame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CD2D83120D70130690765D762EE062E /* RDEPUBTextLayoutFrame.swift */; }; + F92F65303DB7B1212462B012E3D013D3 /* RDEPUBAssetRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CCFA3D24C3438DC554760F08D6E8281 /* RDEPUBAssetRepository.swift */; }; + F96A515F90572975689E0523047B2982 /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3593ADF561D422F73C8EABAD4A4F440 /* ConstraintRelation.swift */; }; + F97CAE0BADA95FF5879FBC0C69AEFB3C /* RDReaderFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1DF1B2EEF04D6470AB3196636E73075 /* RDReaderFlowLayout.swift */; }; + F9A9F53735B557D43DA34CE2C6633487 /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6578DFAB51436E8DF266FD087700E26B /* ConstraintDescription.swift */; }; + FA4F8D0F44FBE5402A0695B94AA8DF66 /* RDEPUBParser+Archive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1774BB2BD665DE754F86F839A89C4FBB /* RDEPUBParser+Archive.swift */; }; + FAC233F982F8EFB8E3756765130C7E86 /* epub-bridge.js in Resources */ = {isa = PBXBuildFile; fileRef = 834C4DDB8B590618F7AA98A3FD2B9D2E /* epub-bridge.js */; }; FC5F52919451A15639442B46B38E4C67 /* DTCoreTextLayoutFrame+Cursor.m in Sources */ = {isa = PBXBuildFile; fileRef = E62C5E593037EF8A45E7FAA847D0277C /* DTCoreTextLayoutFrame+Cursor.m */; }; + FD2B3FFE0537B404F125D52E427656F7 /* wxread-dark.css in Resources */ = {isa = PBXBuildFile; fileRef = C4C7097CA92DB08445EE4D912804A41B /* wxread-dark.css */; }; FD5D68887297CFA94F543C49DC68A156 /* DTHTMLAttributedStringBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C496AB6A73C2D0BD0FF340A6A2960D5 /* DTHTMLAttributedStringBuilder.m */; }; FEB00C614DCB6A8A7BDF8DEE11260984 /* NSMutableAttributedString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = B0500CA69405E23B09291359EB28331E /* NSMutableAttributedString+HTML.m */; }; - FFBA4341534F87364A2EC11AD286397D /* RDEPUBHTMLNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C337B19D3E4AFBDAEB7B261AA881E5C /* RDEPUBHTMLNormalizer.swift */; }; - FFF409F0205F1745B8B3AC89917F07A3 /* DTBlockFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 375179DD3A4576CEF947E1760BBDC69B /* DTBlockFunctions.m */; }; + FFF2C6C57813A12EDC4CD70BA1851896 /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B10D3EC1701BBA4D69926915F942558 /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 1C5F512837ED73C03A0016C6C71019B6 /* PBXContainerItemProxy */ = { + 13D9E9A94FD1325CAC1CFD60805D64B7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 8F6E5A5BF72D62CDFD25F91A7CFA3309; remoteInfo = DTFoundation; }; - 2074E58B021F8317A9C99BF7BA77373D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4; - remoteInfo = SnapKit; - }; - 29937A7B398A9C3E1C58905655B3DB1E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0C24CB0E87A728A11AA1124CB360D6A1; - remoteInfo = "DTCoreText-Resources"; - }; - 2CDE2C5C25B94E29D0E991B83FCC525D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8619D5ADECF2B26CFD9A9826D61D289A; - remoteInfo = SSAlertSwift; - }; - 5DE91FF74FCD48024A2680A11AA59C68 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = AA15C8469D67684160CC2A7098EB841C; - remoteInfo = ZIPFoundation; - }; - A3F5D978334155622A97BB4625069CA1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8619D5ADECF2B26CFD9A9826D61D289A; - remoteInfo = SSAlertSwift; - }; - A51E17C7DB24793DA4AD107C12EC554D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = AA15C8469D67684160CC2A7098EB841C; - remoteInfo = ZIPFoundation; - }; - A9CA67AE9091496AECCD25CE058E0EB4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = B88F4EA0695B6B3165C64594850D72C7; - remoteInfo = DTCoreText; - }; - AAA9B1811E0CF13CD7ED2D08F75A4F29 /* PBXContainerItemProxy */ = { + 2F537898891B57E986DFA5534AF5D8CD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 8A8DB685241263AFDF5E6B20FE67B93A; remoteInfo = "SnapKit-SnapKit_Privacy"; }; - AB7EFADB0158CA56FA326C1085D102D9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4; - remoteInfo = SnapKit; - }; - D2195D28B2165E92956DD46A264456AF /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = AA2E57587AA8EECA63C4BE08EA3CB6D2; - remoteInfo = RDReaderView; - }; - DD757D1119D7FD9CFB9803BB8F180DF0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = AE7F393FB7805DE2664AB4111873F907; - remoteInfo = "RDReaderView-RDReaderViewAssets"; - }; - DE06E9EC48201B0A1486D4E40137598D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = C7A8D82E407CD3FDC3BA55CEE519B252; - remoteInfo = "ZIPFoundation-ZIPFoundation_Privacy"; - }; - E21CAAA5EA7C676E5E305C3B1B88D982 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8F6E5A5BF72D62CDFD25F91A7CFA3309; - remoteInfo = DTFoundation; - }; - F0FA44D7E63FF42A6C497438761F3B77 /* PBXContainerItemProxy */ = { + 576720A52A82D4860272A84EEB91FF49 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = B88F4EA0695B6B3165C64594850D72C7; remoteInfo = DTCoreText; }; + 5E7A96C6641E9DAA16C1DDBD1C163CF1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4; + remoteInfo = SnapKit; + }; + 6C7094030E1F1AC1D97DC4CE9C771A49 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 0C24CB0E87A728A11AA1124CB360D6A1; + remoteInfo = "DTCoreText-Resources"; + }; + 778858D9DA88CCA53B08AEFAB08BB7AF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4; + remoteInfo = SnapKit; + }; + 7C5541F329575EAB4B95511F6C47E1C1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = C7A8D82E407CD3FDC3BA55CEE519B252; + remoteInfo = "ZIPFoundation-ZIPFoundation_Privacy"; + }; + 84D9B791E38F2BE90DAFF7ACED264FDB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8619D5ADECF2B26CFD9A9826D61D289A; + remoteInfo = SSAlertSwift; + }; + AC900AD8475F59F683242BEA4FF1E4A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = AE7F393FB7805DE2664AB4111873F907; + remoteInfo = "RDReaderView-RDReaderViewAssets"; + }; + D1BC8B325004AFC12170055839DE78D0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = AA15C8469D67684160CC2A7098EB841C; + remoteInfo = ZIPFoundation; + }; + D5253D97C9ABA80BBCEC278A3939E1E3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B88F4EA0695B6B3165C64594850D72C7; + remoteInfo = DTCoreText; + }; + DA677D79826B314708419F096BF3BD2E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = AA15C8469D67684160CC2A7098EB841C; + remoteInfo = ZIPFoundation; + }; + F0C593685E4EFE69A46840FB4B7FE0FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8F6E5A5BF72D62CDFD25F91A7CFA3309; + remoteInfo = DTFoundation; + }; + FB3963EBF3B42B665C3E8C800F3EC3BC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8619D5ADECF2B26CFD9A9826D61D289A; + remoteInfo = SSAlertSwift; + }; + FFC668469606BEE5A237A9A6D0DEE949 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = AA2E57587AA8EECA63C4BE08EA3CB6D2; + remoteInfo = RDReaderView; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 012E2E783F3E83E70D3A5CE2DD8DE007 /* RDEPUBPageInteractionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPageInteractionController.swift; sourceTree = ""; }; + 0117FDA7B29F080E05810DE919E51224 /* RDEPUBPageLayoutSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPageLayoutSnapshot.swift; sourceTree = ""; }; 015F3EE69253C66E11B931E3360BA5FE /* DTCoreText-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DTCoreText-dummy.m"; sourceTree = ""; }; 017344CEAEFEB304A8BBF76EDF12D835 /* WeReadApi.js */ = {isa = PBXFileReference; includeInIndex = 1; name = WeReadApi.js; path = Sources/RDReaderView/EPUBCore/Resources/WeReadApi.js; sourceTree = ""; }; 029130886CE8E422D16ADF97468CB1B0 /* DTCoreTextLayoutFrame.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCoreTextLayoutFrame.m; path = Core/Source/DTCoreTextLayoutFrame.m; sourceTree = ""; }; @@ -572,7 +576,6 @@ 0619F98DA80922E78A07321D0DC54F62 /* Archive+Reading.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Archive+Reading.swift"; path = "Sources/ZIPFoundation/Archive+Reading.swift"; sourceTree = ""; }; 061BD3911E4E530C792E65CED7868C33 /* DTBase64Coding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTBase64Coding.m; path = Core/Source/DTBase64Coding.m; sourceTree = ""; }; 073A7F9DF1A554BD1B324EA9E0090E91 /* DTObjectTextAttachment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTObjectTextAttachment.h; path = Core/Source/DTObjectTextAttachment.h; sourceTree = ""; }; - 0813D235A2C7FFD9AC3F254EFC9F5FFC /* RDEPUBReaderController+RuntimeBridge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+RuntimeBridge.swift"; sourceTree = ""; }; 0834E84632886CDD9911CAB76183F1CE /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; 08E72A1A5E0D8524A2374DA24CDD8494 /* RDEPUBWebView+JavaScriptBridge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBWebView+JavaScriptBridge.swift"; sourceTree = ""; }; 091717314CB1F573F5EE5EEC4DF86BA9 /* RDEPUBAttachmentNormalizer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBAttachmentNormalizer.swift; sourceTree = ""; }; @@ -582,7 +585,6 @@ 0A5E0CB7F87D274C44FEEA77C659EDCC /* ResourceBundle-RDReaderViewAssets-RDReaderView-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-RDReaderViewAssets-RDReaderView-Info.plist"; sourceTree = ""; }; 0AB1D59EE26106C87AE53E9F9ECC96BB /* RDEPUBChapterPageCounter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterPageCounter.swift; sourceTree = ""; }; 0B10D3EC1701BBA4D69926915F942558 /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = ""; }; - 0B2963687ADF8375028F8C6F50B1F40B /* RDEPUBPageCountCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPageCountCache.swift; sourceTree = ""; }; 0B6B10413287246F7D530687A388D83A /* RDEPUBPaginationModels.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPaginationModels.swift; sourceTree = ""; }; 0B7771FDE9AB1688166584C0AA03F12A /* DTCoreTextFontCollection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCoreTextFontCollection.h; path = Core/Source/DTCoreTextFontCollection.h; sourceTree = ""; }; 0B80E892056051C2B587A8ACD383A59A /* RDEPUBTextBookModels.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextBookModels.swift; sourceTree = ""; }; @@ -591,18 +593,20 @@ 0D7B78125ED71DFD5D7AB87570EE951A /* RDEPUBBuildDiagnosticsReporter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBBuildDiagnosticsReporter.swift; sourceTree = ""; }; 0E138EC76D0DF24544D29D1A4D7429E3 /* ConstraintMakerPrioritizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPrioritizable.swift; path = Sources/ConstraintMakerPrioritizable.swift; sourceTree = ""; }; 0E8C0D83EB6EDE71B264B6B0DD4644F5 /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Sources/LayoutConstraintItem.swift; sourceTree = ""; }; + 0EDC7A778BBE907A63CF0E44193022F1 /* RDEPUBReaderAnnotationCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderAnnotationCoordinator.swift; sourceTree = ""; }; 0F5D34047BAA894BEF1DFA23E6A9DAB1 /* DTCoreTextMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCoreTextMacros.h; path = Core/Source/DTCoreTextMacros.h; sourceTree = ""; }; 0FC368BD2A8D266EB771E5FB9A5A5B3C /* NSDictionary+DTError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+DTError.h"; path = "Core/Source/NSDictionary+DTError.h"; sourceTree = ""; }; 10B86E35282C70276F9B3304A6C550F3 /* RDEPUBTextPositionConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextPositionConverter.swift; sourceTree = ""; }; 11B3FF18F25CAE9935ED05E0856F20C3 /* RDEPUBTextBookCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextBookCache.swift; sourceTree = ""; }; 11B604FC3B0D5C91FEA763DCC0BE4DC5 /* DTHTMLParserNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTHTMLParserNode.m; path = Core/Source/DTHTMLParserNode.m; sourceTree = ""; }; - 12109749AFDE57CACC5E56AB63AD3EB2 /* RDEPUBReaderContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderContext.swift; sourceTree = ""; }; 12A5EA26EE7539EDDA90649D22FB675D /* DTImage+HTML.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "DTImage+HTML.m"; path = "Core/Source/DTImage+HTML.m"; sourceTree = ""; }; 13AB6A32A293E3DC21A7047C6DB958CA /* DTHTMLParserTextNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTHTMLParserTextNode.m; path = Core/Source/DTHTMLParserTextNode.m; sourceTree = ""; }; 13E1548FC42118F1A4164739DE6BE4E9 /* UIFont+DTCoreText.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIFont+DTCoreText.m"; path = "Core/Source/UIFont+DTCoreText.m"; sourceTree = ""; }; 14423BDEA85698D4A942B9C5F4BA2E17 /* rangy-serializer.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "rangy-serializer.js"; path = "Sources/RDReaderView/EPUBCore/Resources/rangy-serializer.js"; sourceTree = ""; }; + 14FAC0385BE2989FAA78962312B1C2E5 /* RDEPUBChapterSummaryDiskCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterSummaryDiskCache.swift; sourceTree = ""; }; + 15323E39EAC18AA202D1039BC2DDEAA7 /* RDEPUBReaderLoadCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderLoadCoordinator.swift; sourceTree = ""; }; + 155BD7E355B0C314210F72E1FE60BA2D /* RDEPUBReaderSearchBarView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderSearchBarView.swift; sourceTree = ""; }; 15941683D394FB8D7EAE91CD2CF03FF1 /* UIImage+DTFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+DTFoundation.h"; path = "Core/Source/iOS/UIImage+DTFoundation.h"; sourceTree = ""; }; - 16A1F97BF3EA1335405B877D02898D34 /* RDEPUBReaderToolView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderToolView.swift; sourceTree = ""; }; 174FC0CA05D20BB995E211DE5A0857DB /* Archive+MemoryFile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Archive+MemoryFile.swift"; path = "Sources/ZIPFoundation/Archive+MemoryFile.swift"; sourceTree = ""; }; 1756C6FFCA695290BA62DA4E7B6DD20B /* NSFileWrapper+DTCopying.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSFileWrapper+DTCopying.m"; path = "Core/Source/NSFileWrapper+DTCopying.m"; sourceTree = ""; }; 1774BB2BD665DE754F86F839A89C4FBB /* RDEPUBParser+Archive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBParser+Archive.swift"; sourceTree = ""; }; @@ -617,32 +621,34 @@ 1D4C9B7ED5E04C216AB28E3A4065C1C5 /* DTHTMLElement.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTHTMLElement.m; path = Core/Source/DTHTMLElement.m; sourceTree = ""; }; 1D5362F7EC0A627ACAB9AF4CC7F51099 /* RDReaderPagingController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderPagingController.swift; sourceTree = ""; }; 1D6DA580F40DF113709E15CF6542A35C /* DTCoreTextLayouter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCoreTextLayouter.m; path = Core/Source/DTCoreTextLayouter.m; sourceTree = ""; }; - 1DF05A515E551E5511DBE86C4A494EF1 /* UIColor+RDEPUBHex.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIColor+RDEPUBHex.swift"; sourceTree = ""; }; - 1E7CF983E6CF4797FA35E3B583ECA941 /* RDEPUBReaderConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderConfiguration.swift; sourceTree = ""; }; 1E89FE5F2996336E862E82C1E14E0EE7 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = Sources/ZIPFoundation/Resources/PrivacyInfo.xcprivacy; sourceTree = ""; }; 1F090A0289338B14050FAF16C22605B0 /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Sources/ConstraintConstantTarget.swift; sourceTree = ""; }; + 1FF0C9CB287BD9AFAF3FD63F44837DA3 /* RDEPUBTextAnnotationOverlay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextAnnotationOverlay.swift; sourceTree = ""; }; 2047430DF5C84E0A8FC8874A2B915FC3 /* Pods-ReadViewDemo-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ReadViewDemo-acknowledgements.markdown"; sourceTree = ""; }; - 20E5F9A5250EB5724D516BF67152CBB8 /* RDEPUBReaderController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderController.swift; sourceTree = ""; }; 2101691D5743105B2E3E40376584B91C /* DTFolderMonitor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTFolderMonitor.h; path = Core/Source/DTFolderMonitor.h; sourceTree = ""; }; + 2137D60DD640B7AA699ABA24388477B2 /* String+SHA256.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "String+SHA256.swift"; sourceTree = ""; }; 21BAA93E67D8CBC5297302D798FB4F7A /* DTAttributedLabel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTAttributedLabel.m; path = Core/Source/DTAttributedLabel.m; sourceTree = ""; }; 2280F2302F54E90122747821FE681543 /* SSAlertViewExtention.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSAlertViewExtention.swift; path = Sources/SSAlertSwift/SSAlertViewExtention.swift; sourceTree = ""; }; + 229EC6EB4ED751A85D262256AF4B7435 /* RDEPUBPageMapReconciliationCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPageMapReconciliationCoordinator.swift; sourceTree = ""; }; 22BDEB6AC81168F4F3FE78ACCEC2A32D /* RDEPUBWebView+FixedLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBWebView+FixedLayout.swift"; sourceTree = ""; }; 2353E8412F8D0EF503DEA9A6178F5948 /* RDEPUBParser+TOC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBParser+TOC.swift"; sourceTree = ""; }; 238893C9CBD95CB9BDF069EB5A303E17 /* RDReaderView */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = RDReaderView; path = RDReaderView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2451995F95C8B333F972A39BDFC7EBCE /* RDEPUBReaderSearchCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderSearchCoordinator.swift; sourceTree = ""; }; 249747495DE8349E480E4789B12D366D /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapKit.modulemap; sourceTree = ""; }; + 25DF62B8E685CF66C8511EC11FE33F7D /* RDEPUBReaderViewportMonitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderViewportMonitor.swift; sourceTree = ""; }; 25F52D9C765ED2FA87834D4310203E0B /* DTFoundation-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DTFoundation-prefix.pch"; sourceTree = ""; }; 26A9B74B4E5F952B9DC79C10B5D8E7F0 /* RDEPUBReadingSession.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReadingSession.swift; sourceTree = ""; }; - 26C542F1825BDD5743D52350B8F4788D /* RDEPUBReaderController+PublicAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+PublicAPI.swift"; sourceTree = ""; }; 2702E05AA7A266B7D8D0F881FD4E09DA /* DTCompatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCompatibility.h; path = Core/Source/DTCompatibility.h; sourceTree = ""; }; 27205D159B39090908CA0E9C3997B784 /* NSDictionary+DTCoreText.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+DTCoreText.h"; path = "Core/Source/NSDictionary+DTCoreText.h"; sourceTree = ""; }; 27B7D3C6F0C845E3D42BBA613FFB0465 /* FileManager+ZIP.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FileManager+ZIP.swift"; path = "Sources/ZIPFoundation/FileManager+ZIP.swift"; sourceTree = ""; }; 28043173CA3B3787DC401ACEB5398108 /* DTCoreTextLayoutFrame+Cursor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DTCoreTextLayoutFrame+Cursor.h"; path = "Core/Source/DTCoreTextLayoutFrame+Cursor.h"; sourceTree = ""; }; 2883B11ACE6B06556D1B0FC8DC0F7E30 /* RDEPUBPaginationCacheCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPaginationCacheCoordinator.swift; sourceTree = ""; }; 28D62D3200AC3D4E42C81CDFF7E884E8 /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Sources/ConstraintItem.swift; sourceTree = ""; }; - 2909100BDF5A0331D6BE22AF122BB95F /* RDEPUBTextSelectionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextSelectionController.swift; sourceTree = ""; }; 2940F45AAC94F45A257576176011B6A4 /* RDReaderView.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RDReaderView.release.xcconfig; sourceTree = ""; }; + 2967F560075AF56B46E86E6D6F4CD48D /* RDEPUBReaderHighlightsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderHighlightsViewController.swift; sourceTree = ""; }; 2AB3159B171D3889AC3B55CCDE7A58F3 /* RDEPUBFontNormalizer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBFontNormalizer.swift; sourceTree = ""; }; + 2AD1A106B152B70FC2A33A7D6B55ADB5 /* RDEPUBReaderUIState.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderUIState.swift; sourceTree = ""; }; + 2B019D0BBF05A2E93CD669A6534FA05D /* RDEPUBReaderPersistence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderPersistence.swift; sourceTree = ""; }; + 2B2BCC65AD49EF363FA8CBCDC1B47F8F /* RDEPUBReaderAssemblyCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderAssemblyCoordinator.swift; sourceTree = ""; }; 2B791CDD0D79122F60EC136C025BC751 /* RDEPUBTextPaginationInterfaces.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextPaginationInterfaces.swift; sourceTree = ""; }; 2BA19BD582C1BD54AF673014C04848B6 /* DTFoundation-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "DTFoundation-Info.plist"; sourceTree = ""; }; 2C50CAB4241C141EF6EC9ED22AB3A7E8 /* NSDictionary+DTCoreText.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+DTCoreText.m"; path = "Core/Source/NSDictionary+DTCoreText.m"; sourceTree = ""; }; @@ -650,22 +656,21 @@ 2D36F7CDCD7D5788CDCB3A1421DB242B /* NSURL+DTAppLinks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURL+DTAppLinks.m"; path = "Core/Source/iOS/NSURL+DTAppLinks.m"; sourceTree = ""; }; 2D3D7C8444F58D9B3FCB4F3006D2CFBA /* NSAttributedString+HTML.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSAttributedString+HTML.h"; path = "Core/Source/NSAttributedString+HTML.h"; sourceTree = ""; }; 2DE4FA5133891593CB45AF36B8EBF60C /* SSAlertSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SSAlertSwift-dummy.m"; sourceTree = ""; }; + 2E123F5D57877330E13C6CD8B6E8C880 /* RDEPUBChapterOffsetMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterOffsetMap.swift; sourceTree = ""; }; + 2F683478E73F71ED49605723CBBCF22A /* RDEPUBTextPageDecorationView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextPageDecorationView.swift; sourceTree = ""; }; 306477706BBB1E784F55BCF8EB1AD737 /* Pods-ReadViewDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ReadViewDemo.debug.xcconfig"; sourceTree = ""; }; - 3068218D3A08F227DDA6216F94FB69F4 /* RDEPUBChapterDataCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterDataCache.swift; sourceTree = ""; }; 31318B9A80CC694F9EFE2A72D4826B64 /* RDEPUBTextBuildPipelineInterfaces.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextBuildPipelineInterfaces.swift; sourceTree = ""; }; 314D77A91FF74A0ACD762C92A6C1AF19 /* wxread-replace-latin.css */ = {isa = PBXFileReference; includeInIndex = 1; name = "wxread-replace-latin.css"; path = "Sources/RDReaderView/EPUBCore/Resources/wxread-replace-latin.css"; sourceTree = ""; }; 31BD7533867336DEA9B835F471767178 /* NSString+DTURLEncoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+DTURLEncoding.h"; path = "Core/Source/NSString+DTURLEncoding.h"; sourceTree = ""; }; 31F3F91D5624C451E5D44D85B1DDE7C5 /* NSMutableString+HTML.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableString+HTML.m"; path = "Core/Source/NSMutableString+HTML.m"; sourceTree = ""; }; 32A5ABB8F3656A110B955B0306E9A8C3 /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Sources/ConstraintInsetTarget.swift; sourceTree = ""; }; 32A8BED62113FF47E3925378065FA3BE /* SSAlertSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SSAlertSwift-prefix.pch"; sourceTree = ""; }; - 32E5D40E2A0541080719F92638244887 /* RDEPUBWebContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBWebContentView.swift; sourceTree = ""; }; 32FB2B1B0498DCBE7B79BDF49E963E3D /* DTHTMLParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTHTMLParser.m; path = Core/Source/DTHTMLParser/DTHTMLParser.m; sourceTree = ""; }; 33DB57DF8C5AE334B1BBE9F989352F1D /* DTCustomColoredAccessory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCustomColoredAccessory.h; path = Core/Source/iOS/DTCustomColoredAccessory.h; sourceTree = ""; }; 354C5DD0ACC742762200A640ADA859C6 /* NSCoder+DTCompatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSCoder+DTCompatibility.h"; path = "Core/Source/NSCoder+DTCompatibility.h"; sourceTree = ""; }; - 3562A5E853CB707C1AC4E74C3A8E3924 /* RDEPUBReaderController+ContentDelegates.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+ContentDelegates.swift"; sourceTree = ""; }; - 357CF3DD6846FD95FE05679E6ED3866F /* RDEPUBPageLayoutSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPageLayoutSnapshot.swift; sourceTree = ""; }; 3653FA7AD3EF76156E4FB425AC90E5F4 /* RDReaderViewProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderViewProtocols.swift; sourceTree = ""; }; 365FB4C3E0FF364C076EE4E9E47C32EA /* DTCoreText.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DTCoreText.modulemap; sourceTree = ""; }; + 36882DD8E345760F64DCED188CC5BF98 /* RDEPUBReaderController+PublicAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+PublicAPI.swift"; sourceTree = ""; }; 36FCB869246FE45FD1C9609A34EB4E74 /* DTCoreTextGlyphRun.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCoreTextGlyphRun.m; path = Core/Source/DTCoreTextGlyphRun.m; sourceTree = ""; }; 375179DD3A4576CEF947E1760BBDC69B /* DTBlockFunctions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTBlockFunctions.m; path = Core/Source/DTBlockFunctions.m; sourceTree = ""; }; 37EFAAE86BA4FF308A74FA1CEAD40CB4 /* RDEPUBPageBreakPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPageBreakPolicy.swift; sourceTree = ""; }; @@ -673,24 +678,26 @@ 392A75EAF280876545D14AA00517BA4C /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Sources/ConstraintMakerEditable.swift; sourceTree = ""; }; 39816EFB8DFB4FA6B91D9C8AB03A1C6A /* RDEPUBAnnotationModels.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBAnnotationModels.swift; sourceTree = ""; }; 3B610E558C4917C4257DC198EAFEE2F6 /* DTCSSStylesheet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCSSStylesheet.h; path = Core/Source/DTCSSStylesheet.h; sourceTree = ""; }; + 3B7F252E5A413A25F1C1EE40E84EEDCD /* RDEPUBReaderTableOfContentsItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderTableOfContentsItem.swift; sourceTree = ""; }; 3B931AB189BDDE2CCE8578B50BD60AF0 /* DTIframeTextAttachment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTIframeTextAttachment.h; path = Core/Source/DTIframeTextAttachment.h; sourceTree = ""; }; - 3C56140C935C7B3F792647614D702DAB /* RDEPUBChapterWindowSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterWindowSnapshot.swift; sourceTree = ""; }; 3CCFA3D24C3438DC554760F08D6E8281 /* RDEPUBAssetRepository.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBAssetRepository.swift; sourceTree = ""; }; 3D4CD395C5569628D36C4D838AC6A8B8 /* RDEPUBParser+Package.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBParser+Package.swift"; sourceTree = ""; }; 3DB57CE3D5558A2995D7CEF1CAD00079 /* RDPlainTextBookBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDPlainTextBookBuilder.swift; sourceTree = ""; }; 3DC78D0B0F37BF9AD1058CACA9AAF9BE /* Data+Serialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Serialization.swift"; path = "Sources/ZIPFoundation/Data+Serialization.swift"; sourceTree = ""; }; - 3F2782574376AE28B6377B05472691E6 /* RDEPUBTextPageRenderView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextPageRenderView.swift; sourceTree = ""; }; + 3DF24D221E16134F5457D6E573CAB669 /* RDEPUBChapterDataCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterDataCache.swift; sourceTree = ""; }; 407122F95D1113F8C0E241B944F75AFE /* RDEPUBModels.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBModels.swift; sourceTree = ""; }; + 41EEC3ACC28D8D814C6C3E6019498CB3 /* RDEPUBReaderSettings.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderSettings.swift; sourceTree = ""; }; 4219E7C32019899890CAB66E5FBDF524 /* UIView+DTFoundation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+DTFoundation.m"; path = "Core/Source/iOS/UIView+DTFoundation.m"; sourceTree = ""; }; 424F12BEB0EDAAF1C719B5103D30C653 /* DTAnchorHTMLElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTAnchorHTMLElement.h; path = Core/Source/DTAnchorHTMLElement.h; sourceTree = ""; }; 426D442C01742E4361F5BC34D43152A6 /* DTImageTextAttachment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTImageTextAttachment.h; path = Core/Source/DTImageTextAttachment.h; sourceTree = ""; }; - 43C106392FA85206E0EE3E17BDDEFF91 /* RDEPUBReaderUIState.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderUIState.swift; sourceTree = ""; }; 43CFADE0F46014990052AD67F17C86FF /* DTAccessibilityViewProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTAccessibilityViewProxy.m; path = Core/Source/DTAccessibilityViewProxy.m; sourceTree = ""; }; 4428633C8EC3F6289CCF376F588CE0C4 /* NSString+HTML.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+HTML.m"; path = "Core/Source/NSString+HTML.m"; sourceTree = ""; }; 4472755F83C121DE5E1E505D145F6DBE /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/CoreText.framework; sourceTree = DEVELOPER_DIR; }; 44F8832CEF100545E84932BE0B82CA7B /* RDEPUBRenderRequest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBRenderRequest.swift; sourceTree = ""; }; + 45078E1A399DA8AD0C6A476457158555 /* RDEPUBReaderDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderDelegate.swift; sourceTree = ""; }; 45C7129757B54DFD9E445D0A17D73A83 /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Sources/ConstraintPriority.swift; sourceTree = ""; }; 4600E9C0EF3B23864C9D7E5E90155F9D /* SSAlertSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SSAlertSwift.modulemap; sourceTree = ""; }; + 463871F68C062B291F9FF734F1A94B5F /* RDEPUBReaderSettingsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderSettingsViewController.swift; sourceTree = ""; }; 4684B406B325B35F39322D75B59B6479 /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Sources/ConstraintLayoutGuideDSL.swift; sourceTree = ""; }; 4740BDFF4EED78481148A3109207228A /* RDEPUBPaginator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPaginator.swift; sourceTree = ""; }; 477A0FC2A1F0B7F7CCF72D201ECEBAB0 /* DTDictationPlaceholderTextAttachment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTDictationPlaceholderTextAttachment.m; path = Core/Source/DTDictationPlaceholderTextAttachment.m; sourceTree = ""; }; @@ -700,18 +707,19 @@ 4A2659DB0685E16ABAE0382F726DA8C8 /* Archive+Helpers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Archive+Helpers.swift"; path = "Sources/ZIPFoundation/Archive+Helpers.swift"; sourceTree = ""; }; 4ADC9061B1BCC6E2FF6FADF845992FA6 /* RDReaderContentCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderContentCell.swift; sourceTree = ""; }; 4AF6156128A1A0CA24D9D06E346B9445 /* DTVersion.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTVersion.m; path = Core/Source/DTVersion.m; sourceTree = ""; }; + 4BA0E880D18A71B88EB47FFF48F8C4E2 /* RDEPUBReaderBottomToolView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderBottomToolView.swift; sourceTree = ""; }; 4BEC60CB3EDA1C189D3B062E29217440 /* ZIPFoundation.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ZIPFoundation.debug.xcconfig; sourceTree = ""; }; 4C2B218B5EAA5831A036BBF7E1EFC1B9 /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/MediaPlayer.framework; sourceTree = DEVELOPER_DIR; }; 4C5336F230E9CBA5516A0C4F48CC80B2 /* RDEPUBTextPerformanceSampler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextPerformanceSampler.swift; sourceTree = ""; }; 4C61D04931F7736E429371D872F7E736 /* wxread-replace.css */ = {isa = PBXFileReference; includeInIndex = 1; name = "wxread-replace.css"; path = "Sources/RDReaderView/EPUBCore/Resources/wxread-replace.css"; sourceTree = ""; }; - 4D02D5C9FBB27E031A6D934A07FB001F /* RDEPUBReaderLocationCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderLocationCoordinator.swift; sourceTree = ""; }; + 4CDFD1C7F47B604DC70E8919ADB41C90 /* RDEPUBReaderContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderContext.swift; sourceTree = ""; }; 4D641809A99849F80FDCB02F8CE8D6A0 /* Data+CompressionDeprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+CompressionDeprecated.swift"; path = "Sources/ZIPFoundation/Data+CompressionDeprecated.swift"; sourceTree = ""; }; 4EEFAE80193E1F0DA53400C9AD641410 /* DTActivityTitleView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTActivityTitleView.m; path = Core/Source/iOS/DTActivityTitleView.m; sourceTree = ""; }; 4F0486D3B46DC92AB254D6EE9CC233BF /* DTAccessibilityElement.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTAccessibilityElement.m; path = Core/Source/DTAccessibilityElement.m; sourceTree = ""; }; 50297AAB8278F2BB6FCFE82B20C7A049 /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Sources/ConstraintLayoutSupport.swift; sourceTree = ""; }; 5155CCDD61E030184249A020FE5D74B0 /* DTWeakSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTWeakSupport.h; path = Core/Source/DTWeakSupport.h; sourceTree = ""; }; - 51A0D2BE0587C3DDC57DDBDCD73F81BD /* RDEPUBSelectionOverlayView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBSelectionOverlayView.swift; sourceTree = ""; }; 5245010774F8F1C4857763CC7B96E7B4 /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Sources/ConstraintMakerExtendable.swift; sourceTree = ""; }; + 52841033367AF42F8BDD507D2EDD3814 /* UIColor+RDEPUBHex.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIColor+RDEPUBHex.swift"; sourceTree = ""; }; 52B36F32273C511FB9B6C51CE36A6DD9 /* RDEPUBNavigatorLayoutContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBNavigatorLayoutContext.swift; sourceTree = ""; }; 533CFFF04BE7BC4BDEAE11DF675A84CA /* DTBreakHTMLElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTBreakHTMLElement.h; path = Core/Source/DTBreakHTMLElement.h; sourceTree = ""; }; 53499F40E1790A6CBE8AFEB3AC5BEFC8 /* NSMutableArray+DTMoving.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableArray+DTMoving.m"; path = "Core/Source/NSMutableArray+DTMoving.m"; sourceTree = ""; }; @@ -722,20 +730,21 @@ 53F98F0F060B066CAFBCD3C85C26B2B4 /* DTCoreText.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCoreText.h; path = Core/Source/DTCoreText.h; sourceTree = ""; }; 552D02CBD7720F274142F052959EB983 /* RDReaderTapRegionHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderTapRegionHandler.swift; sourceTree = ""; }; 557DA029E15EC99631B647AE8922007F /* NSURL+DTAppLinks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURL+DTAppLinks.h"; path = "Core/Source/iOS/NSURL+DTAppLinks.h"; sourceTree = ""; }; + 5607D4C848F6E8DFE5B25EFFB6436BFD /* RDEPUBReaderSearchCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderSearchCoordinator.swift; sourceTree = ""; }; 56489D9BA834497E48438A4B4E1CCCFF /* DTCoreTextFontDescriptor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCoreTextFontDescriptor.h; path = Core/Source/DTCoreTextFontDescriptor.h; sourceTree = ""; }; 5679D281C282896E6FC352C48E0AF439 /* DTAttributedLabel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTAttributedLabel.h; path = Core/Source/DTAttributedLabel.h; sourceTree = ""; }; + 56DF8BACA5CE1847514D5355CB303E67 /* RDEPUBWebContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBWebContentView.swift; sourceTree = ""; }; 579711B0A35AF68319DBD269278F32FC /* RDReaderView+CollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDReaderView+CollectionView.swift"; sourceTree = ""; }; 57E4EDBF01B37189D38063CF62178D33 /* RDEPUBResourceResolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBResourceResolver.swift; sourceTree = ""; }; + 58346A8E42DB4D0928603E6260F1BDBE /* RDEPUBReaderTopToolView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderTopToolView.swift; sourceTree = ""; }; 587454250340EBB39CD77123D727F116 /* RDReaderView+PageCurl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDReaderView+PageCurl.swift"; sourceTree = ""; }; 5964AF1336E2F0DA0E2C32991E76C78C /* Data+Compression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Compression.swift"; path = "Sources/ZIPFoundation/Data+Compression.swift"; sourceTree = ""; }; 5977986EDFE76D5EF96A6D95483B12F7 /* Pods-ReadViewDemo-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ReadViewDemo-frameworks.sh"; sourceTree = ""; }; 59AB14F9464EEFD112E2C56DF09B002D /* RDEPUBTextRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextRenderer.swift; sourceTree = ""; }; + 5A6E0FD58AA68B39320BF5C2264FC28F /* RDEPUBReaderController+TableOfContents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+TableOfContents.swift"; sourceTree = ""; }; 5A9A82CB094636AFB53D6D130D6219BA /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Sources/ConstraintLayoutGuide+Extensions.swift"; sourceTree = ""; }; 5B007AEEACE9EA271DD73AFD80A74D83 /* DTLog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTLog.m; path = Core/Source/DTLog.m; sourceTree = ""; }; - 5B03892CC4EE09B2E429D0F06E2296BD /* String+SHA256.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "String+SHA256.swift"; sourceTree = ""; }; - 5B6A71ED4237A07E81D0597E56658C5A /* RDEPUBBackgroundTrace.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBBackgroundTrace.swift; sourceTree = ""; }; 5BA251BAC8B430B3A4D4C4321046B990 /* Archive+Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Archive+Deprecated.swift"; path = "Sources/ZIPFoundation/Archive+Deprecated.swift"; sourceTree = ""; }; - 5CA26E2111C84E605445082FAD421636 /* RDEPUBReaderChapterListController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderChapterListController.swift; sourceTree = ""; }; 5D62C5531667F364F14DB67D33FFA554 /* DTCoreTextParagraphStyle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCoreTextParagraphStyle.h; path = Core/Source/DTCoreTextParagraphStyle.h; sourceTree = ""; }; 5DA1E8494B86FFD79C639DCB8C21E1BB /* DTPieProgressIndicator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTPieProgressIndicator.m; path = Core/Source/iOS/DTPieProgressIndicator.m; sourceTree = ""; }; 5E791886E59DC0FAB02C6BBAB5BE5B6B /* DTCoreTextFontCollection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCoreTextFontCollection.m; path = Core/Source/DTCoreTextFontCollection.m; sourceTree = ""; }; @@ -745,29 +754,31 @@ 5FAB3C7F19A511C2B1B7DFBA3CA308C4 /* DTFoundation-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DTFoundation-umbrella.h"; sourceTree = ""; }; 5FD2E18DC68BCC843FF378E84642CE78 /* RDEPUBFixedLayoutTemplate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBFixedLayoutTemplate.swift; sourceTree = ""; }; 5FE003BF0CD443CC90388E203EEF3FC8 /* RDEPUBParser+ReadingProfile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBParser+ReadingProfile.swift"; sourceTree = ""; }; - 600151C0D6D719C385CC4D3FCA6E0B27 /* RDEPUBTextPageDecorationView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextPageDecorationView.swift; sourceTree = ""; }; 6014DA7213E4687224F2BF921E30002C /* DTFoundation.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DTFoundation.debug.xcconfig; sourceTree = ""; }; 60657D08CCDB38BFED30BD40F4720CE4 /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Sources/ConstraintMaker.swift; sourceTree = ""; }; - 60F861867F08812A37E8DDCBB02DC583 /* RDEPUBReaderPersistence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderPersistence.swift; sourceTree = ""; }; - 61CAA3B6C9BC1F1E4C35A108D76B1E79 /* RDEPUBReaderBottomToolView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderBottomToolView.swift; sourceTree = ""; }; + 612A3E2FFAC1C49D7F4B8DF773A3C40D /* RDURLReaderController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDURLReaderController.swift; sourceTree = ""; }; 61E36C4FE448DDDA03450847FCB785B6 /* Archive+BackingConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Archive+BackingConfiguration.swift"; path = "Sources/ZIPFoundation/Archive+BackingConfiguration.swift"; sourceTree = ""; }; 63A6EDF10DA5A051C6CDCBE5D97AF11E /* DTVideoTextAttachment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTVideoTextAttachment.m; path = Core/Source/DTVideoTextAttachment.m; sourceTree = ""; }; 647FB0C5AAF84C71A7784DD277E48910 /* UIFont+DTCoreText.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIFont+DTCoreText.h"; path = "Core/Source/UIFont+DTCoreText.h"; sourceTree = ""; }; 64868ADD0419A5D112863F638932DA34 /* ZIPFoundation-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ZIPFoundation-Info.plist"; sourceTree = ""; }; 64AB89EAB10148C39B726B26BE04F4F8 /* DTCoreTextLayoutLine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCoreTextLayoutLine.h; path = Core/Source/DTCoreTextLayoutLine.h; sourceTree = ""; }; + 657741F0097E19E1C21F6F71F5B0BEE4 /* RDEPUBBackgroundCoverageStore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBBackgroundCoverageStore.swift; sourceTree = ""; }; 6578DFAB51436E8DF266FD087700E26B /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Sources/ConstraintDescription.swift; sourceTree = ""; }; + 659DFDBA722F2D62D662C16FA44B2320 /* RDEPUBJumpSession.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBJumpSession.swift; sourceTree = ""; }; 6A1EBB9497F4846C84CA0BF5E4F84FC7 /* DTLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTLog.h; path = Core/Source/DTLog.h; sourceTree = ""; }; - 6B1E75CAB3F7C45A794F6C5335FFECBB /* RDEPUBReaderTheme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderTheme.swift; sourceTree = ""; }; - 6B3C0665F2995A9C45FCAABC3F62DE3D /* RDEPUBReaderDependencies.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderDependencies.swift; sourceTree = ""; }; 6B4DD7F34461088F19AB93FBE13CC9BD /* RDEPUBWebViewDebug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBWebViewDebug.swift; sourceTree = ""; }; 6B96B0998B49D8E149C995474DA5FE5F /* DTHTMLWriter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTHTMLWriter.h; path = Core/Source/DTHTMLWriter.h; sourceTree = ""; }; 6C337B19D3E4AFBDAEB7B261AA881E5C /* RDEPUBHTMLNormalizer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBHTMLNormalizer.swift; sourceTree = ""; }; 6C647A2EB2720BCBF88B160D124B57BF /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Sources/UILayoutSupport+Extensions.swift"; sourceTree = ""; }; + 6CD7BF4BBEF43525A95F3EA71A06A760 /* RDEPUBPageResolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPageResolver.swift; sourceTree = ""; }; 6CE0D7B6DB4A2FC4CFBD7F402AD7F6FA /* RDEPUBParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBParser.swift; sourceTree = ""; }; 6D2EC0B845131A88247902AEA26F40AE /* SSAlertAnimation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSAlertAnimation.swift; path = Sources/SSAlertSwift/SSAlertAnimation.swift; sourceTree = ""; }; 6D86C7063D1128EAEB3A30EBEF214B3F /* NSString+DTFormatNumbers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+DTFormatNumbers.h"; path = "Core/Source/NSString+DTFormatNumbers.h"; sourceTree = ""; }; + 6DC74AAA14C3086490F8EB8CE54FE8BA /* RDEPUBReaderTheme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderTheme.swift; sourceTree = ""; }; 6EF09515D5DAA9464888E02EA64AA5F7 /* RDEPUBWebView+Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBWebView+Configuration.swift"; sourceTree = ""; }; + 6F14FFD0ABFEE367C17AE7C903E5B58A /* RDEPUBRuntimePageCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBRuntimePageCount.swift; sourceTree = ""; }; 70F5D03B9B3B7F182C8F5C1F5D4FA7E7 /* DTTiledLayerWithoutFade.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTTiledLayerWithoutFade.m; path = Core/Source/iOS/DTTiledLayerWithoutFade.m; sourceTree = ""; }; + 710B51425866F5577B656A8A2344E665 /* RDEPUBChapterLocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterLocation.swift; sourceTree = ""; }; 713C9FD0354D16AFCCFA630A97F2DA68 /* NSCharacterSet+HTML.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSCharacterSet+HTML.m"; path = "Core/Source/NSCharacterSet+HTML.m"; sourceTree = ""; }; 7148B56DAB2824CB3E9E617789FD1908 /* RDReaderSpreadResolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderSpreadResolver.swift; sourceTree = ""; }; 7176B677A350927FC670368313DC2CA1 /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Sources/ConstraintConfig.swift; sourceTree = ""; }; @@ -786,12 +797,14 @@ 78873FAFC0AD9E930D6050A7F976714B /* DTCoreText.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DTCoreText.debug.xcconfig; sourceTree = ""; }; 78EA0DF405F8465A86BFD3DDFD2EC295 /* Pods-ReadViewDemo */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-ReadViewDemo"; path = Pods_ReadViewDemo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 79A77584AB3B92B2508AE0BCFCB8FD87 /* UIView+DTFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+DTFoundation.h"; path = "Core/Source/iOS/UIView+DTFoundation.h"; sourceTree = ""; }; + 7A5456E53C4A85AC8D05BFF62F3CB4F3 /* RDEPUBReaderChapterListController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderChapterListController.swift; sourceTree = ""; }; 7A9AB5C9C4F800F35807FC8C8C016D37 /* RDEPUBWebView+Search.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBWebView+Search.swift"; sourceTree = ""; }; 7AB9016408894675D11069CDAACEDE94 /* DTImage+HTML.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DTImage+HTML.h"; path = "Core/Source/DTImage+HTML.h"; sourceTree = ""; }; - 7AD6EF544C3C1F037842DF5E4CD048B0 /* RDEPUBReaderSettingsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderSettingsViewController.swift; sourceTree = ""; }; 7C496AB6A73C2D0BD0FF340A6A2960D5 /* DTHTMLAttributedStringBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTHTMLAttributedStringBuilder.m; path = Core/Source/DTHTMLAttributedStringBuilder.m; sourceTree = ""; }; 7D63AE1801C7AB149219317BE7529B26 /* DTAnchorHTMLElement.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTAnchorHTMLElement.m; path = Core/Source/DTAnchorHTMLElement.m; sourceTree = ""; }; + 7D921E9028429689F38A4E52D60BA2FA /* RDEPUBReaderChromeCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderChromeCoordinator.swift; sourceTree = ""; }; 7F051D813D50D20D53205D5FDCAA877C /* UIScreen+DTFoundation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScreen+DTFoundation.m"; path = "Core/Source/iOS/UIScreen+DTFoundation.m"; sourceTree = ""; }; + 8027F5A27B1AB9BA875247BCACEEB4CF /* RDEPUBReaderController+DataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+DataSource.swift"; sourceTree = ""; }; 80B3D15ED0D19D020663EF055386291A /* DTColor+Compatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DTColor+Compatibility.h"; path = "Core/Source/DTColor+Compatibility.h"; sourceTree = ""; }; 81B8F42440B802E6EC2B1FF7E3022F3A /* SSAlertDefaultAnmation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSAlertDefaultAnmation.swift; path = Sources/SSAlertSwift/SSAlertDefaultAnmation.swift; sourceTree = ""; }; 8272D0B59ABD6652D0CAE3DFCC2C5EE1 /* DTActivityTitleView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTActivityTitleView.h; path = Core/Source/iOS/DTActivityTitleView.h; sourceTree = ""; }; @@ -799,11 +812,12 @@ 83410CC9CF2ABE63B90A92F2F988BF65 /* RDReaderView-RDReaderViewAssets */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "RDReaderView-RDReaderViewAssets"; path = RDReaderViewAssets.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 834C4DDB8B590618F7AA98A3FD2B9D2E /* epub-bridge.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "epub-bridge.js"; path = "Sources/RDReaderView/EPUBCore/Resources/epub-bridge.js"; sourceTree = ""; }; 83E37DC74BB53F90A5AD54842858A62F /* NSString+Paragraphs.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+Paragraphs.h"; path = "Core/Source/NSString+Paragraphs.h"; sourceTree = ""; }; + 842CFD545EEE819C6C564D46E55F441C /* RDEPUBSelectionState.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBSelectionState.swift; sourceTree = ""; }; 8552BE1A1F6A6D2879763DE3B2B8A2DD /* NSNumber+RomanNumerals.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNumber+RomanNumerals.h"; path = "Core/Source/NSNumber+RomanNumerals.h"; sourceTree = ""; }; 86A0361390AA0C29BC1A5487083A12A7 /* DTColorFunctions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTColorFunctions.h; path = Core/Source/DTColorFunctions.h; sourceTree = ""; }; + 873616F4DE65CD2EC67DC0D6F4FC4825 /* RDEPUBReaderLocationCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderLocationCoordinator.swift; sourceTree = ""; }; 882FA707ED3513D263A1E0656AAD2D33 /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Sources/ConstraintPriorityTarget.swift; sourceTree = ""; }; 885653999BD237A574B67DB279DE7E87 /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Sources/ConstraintRelatableTarget.swift; sourceTree = ""; }; - 88DC78A6C33BEF2BC4ADB375F162C284 /* RDEPUBReaderAnnotationCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderAnnotationCoordinator.swift; sourceTree = ""; }; 8967AE46A1F72D8F08E5B81E1FE83ADA /* RDEPUBTextSearchEngine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextSearchEngine.swift; sourceTree = ""; }; 8A3DD09EADFE152D5050A931432C2C60 /* RDEPUBStyleSheetComposer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBStyleSheetComposer.swift; sourceTree = ""; }; 8ABDEFEA94DC6408D92AC66DA3625DE5 /* NSString+HTML.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+HTML.h"; path = "Core/Source/NSString+HTML.h"; sourceTree = ""; }; @@ -813,37 +827,33 @@ 8BD9F2023FF826F67E69E3407A70A8A6 /* DTVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTVersion.h; path = Core/Source/DTVersion.h; sourceTree = ""; }; 8C7CBC59E42E8E03559CFEE4F14A56AC /* RDReaderView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderView.swift; sourceTree = ""; }; 8CFEE298DD52246B46E6FA62B16B38DF /* DTTextHTMLElement.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTTextHTMLElement.m; path = Core/Source/DTTextHTMLElement.m; sourceTree = ""; }; - 8DE6D61DD1D70A6DDF12430979C4082A /* RDEPUBReaderViewportMonitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderViewportMonitor.swift; sourceTree = ""; }; 8E3E834CCC952717089550F50A2DE59C /* SSAlertSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SSAlertSwift-Info.plist"; sourceTree = ""; }; 8E5637603691B9B35C2A886B686D3CE7 /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Sources/ConstraintViewDSL.swift; sourceTree = ""; }; 8EC834DF4FD9ABC75E1FDED3BBCB37B0 /* RDEPUBNavigatorState.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBNavigatorState.swift; sourceTree = ""; }; 8F2D44B82815CA3397BE2C9F64819B88 /* DTCoreTextFunctions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCoreTextFunctions.m; path = Core/Source/DTCoreTextFunctions.m; sourceTree = ""; }; 8F950CEF31AC0065C0BEAB26BA2CEFA1 /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Sources/ConstraintOffsetTarget.swift; sourceTree = ""; }; - 902D8268D209ABBB2768E10905B189C2 /* RDEPUBReaderTableOfContentsItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderTableOfContentsItem.swift; sourceTree = ""; }; 91144FC099DD458E61625CD939577DAA /* ConstraintDirectionalInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsets.swift; path = Sources/ConstraintDirectionalInsets.swift; sourceTree = ""; }; 9129D37C7F89AD8FD530663BB4503FC0 /* NSCoder+DTCompatibility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSCoder+DTCompatibility.m"; path = "Core/Source/NSCoder+DTCompatibility.m"; sourceTree = ""; }; - 91EAE48AF0DC04CF719A938AD5613EC3 /* RDEPUBChapterCacheKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterCacheKey.swift; sourceTree = ""; }; 923C96CA59176956C63098AF00B0201B /* RDEPUBTextPaginationSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextPaginationSupport.swift; sourceTree = ""; }; 92460D196C5300656C9649784EBD3C58 /* NSAttributedString+HTML.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSAttributedString+HTML.m"; path = "Core/Source/NSAttributedString+HTML.m"; sourceTree = ""; }; - 9255AF737FE4AA3AE50EE4F2BDCC9AD7 /* RDEPUBReaderTopToolView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderTopToolView.swift; sourceTree = ""; }; 932FD688DE493323BA6B691BC2CB5094 /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Sources/LayoutConstraint.swift; sourceTree = ""; }; 934F9BB2B3A313294F121484C3A97A14 /* Archive+ReadingDeprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Archive+ReadingDeprecated.swift"; path = "Sources/ZIPFoundation/Archive+ReadingDeprecated.swift"; sourceTree = ""; }; 937CEFA81DA4227008DBFB114783A08B /* SSAlertSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SSAlertSwift-umbrella.h"; sourceTree = ""; }; 93898CAF537398E00D8113217C419CA9 /* RDReaderView+ToolView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDReaderView+ToolView.swift"; sourceTree = ""; }; 945D4549E0B9168D7DDB910DE874B874 /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Sources/Typealiases.swift; sourceTree = ""; }; - 94798D2C9B825493840EF99A7447AFB7 /* RDEPUBReaderRuntime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderRuntime.swift; sourceTree = ""; }; + 94CAF1F55388B4B2B4BEE1F02A26DD24 /* RDEPUBTextPageRenderView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextPageRenderView.swift; sourceTree = ""; }; 957DB4675D5CCBD3CB1762F08619F3F7 /* UIApplication+DTNetworkActivity.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication+DTNetworkActivity.h"; path = "Core/Source/iOS/UIApplication+DTNetworkActivity.h"; sourceTree = ""; }; + 95AC8EC67AA5B648EE42D524B93DEFE1 /* RDEPUBWebDecorationOverlayView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBWebDecorationOverlayView.swift; sourceTree = ""; }; + 96108A7804E224C969F15E01F96C74FA /* RDEPUBReaderController+RuntimeBridge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+RuntimeBridge.swift"; sourceTree = ""; }; 96EEB6B022E22A4ABC86D87469D4815B /* DTSmartPagingScrollView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTSmartPagingScrollView.m; path = Core/Source/iOS/DTSmartPagingScrollView.m; sourceTree = ""; }; 96FA99AA7D4AD0D4246C8DAC1CC0C24E /* DTStylesheetHTMLElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTStylesheetHTMLElement.h; path = Core/Source/DTStylesheetHTMLElement.h; sourceTree = ""; }; 979486118B3E90C08386079D57962701 /* SnapKit */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SnapKit; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 97995C73297871C353364E685939DED9 /* SSAlertAnimationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSAlertAnimationController.swift; path = Sources/SSAlertSwift/SSAlertAnimationController.swift; sourceTree = ""; }; 982391EC8620A617B8788C8A6101C96A /* DTDictationPlaceholderView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTDictationPlaceholderView.h; path = Core/Source/DTDictationPlaceholderView.h; sourceTree = ""; }; 98658510AA525496EBF5792E5D9884ED /* DTListItemHTMLElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTListItemHTMLElement.h; path = Core/Source/DTListItemHTMLElement.h; sourceTree = ""; }; - 9899192BA37086232FFEA93F5B2EC3B3 /* RDEPUBViewportTypes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBViewportTypes.swift; sourceTree = ""; }; 98C7359A7C3FC7675FED220200A43A17 /* Archive+WritingDeprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Archive+WritingDeprecated.swift"; path = "Sources/ZIPFoundation/Archive+WritingDeprecated.swift"; sourceTree = ""; }; 99158A091EAB840DE3F822364077954D /* RDEPUBPreferences.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPreferences.swift; sourceTree = ""; }; 99299A9FD6EF739D18352AC5B9325CB0 /* DTAccessibilityElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTAccessibilityElement.h; path = Core/Source/DTAccessibilityElement.h; sourceTree = ""; }; - 9A0C8E542EFB0872BF4471EB2EDB06EA /* RDEPUBReaderSettings.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderSettings.swift; sourceTree = ""; }; 9A1B75050E71BDD96FC19EC6BA129E6A /* DTLinkButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTLinkButton.m; path = Core/Source/DTLinkButton.m; sourceTree = ""; }; 9BFCAC7C2AEA867E67C63A852576774F /* NSURL+DTComparing.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURL+DTComparing.m"; path = "Core/Source/NSURL+DTComparing.m"; sourceTree = ""; }; 9C6293E97E128E98559FB74D9A342EAD /* NSMutableString+HTML.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableString+HTML.h"; path = "Core/Source/NSMutableString+HTML.h"; sourceTree = ""; }; @@ -855,7 +865,9 @@ 9F79D3BC6D895DC606E798E7F15CF3B7 /* RDEPUBTextBookBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextBookBuilder.swift; sourceTree = ""; }; 9F7C000E05ED51ADF331A7F6244782A5 /* RDEPUBRenderDiagnosticsCollector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBRenderDiagnosticsCollector.swift; sourceTree = ""; }; 9F8F40493DF0BBB3EA5FC1F759A883C4 /* ResourceBundle-Resources-DTCoreText-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-Resources-DTCoreText-Info.plist"; sourceTree = ""; }; + 9FCD39F839568B59EF6DE73F9EB51BC2 /* RDEPUBChapterCacheKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterCacheKey.swift; sourceTree = ""; }; A02EA0374C693F881AB36202FB276DCD /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Sources/ConstraintView.swift; sourceTree = ""; }; + A08ADCB02F9DDDE5C9DF8ABC323EB87D /* RDEPUBTextContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextContentView.swift; sourceTree = ""; }; A0927A875CA1F11DBCE60DFC6F0CA0B6 /* NSScanner+HTML.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSScanner+HTML.h"; path = "Core/Source/NSScanner+HTML.h"; sourceTree = ""; }; A09C96468ACCEB23603142794D15D1FA /* RDReaderView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RDReaderView-umbrella.h"; sourceTree = ""; }; A0BD48DAF5AE9DB087F2552E99069709 /* DTBlockFunctions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTBlockFunctions.h; path = Core/Source/DTBlockFunctions.h; sourceTree = ""; }; @@ -868,7 +880,9 @@ A4E43DCDE0C8751557E7E65FEEB1C865 /* DTLazyImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTLazyImageView.m; path = Core/Source/DTLazyImageView.m; sourceTree = ""; }; A651CEE8062C84A597DBC44ECA3DBCC1 /* ConstraintDirectionalInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsetTarget.swift; path = Sources/ConstraintDirectionalInsetTarget.swift; sourceTree = ""; }; A68D72764140BC3DF67A2B9E52CEC7A4 /* DTHorizontalRuleHTMLElement.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTHorizontalRuleHTMLElement.m; path = Core/Source/DTHorizontalRuleHTMLElement.m; sourceTree = ""; }; + A764FFA7ED0826D11613C3897E9315F4 /* RDEPUBChapterWindowCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterWindowCoordinator.swift; sourceTree = ""; }; A8DFDCAB69B471EB5667C964865C26CF /* DTCoreGraphicsUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCoreGraphicsUtils.m; path = Core/Source/DTCoreGraphicsUtils.m; sourceTree = ""; }; + A9E33E69FB52B86059326D1F76722E96 /* RDEPUBReaderPaginationCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderPaginationCoordinator.swift; sourceTree = ""; }; A9F67CE7DA6170FA2E8E04297DF435E0 /* cssInjector.js */ = {isa = PBXFileReference; includeInIndex = 1; name = cssInjector.js; path = Sources/RDReaderView/EPUBCore/Resources/cssInjector.js; sourceTree = ""; }; A9FBC69C7DA29A7283920FDA9EBBCE8A /* DTAnimatedGIF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTAnimatedGIF.h; path = Core/Source/iOS/DTAnimatedGIF/DTAnimatedGIF.h; sourceTree = ""; }; AA0811310099A4BCB3D52683B70DB3D1 /* Pods-ReadViewDemo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ReadViewDemo-dummy.m"; sourceTree = ""; }; @@ -876,17 +890,15 @@ AAF8513093523204F2598DC45941FB49 /* RDEPUBTextIndexTable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextIndexTable.swift; sourceTree = ""; }; AD987C2FA7C8FBC96FD024E421DA0E68 /* Archive+Progress.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Archive+Progress.swift"; path = "Sources/ZIPFoundation/Archive+Progress.swift"; sourceTree = ""; }; ADC5AC8FD4EC45E9BA5654A38715BB93 /* DTTextBlock.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTTextBlock.m; path = Core/Source/DTTextBlock.m; sourceTree = ""; }; - AE57AC7D620527A77DEF6EB1162C9DFC /* RDEPUBChapterOffsetMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterOffsetMap.swift; sourceTree = ""; }; AE68175CDCB5EB0A5693C5DD9DD07BFA /* RDEPUBWebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBWebView.swift; sourceTree = ""; }; - AE6AED7CB30C4F5DF029315D9602ABE2 /* RDEPUBReaderSearchBarView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderSearchBarView.swift; sourceTree = ""; }; + AF292B82519BB64D13F55AFD1B2C2E61 /* RDEPUBReaderController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderController.swift; sourceTree = ""; }; AFC4C9F69BF2D0CAEBAA83896C139D2C /* DTColorFunctions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTColorFunctions.m; path = Core/Source/DTColorFunctions.m; sourceTree = ""; }; AFE0B56638AFB77F4455784A7ED59876 /* DTDictationPlaceholderView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTDictationPlaceholderView.m; path = Core/Source/DTDictationPlaceholderView.m; sourceTree = ""; }; - B02BB9570D018CF824C0024AEDA9DF92 /* RDEPUBChapterWindowCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterWindowCoordinator.swift; sourceTree = ""; }; - B04B186DAA39C121040AC3B1018D12E8 /* RDEPUBReaderController+DataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+DataSource.swift"; sourceTree = ""; }; B0500CA69405E23B09291359EB28331E /* NSMutableAttributedString+HTML.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableAttributedString+HTML.m"; path = "Core/Source/NSMutableAttributedString+HTML.m"; sourceTree = ""; }; B0AC307F12521444C973EA0DE38B4608 /* NSMutableArray+DTMoving.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableArray+DTMoving.h"; path = "Core/Source/NSMutableArray+DTMoving.h"; sourceTree = ""; }; B0B32EA4B7A492EEF26CE260E9AEFA0B /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Sources/ConstraintMakerFinalizable.swift; sourceTree = ""; }; B1B3FB8E803FAC9694F24527C90EFBB6 /* RDEPUBTextRendererSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextRendererSupport.swift; sourceTree = ""; }; + B1EA695242F130C4BDF8DB88132C5459 /* RDEPUBReaderController+RenderSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+RenderSupport.swift"; sourceTree = ""; }; B2047DC8CAD1DCAA042EDE9C51C0F1A9 /* RDReaderView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RDReaderView-prefix.pch"; sourceTree = ""; }; B245F7E143F3091652C64F6593E33F7A /* DTFolderMonitor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTFolderMonitor.m; path = Core/Source/DTFolderMonitor.m; sourceTree = ""; }; B2B3D0CB47B0A8E9EC5AF48B7F2DD6B0 /* DTCoreTextConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCoreTextConstants.m; path = Core/Source/DTCoreTextConstants.m; sourceTree = ""; }; @@ -895,21 +907,19 @@ B5FCE04EBB553439D1C2BA1001936293 /* DTCompatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCompatibility.h; path = Core/Source/DTCompatibility.h; sourceTree = ""; }; B6425B2235BA00FE865AF58EF44F1144 /* DTCoreGraphicsUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCoreGraphicsUtils.h; path = Core/Source/DTCoreGraphicsUtils.h; sourceTree = ""; }; B7672A26922DBD934FA1AC60D49EB322 /* NSNumber+RomanNumerals.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNumber+RomanNumerals.m"; path = "Core/Source/NSNumber+RomanNumerals.m"; sourceTree = ""; }; - B8CC24C31135ADAF3F1271D5BA167262 /* RDEPUBRuntimeChapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBRuntimeChapter.swift; sourceTree = ""; }; B8E40E302B85493BDE0FE91F829EC01E /* DTBase64Coding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTBase64Coding.h; path = Core/Source/DTBase64Coding.h; sourceTree = ""; }; B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "SnapKit-SnapKit_Privacy"; path = SnapKit_Privacy.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; B9E40164920C9AC1B1413C51835CD370 /* DTCoreText-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "DTCoreText-Info.plist"; sourceTree = ""; }; - BB8687FD6159F07520A97D89A4A739AB /* RDEPUBChapterLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterLoader.swift; sourceTree = ""; }; + BB3EAA5B68D15E7806988334DE40FB3C /* RDEPUBBackgroundPriorityPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBBackgroundPriorityPolicy.swift; sourceTree = ""; }; BBD9F7B0D64CCCDACB7D703E942A4EBE /* RDEPUBSemanticMarkerInjector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBSemanticMarkerInjector.swift; sourceTree = ""; }; - BC30482E1E56725E225659BE42ED79EC /* RDEPUBTextContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextContentView.swift; sourceTree = ""; }; BC332335B380BC51C4F05C5CCDFB9189 /* DTAnimatedGIF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTAnimatedGIF.m; path = Core/Source/iOS/DTAnimatedGIF/DTAnimatedGIF.m; sourceTree = ""; }; BC631FFAFFA79930F8DB8AF60D629C5E /* RDReaderView.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = RDReaderView.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; BCCA590DB72AA93275262A414F16578A /* DTCoreTextFontDescriptor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCoreTextFontDescriptor.m; path = Core/Source/DTCoreTextFontDescriptor.m; sourceTree = ""; }; BD768C27E392C934C06DFB4AC401037C /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Sources/ConstraintMakerRelatable.swift; sourceTree = ""; }; + BDCDA1637DE4818E6239AD5DEE9E5334 /* RDEPUBRuntimeChapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBRuntimeChapter.swift; sourceTree = ""; }; BDD081272B47A3B73CE693D21DC26827 /* Entry.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Entry.swift; path = Sources/ZIPFoundation/Entry.swift; sourceTree = ""; }; BE547E464E5D34F9FFB24BAC81D1E4CC /* NSString+DTUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+DTUtilities.h"; path = "Core/Source/NSString+DTUtilities.h"; sourceTree = ""; }; BF4F3EC137168B92A5DA85AF50CD239F /* NSAttributedString+DTDebug.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSAttributedString+DTDebug.m"; path = "Core/Source/NSAttributedString+DTDebug.m"; sourceTree = ""; }; - BF725A63AD2B9E43F33EB99F07C304D4 /* RDEPUBSelectionState.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBSelectionState.swift; sourceTree = ""; }; C123C127CC539ACCB510F665DB774899 /* DTAttributedTextContentView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTAttributedTextContentView.h; path = Core/Source/DTAttributedTextContentView.h; sourceTree = ""; }; C18480913E002315E3F5EC6945371697 /* NSDictionary+DTError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+DTError.m"; path = "Core/Source/NSDictionary+DTError.m"; sourceTree = ""; }; C1CD5FB30A34088E10667AF4D2A8A6C3 /* RDEPUBReadingLocationModels.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReadingLocationModels.swift; sourceTree = ""; }; @@ -922,6 +932,7 @@ C4C7097CA92DB08445EE4D912804A41B /* wxread-dark.css */ = {isa = PBXFileReference; includeInIndex = 1; name = "wxread-dark.css"; path = "Sources/RDReaderView/EPUBCore/Resources/wxread-dark.css"; sourceTree = ""; }; C5B4E39C9AFC826DEBB56E697B1F4FBE /* RDEPUBSearchModels.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBSearchModels.swift; sourceTree = ""; }; C5D1621642B6C2702FFE6606483DEF37 /* RDEPUBChapterData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterData.swift; sourceTree = ""; }; + C66849DA9D804CEC9C3CE4E12E304972 /* RDEPUBChapterRuntimeStore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterRuntimeStore.swift; sourceTree = ""; }; C6DB34ACB132E465CDF8191F7DB71EF6 /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Sources/ConstraintView+Extensions.swift"; sourceTree = ""; }; C71D83D6AEF198FA680B8A80BF2D9605 /* DTCoreTextLayoutLine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCoreTextLayoutLine.m; path = Core/Source/DTCoreTextLayoutLine.m; sourceTree = ""; }; C80065DBA5634DAA71129404975D7349 /* NSURL+DTUnshorten.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURL+DTUnshorten.m"; path = "Core/Source/NSURL+DTUnshorten.m"; sourceTree = ""; }; @@ -931,37 +942,32 @@ C9593E7B37569219F8D9A504B47707DC /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Sources/ConstraintAttributes.swift; sourceTree = ""; }; C960B7AA0B9B8CC473FACFEC64F9906D /* SnapKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.debug.xcconfig; sourceTree = ""; }; C9B5CCE470E634B18B32B423369C1A31 /* RDEPUBCoreTextPageFrameFactory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBCoreTextPageFrameFactory.swift; sourceTree = ""; }; - CA3ACBCB65E911E12245EDA437DF3088 /* RDEPUBReaderAssemblyCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderAssemblyCoordinator.swift; sourceTree = ""; }; CA4A114775B98CEA4A566C18123B145F /* ZIPFoundation-ZIPFoundation_Privacy */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "ZIPFoundation-ZIPFoundation_Privacy"; path = ZIPFoundation_Privacy.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; CA538A48DD3691701EC6B5021D7B7381 /* NSScanner+HTML.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSScanner+HTML.m"; path = "Core/Source/NSScanner+HTML.m"; sourceTree = ""; }; + CADAEBF032AE1DAFABC54AA89303DB34 /* RDEPUBSelectionOverlayView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBSelectionOverlayView.swift; sourceTree = ""; }; CB7F3535507F56824BA21509302CF8B3 /* NSString+DTURLEncoding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+DTURLEncoding.m"; path = "Core/Source/NSString+DTURLEncoding.m"; sourceTree = ""; }; CBD671BD778F560BB9C93218055756E1 /* RDEPUBWebView+Reflowable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBWebView+Reflowable.swift"; sourceTree = ""; }; - CBF22F617BFAC4143D2661C887ACACDB /* RDEPUBTextAnnotationOverlay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextAnnotationOverlay.swift; sourceTree = ""; }; - CD0D4092A12656EBCF1A6F72B4FD4082 /* RDEPUBReaderLoadCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderLoadCoordinator.swift; sourceTree = ""; }; + CD287FBE5DFBF747EF60BFE6EEC17A8A /* RDEPUBPageCountCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPageCountCache.swift; sourceTree = ""; }; + CE24EB3E81169CF41523AE3317807262 /* RDEPUBReaderController+ContentDelegates.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+ContentDelegates.swift"; sourceTree = ""; }; + CE62F4CD315BB684EBBF6C02E4D4B820 /* RDEPUBTextSelectionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextSelectionController.swift; sourceTree = ""; }; CE6907AC04870132CCE3177E894607DD /* DTCoreTextLayoutFrame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCoreTextLayoutFrame.h; path = Core/Source/DTCoreTextLayoutFrame.h; sourceTree = ""; }; CE7768E097F8BDE9FBE3752B98CD0101 /* DTCoreText-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DTCoreText-umbrella.h"; sourceTree = ""; }; CEA93EDA6ED54D374265AA5D6B9EBBA9 /* NSArray+DTError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+DTError.h"; path = "Core/Source/NSArray+DTError.h"; sourceTree = ""; }; - CFBCC74BCB4330EB8EF1B57BADBB014B /* RDEPUBWebDecorationOverlayView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBWebDecorationOverlayView.swift; sourceTree = ""; }; D079A146A6FF29F12B0747422C2EA97F /* RDReaderView+ContentAccess.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDReaderView+ContentAccess.swift"; sourceTree = ""; }; D1599698B5A62671C488F13E07272B09 /* DTCoreTextLayoutFrameAccessibilityElementGenerator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCoreTextLayoutFrameAccessibilityElementGenerator.m; path = Core/Source/DTCoreTextLayoutFrameAccessibilityElementGenerator.m; sourceTree = ""; }; D1E89A31867FF1FB44B4B999988F1B82 /* DTFoundation */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = DTFoundation; path = DTFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D21EFC0B1DC22A993EB8B62715E87FC0 /* RDEPUBRuntimePageCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBRuntimePageCount.swift; sourceTree = ""; }; D24FE8634A7AD2562DB8ADB9D4BBB36A /* CTLineUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLineUtils.m; path = Core/Source/CTLineUtils.m; sourceTree = ""; }; D2858C4311A2E3D5C75501279AD0FFE5 /* RDEPUBDTCoreTextRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBDTCoreTextRenderer.swift; sourceTree = ""; }; D2BA6D5DBD4C6A9285C4592721790A26 /* DTSmartPagingScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTSmartPagingScrollView.h; path = Core/Source/iOS/DTSmartPagingScrollView.h; sourceTree = ""; }; - D2C33E5B1677A732781A827A0A58805F /* RDEPUBChapterSummaryDiskCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterSummaryDiskCache.swift; sourceTree = ""; }; D3593ADF561D422F73C8EABAD4A4F440 /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Sources/ConstraintRelation.swift; sourceTree = ""; }; D36ED8209C907E3E9B074DDB399F54FF /* DTTextAttachment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTTextAttachment.h; path = Core/Source/DTTextAttachment.h; sourceTree = ""; }; D3C42316556BF2EEC09C00E6296E6B2D /* RDEPUBStyleSheetBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBStyleSheetBuilder.swift; sourceTree = ""; }; D4093D30B372960168C1349100DF7DE0 /* DTAttributedTextCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTAttributedTextCell.h; path = Core/Source/DTAttributedTextCell.h; sourceTree = ""; }; D495E2AB1223BD4D4909F8FF1FF47DAF /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Sources/Debugging.swift; sourceTree = ""; }; D497C3CA364E37DAAFF2C3B90CC7DBE8 /* DTTextBlock.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTTextBlock.h; path = Core/Source/DTTextBlock.h; sourceTree = ""; }; - D4D1E00E7B5F60E25B326CF4B83E22B2 /* RDEPUBBookPageMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBBookPageMap.swift; sourceTree = ""; }; D5CD25E951901E42A8D31765763F1CED /* RDReaderGestureController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderGestureController.swift; sourceTree = ""; }; D6D4CF544288387FDB24F07552DDE550 /* RDEPUBFragmentMarkerInjector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBFragmentMarkerInjector.swift; sourceTree = ""; }; - D7A3D6CCECEDECBA9575590F2349E274 /* RDEPUBReaderDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderDelegate.swift; sourceTree = ""; }; D7B5E61166782ED8D585D4FCEE2074DB /* DTLinkButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTLinkButton.h; path = Core/Source/DTLinkButton.h; sourceTree = ""; }; - D7BBD50992F22841D962895AED7442C7 /* RDEPUBChapterLocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterLocation.swift; sourceTree = ""; }; D80CD20CB452B31CCCB14AF8567524D3 /* DTCoreText-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DTCoreText-prefix.pch"; sourceTree = ""; }; D85A85D891A320165843EF9F489178F7 /* UIImage+DTFoundation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+DTFoundation.m"; path = "Core/Source/iOS/UIImage+DTFoundation.m"; sourceTree = ""; }; D863AE4F659A0F71B22DC9FF334DDF4E /* DTCoreTextLayoutFrameAccessibilityElementGenerator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCoreTextLayoutFrameAccessibilityElementGenerator.h; path = Core/Source/DTCoreTextLayoutFrameAccessibilityElementGenerator.h; sourceTree = ""; }; @@ -977,37 +983,41 @@ DCECDBD73595CA88A2208000B4B68352 /* NSString+DTUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+DTUtilities.m"; path = "Core/Source/NSString+DTUtilities.m"; sourceTree = ""; }; DD189DA6054AAE2242F6644A2623B50E /* NSAttributedString+SmallCaps.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSAttributedString+SmallCaps.h"; path = "Core/Source/NSAttributedString+SmallCaps.h"; sourceTree = ""; }; DD58A1908F3C532210EA65ACE410A44D /* CTLineUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLineUtils.h; path = Core/Source/CTLineUtils.h; sourceTree = ""; }; + DDF2BAE43277ADA7007457152B8350C9 /* RDEPUBReaderConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderConfiguration.swift; sourceTree = ""; }; DE4821B98DDE6C71411EC139EC6D2762 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; + DEC807386F16BE8E6839E33B4741D45B /* RDEPUBViewportTypes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBViewportTypes.swift; sourceTree = ""; }; DEF667FF45F147B7458680F3808B36A4 /* RDEPUBResourceURLSchemeHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBResourceURLSchemeHandler.swift; sourceTree = ""; }; + DF3B2159846DC792E5F818A08C9AB4A4 /* RDEPUBChapterLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterLoader.swift; sourceTree = ""; }; DF5EDCA3B21964D0462BE0982E2F0BF8 /* DTTiledLayerWithoutFade.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTTiledLayerWithoutFade.h; path = Core/Source/iOS/DTTiledLayerWithoutFade.h; sourceTree = ""; }; DF670EC438F05ACC1F1C7B725DBDAA18 /* DTFoundation.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DTFoundation.release.xcconfig; sourceTree = ""; }; DF988440049800DB7824A94B81D20254 /* Archive+Writing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Archive+Writing.swift"; path = "Sources/ZIPFoundation/Archive+Writing.swift"; sourceTree = ""; }; DFA800320B45D4A508A1F6E216061675 /* RDReaderView-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "RDReaderView-Info.plist"; sourceTree = ""; }; - E088FB8503A3AEBBB051817E55410CAE /* RDEPUBReaderPaginationCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderPaginationCoordinator.swift; sourceTree = ""; }; E0D90EB06FC37D534934542F9CAB1D74 /* DTCSSStylesheet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCSSStylesheet.m; path = Core/Source/DTCSSStylesheet.m; sourceTree = ""; }; E16D20FA492E085BD0871B107B3077B7 /* DTHTMLWriter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTHTMLWriter.m; path = Core/Source/DTHTMLWriter.m; sourceTree = ""; }; E196F56E68578181D5BDE787DE5C0F3A /* DTColor+Compatibility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "DTColor+Compatibility.m"; path = "Core/Source/DTColor+Compatibility.m"; sourceTree = ""; }; E1DF1B2EEF04D6470AB3196636E73075 /* RDReaderFlowLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderFlowLayout.swift; sourceTree = ""; }; E1F63A854BBF28E93AC1D3F71CD48CBE /* DTAttributedTextCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTAttributedTextCell.m; path = Core/Source/DTAttributedTextCell.m; sourceTree = ""; }; E20272295EC253826AEE1F83A15D47C5 /* NSAttributedStringRunDelegates.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NSAttributedStringRunDelegates.h; path = Core/Source/NSAttributedStringRunDelegates.h; sourceTree = ""; }; + E20850775F6BFCA78F8C4AE637E64423 /* RDEPUBBookPageMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBBookPageMap.swift; sourceTree = ""; }; E27C503C8128BC3CE109FFE077AEF325 /* NSString+CSS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+CSS.m"; path = "Core/Source/NSString+CSS.m"; sourceTree = ""; }; E28CA95D89DBAB2FE56BC8513D5838D7 /* DTHorizontalRuleHTMLElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTHorizontalRuleHTMLElement.h; path = Core/Source/DTHorizontalRuleHTMLElement.h; sourceTree = ""; }; - E295867ADB067E27E538BB6802A15F65 /* RDEPUBReaderHighlightsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderHighlightsViewController.swift; sourceTree = ""; }; + E31419820ABBDDA21EADA1FC3676567E /* RDEPUBPageInteractionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPageInteractionController.swift; sourceTree = ""; }; + E43253C51D9544C8AB43A1D958C64962 /* RDEPUBBackgroundTrace.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBBackgroundTrace.swift; sourceTree = ""; }; E481007A8174943868EBC81CF3B04B9F /* SSAlertPresentAnimation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSAlertPresentAnimation.swift; path = Sources/SSAlertSwift/SSAlertPresentAnimation.swift; sourceTree = ""; }; E4F5BD95D13D1554B8DDB8924913442B /* RDEPUBTextLayouter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextLayouter.swift; sourceTree = ""; }; E5F69A1E1260BAD7737BEB533F643A15 /* DTLazyImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTLazyImageView.h; path = Core/Source/DTLazyImageView.h; sourceTree = ""; }; E62C5E593037EF8A45E7FAA847D0277C /* DTCoreTextLayoutFrame+Cursor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "DTCoreTextLayoutFrame+Cursor.m"; path = "Core/Source/DTCoreTextLayoutFrame+Cursor.m"; sourceTree = ""; }; E676DB9AB5DFC0FB4A33EC63DDACC0E8 /* RDEPUBTextAnchor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextAnchor.swift; sourceTree = ""; }; E6F2E79CC33E0823C4E719ECDDFBBE08 /* NSAttributedStringRunDelegates.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NSAttributedStringRunDelegates.m; path = Core/Source/NSAttributedStringRunDelegates.m; sourceTree = ""; }; - E83C08D0923B31898A62D63C06543BCC /* RDURLReaderController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDURLReaderController.swift; sourceTree = ""; }; - EAE8DA169B8772C7191FBA9AB80092F8 /* RDEPUBReaderController+RenderSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+RenderSupport.swift"; sourceTree = ""; }; + E7DD9A6AC643D639404375A838316EFA /* RDEPUBChapterWindowSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterWindowSnapshot.swift; sourceTree = ""; }; EBA0272559B0F7FAD8AC670AC7431188 /* Pods-ReadViewDemo-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ReadViewDemo-umbrella.h"; sourceTree = ""; }; EC152E542DB1CE18D5FB239C50E7DD27 /* RDReaderPreloadController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderPreloadController.swift; sourceTree = ""; }; + EC8440133C751F27A8CC577491D2272B /* RDEPUBReaderToolView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderToolView.swift; sourceTree = ""; }; ECFE19508E12BF8B0B52E8CB4F724217 /* ConstraintMakerRelatable+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintMakerRelatable+Extensions.swift"; path = "Sources/ConstraintMakerRelatable+Extensions.swift"; sourceTree = ""; }; ED5693BD171B879406EA14C97F4AD8D8 /* Archive+ZIP64.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Archive+ZIP64.swift"; path = "Sources/ZIPFoundation/Archive+ZIP64.swift"; sourceTree = ""; }; EDA6D5D7D0A04878EE78FAAE94F65068 /* DTCoreText */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = DTCoreText; path = DTCoreText.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EDD67BE7B6D7E86A49482D4F07933959 /* RDEPUBReaderDependencies.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderDependencies.swift; sourceTree = ""; }; EE4EE750340347ED584C5A2C1164331A /* SSAlertCommonView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSAlertCommonView.swift; path = Sources/SSAlertSwift/SSAlertCommonView.swift; sourceTree = ""; }; - EE6FE25CC16ECB8AB03FC9995C9074DB /* RDEPUBReaderController+TableOfContents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+TableOfContents.swift"; sourceTree = ""; }; EE9D4A455723797A27F04A15C4E47823 /* DTHTMLElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTHTMLElement.h; path = Core/Source/DTHTMLElement.h; sourceTree = ""; }; EF27E643619E369E8A9C1FE6EFE18C78 /* DTFoundation.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DTFoundation.modulemap; sourceTree = ""; }; F038FB491B9A4A53447EF0DC333301AE /* DTObjectTextAttachment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTObjectTextAttachment.m; path = Core/Source/DTObjectTextAttachment.m; sourceTree = ""; }; @@ -1024,16 +1034,14 @@ F5B34EE2160C27947D1EEFD42184CF5D /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Sources/ConstraintLayoutSupportDSL.swift; sourceTree = ""; }; F699881ABDBEB419AEBA661AD5A21F35 /* ZIPFoundation.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ZIPFoundation.release.xcconfig; sourceTree = ""; }; F734214E067BDBDB581911E1A5CDAADB /* DTBreakHTMLElement.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTBreakHTMLElement.m; path = Core/Source/DTBreakHTMLElement.m; sourceTree = ""; }; - F73C1CEF117C3E1E15A1C0F0CE6E34DC /* RDEPUBChapterRuntimeStore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterRuntimeStore.swift; sourceTree = ""; }; F76A97683FB5E8E8B86EA4AD71F6F4B4 /* Date+ZIP.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Date+ZIP.swift"; path = "Sources/ZIPFoundation/Date+ZIP.swift"; sourceTree = ""; }; F7B0087DE7C394A677F5883541AB4FB7 /* DTListItemHTMLElement.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTListItemHTMLElement.m; path = Core/Source/DTListItemHTMLElement.m; sourceTree = ""; }; + F93349EF605468BD938AB8BCC45BC4D6 /* RDEPUBReaderRuntime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderRuntime.swift; sourceTree = ""; }; F9A2565B302334B662AB51DCF8E65EEE /* DTDictationPlaceholderTextAttachment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTDictationPlaceholderTextAttachment.h; path = Core/Source/DTDictationPlaceholderTextAttachment.h; sourceTree = ""; }; FB2ABB1D297442D91AA42F1407DB4A58 /* DTTextHTMLElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTTextHTMLElement.h; path = Core/Source/DTTextHTMLElement.h; sourceTree = ""; }; FC5EC7C3D1808C9CF53354D7A3D69EE7 /* NSString+DTPaths.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+DTPaths.h"; path = "Core/Source/NSString+DTPaths.h"; sourceTree = ""; }; - FC629A6C0155AB2BFFCA818A0C89567A /* RDEPUBReaderChromeCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderChromeCoordinator.swift; sourceTree = ""; }; FC645BB4D42BB9762F362DF728F58946 /* RDReaderPageChildViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderPageChildViewController.swift; sourceTree = ""; }; FC956678AB4F5B41D2BA3F5F2A2378A7 /* RDEPUBChapterTailNormalizer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterTailNormalizer.swift; sourceTree = ""; }; - FCB085E95929F7729CE5CBC9F17BB712 /* RDEPUBPageResolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPageResolver.swift; sourceTree = ""; }; FCC718115E5C31C88A680522AE36B089 /* DTFoundation-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DTFoundation-dummy.m"; sourceTree = ""; }; FD03567681A79FFB6E81B3105503065D /* DTFoundationConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTFoundationConstants.h; path = Core/Source/DTFoundationConstants.h; sourceTree = ""; }; FDD333B409D528E5006FA48F4D70A6F5 /* DTCSSListStyle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCSSListStyle.h; path = Core/Source/DTCSSListStyle.h; sourceTree = ""; }; @@ -1045,34 +1053,25 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 11428808A2C31AF882AFD4536A862EC8 /* Frameworks */ = { + 15EC01E63DCAB7AE9B85DE96E41D55BC /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 4784055F4929C8C6DD754D3C7862D686 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 11991DA64C95F0209A909294C93238E4 /* Frameworks */ = { + 30E513C73503E17CAFFE2BE7B89D676A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 98F0C9511AA2FA40CD80DC71EB6D4FDF /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 43FB7C3E45EBBADB2DDBA5CF1D4D6526 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2818B9AC60001AB09015CD0BD5C9D339 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 46A46B14E5944D6717708D16DE89649F /* Frameworks */ = { + 35519545A3F918E00A548091B0534B15 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 615499A404E11A1C34DE32C3206E79ED /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1084,23 +1083,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 5D9782EE854A9BBDB34F0D07F07A11EB /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 66031DEDB2E454284283E86939650723 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 593CA36C8608F7B33BEFB64959449B76 /* Foundation.framework in Frameworks */, - 139CC4381EDEA18EA5EA6FC4D3E62193 /* ImageIO.framework in Frameworks */, - 9BA35FC883C9B3C63EE3D0BFEC53689A /* QuartzCore.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 6F1DC7DF5E89C820D04E068D56B1D0EF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1114,25 +1096,51 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 71F8616A075DBC57C8152A9C0B48AC1E /* Frameworks */ = { + 764686AEDC452A24ADCB60C30E75B7D1 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F9C877C6095F38943FBB625B32FB23A5 /* Foundation.framework in Frameworks */, + F32BE3BE624749333BE0191B9EEE95C8 /* Foundation.framework in Frameworks */, + 0E8E42046E441B90E57ACCB097BB8035 /* ImageIO.framework in Frameworks */, + 52BE81E0122108BC01D09A456AEFF3FF /* QuartzCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7A387A49D1418E18C0719DD3BE91ACBB /* Frameworks */ = { + 82BFD6A1F00392FB254A44052F9552B2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8DD995D626C710B159EF275078B19BCA /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C81E578C139D38EFB8B636ED3A14788C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - CA9D9F3471E999EF80B22BFCB4D52D46 /* Frameworks */ = { + E8A3258D03F93621FF949060F3D4CA75 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 7F58D484267B5142628EE0F7D9EFAAD4 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E9EA3EC6D34D6143549E25811061550B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F689E8049F20B5FAD98FD7B8D00FFA7D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0C7E8A1D9440250C02D53F73107CC371 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1147,6 +1155,22 @@ name = Resources; sourceTree = ""; }; + 08C4825082E4C9BFB8327CBF56051510 /* TextPage */ = { + isa = PBXGroup; + children = ( + E31419820ABBDDA21EADA1FC3676567E /* RDEPUBPageInteractionController.swift */, + 0117FDA7B29F080E05810DE919E51224 /* RDEPUBPageLayoutSnapshot.swift */, + CADAEBF032AE1DAFABC54AA89303DB34 /* RDEPUBSelectionOverlayView.swift */, + 1FF0C9CB287BD9AFAF3FD63F44837DA3 /* RDEPUBTextAnnotationOverlay.swift */, + A08ADCB02F9DDDE5C9DF8ABC323EB87D /* RDEPUBTextContentView.swift */, + 2F683478E73F71ED49605723CBBCF22A /* RDEPUBTextPageDecorationView.swift */, + 94CAF1F55388B4B2B4BEE1F02A26DD24 /* RDEPUBTextPageRenderView.swift */, + CE62F4CD315BB684EBBF6C02E4D4B820 /* RDEPUBTextSelectionController.swift */, + ); + name = TextPage; + path = TextPage; + sourceTree = ""; + }; 0B1C922D4918BD6FCBD4F47DB432907B /* Models */ = { isa = PBXGroup; children = ( @@ -1265,6 +1289,32 @@ path = DTFoundation; sourceTree = ""; }; + 2E5652A927529DB69D5F77996C44CBDB /* ReaderController */ = { + isa = PBXGroup; + children = ( + 657741F0097E19E1C21F6F71F5B0BEE4 /* RDEPUBBackgroundCoverageStore.swift */, + BB3EAA5B68D15E7806988334DE40FB3C /* RDEPUBBackgroundPriorityPolicy.swift */, + 659DFDBA722F2D62D662C16FA44B2320 /* RDEPUBJumpSession.swift */, + 229EC6EB4ED751A85D262256AF4B7435 /* RDEPUBPageMapReconciliationCoordinator.swift */, + 0EDC7A778BBE907A63CF0E44193022F1 /* RDEPUBReaderAnnotationCoordinator.swift */, + 2B2BCC65AD49EF363FA8CBCDC1B47F8F /* RDEPUBReaderAssemblyCoordinator.swift */, + 7D921E9028429689F38A4E52D60BA2FA /* RDEPUBReaderChromeCoordinator.swift */, + 4CDFD1C7F47B604DC70E8919ADB41C90 /* RDEPUBReaderContext.swift */, + EDD67BE7B6D7E86A49482D4F07933959 /* RDEPUBReaderDependencies.swift */, + 15323E39EAC18AA202D1039BC2DDEAA7 /* RDEPUBReaderLoadCoordinator.swift */, + 873616F4DE65CD2EC67DC0D6F4FC4825 /* RDEPUBReaderLocationCoordinator.swift */, + A9E33E69FB52B86059326D1F76722E96 /* RDEPUBReaderPaginationCoordinator.swift */, + F93349EF605468BD938AB8BCC45BC4D6 /* RDEPUBReaderRuntime.swift */, + 5607D4C848F6E8DFE5B25EFFB6436BFD /* RDEPUBReaderSearchCoordinator.swift */, + 2AD1A106B152B70FC2A33A7D6B55ADB5 /* RDEPUBReaderUIState.swift */, + 25DF62B8E685CF66C8511EC11FE33F7D /* RDEPUBReaderViewportMonitor.swift */, + 842CFD545EEE819C6C564D46E55F441C /* RDEPUBSelectionState.swift */, + A25BEFB23C7D9903CB0AC0FF69FC124C /* ChapterRuntime */, + ); + name = ReaderController; + path = ReaderController; + sourceTree = ""; + }; 3595ED200AA07F0B71CB42506574798F /* Support Files */ = { isa = PBXGroup; children = ( @@ -1290,18 +1340,6 @@ name = DTAnimatedGIF; sourceTree = ""; }; - 3C5366D72420E40F3833DE5727D9D02D /* Settings */ = { - isa = PBXGroup; - children = ( - 1E7CF983E6CF4797FA35E3B583ECA941 /* RDEPUBReaderConfiguration.swift */, - 9A0C8E542EFB0872BF4471EB2EDB06EA /* RDEPUBReaderSettings.swift */, - 7AD6EF544C3C1F037842DF5E4CD048B0 /* RDEPUBReaderSettingsViewController.swift */, - 6B1E75CAB3F7C45A794F6C5335FFECBB /* RDEPUBReaderTheme.swift */, - ); - name = Settings; - path = Settings; - sourceTree = ""; - }; 43D8ECA62CF48C3CD5F77E3CA6F466AF /* Products */ = { isa = PBXGroup; children = ( @@ -1320,30 +1358,6 @@ name = Products; sourceTree = ""; }; - 48E8EF2D06B474007516336DE226CB5B /* ChapterRuntime */ = { - isa = PBXGroup; - children = ( - 5B6A71ED4237A07E81D0597E56658C5A /* RDEPUBBackgroundTrace.swift */, - D4D1E00E7B5F60E25B326CF4B83E22B2 /* RDEPUBBookPageMap.swift */, - 91EAE48AF0DC04CF719A938AD5613EC3 /* RDEPUBChapterCacheKey.swift */, - 3068218D3A08F227DDA6216F94FB69F4 /* RDEPUBChapterDataCache.swift */, - BB8687FD6159F07520A97D89A4A739AB /* RDEPUBChapterLoader.swift */, - D7BBD50992F22841D962895AED7442C7 /* RDEPUBChapterLocation.swift */, - AE57AC7D620527A77DEF6EB1162C9DFC /* RDEPUBChapterOffsetMap.swift */, - F73C1CEF117C3E1E15A1C0F0CE6E34DC /* RDEPUBChapterRuntimeStore.swift */, - D2C33E5B1677A732781A827A0A58805F /* RDEPUBChapterSummaryDiskCache.swift */, - B02BB9570D018CF824C0024AEDA9DF92 /* RDEPUBChapterWindowCoordinator.swift */, - 3C56140C935C7B3F792647614D702DAB /* RDEPUBChapterWindowSnapshot.swift */, - 0B2963687ADF8375028F8C6F50B1F40B /* RDEPUBPageCountCache.swift */, - FCB085E95929F7729CE5CBC9F17BB712 /* RDEPUBPageResolver.swift */, - B8CC24C31135ADAF3F1271D5BA167262 /* RDEPUBRuntimeChapter.swift */, - D21EFC0B1DC22A993EB8B62715E87FC0 /* RDEPUBRuntimePageCount.swift */, - 5B03892CC4EE09B2E429D0F06E2296BD /* String+SHA256.swift */, - ); - name = ChapterRuntime; - path = ChapterRuntime; - sourceTree = ""; - }; 49882ECBC24E71ACA5E18D6AE9EA639D /* SSAlertSwift */ = { isa = PBXGroup; children = ( @@ -1469,28 +1483,6 @@ name = Pod; sourceTree = ""; }; - 7D263A04A2FE2BEAAB3A8A6CC0A42974 /* ReaderController */ = { - isa = PBXGroup; - children = ( - 88DC78A6C33BEF2BC4ADB375F162C284 /* RDEPUBReaderAnnotationCoordinator.swift */, - CA3ACBCB65E911E12245EDA437DF3088 /* RDEPUBReaderAssemblyCoordinator.swift */, - FC629A6C0155AB2BFFCA818A0C89567A /* RDEPUBReaderChromeCoordinator.swift */, - 12109749AFDE57CACC5E56AB63AD3EB2 /* RDEPUBReaderContext.swift */, - 6B3C0665F2995A9C45FCAABC3F62DE3D /* RDEPUBReaderDependencies.swift */, - CD0D4092A12656EBCF1A6F72B4FD4082 /* RDEPUBReaderLoadCoordinator.swift */, - 4D02D5C9FBB27E031A6D934A07FB001F /* RDEPUBReaderLocationCoordinator.swift */, - E088FB8503A3AEBBB051817E55410CAE /* RDEPUBReaderPaginationCoordinator.swift */, - 94798D2C9B825493840EF99A7447AFB7 /* RDEPUBReaderRuntime.swift */, - 2451995F95C8B333F972A39BDFC7EBCE /* RDEPUBReaderSearchCoordinator.swift */, - 43C106392FA85206E0EE3E17BDDEFF91 /* RDEPUBReaderUIState.swift */, - 8DE6D61DD1D70A6DDF12430979C4082A /* RDEPUBReaderViewportMonitor.swift */, - BF725A63AD2B9E43F33EB99F07C304D4 /* RDEPUBSelectionState.swift */, - 48E8EF2D06B474007516336DE226CB5B /* ChapterRuntime */, - ); - name = ReaderController; - path = ReaderController; - sourceTree = ""; - }; 81FAF4124052D4A411C0A8C21B48174C /* Core */ = { isa = PBXGroup; children = ( @@ -1513,7 +1505,7 @@ 314D77A91FF74A0ACD762C92A6C1AF19 /* wxread-replace-latin.css */, B805DA3735FAD2A62B0C314361B07780 /* EPUBCore */, D19910C1E9AB1D38B8D16F5EC00F66E0 /* EPUBTextRendering */, - 91A99FC917F9940FB2874BB13A90E753 /* EPUBUI */, + B100B3F102B0443806B65501B0A95887 /* EPUBUI */, 7962DFBE557F520D3FCBD088453DEF88 /* Pod */, EDF2681E1CA5AEE3C96023483165563C /* ReaderView */, 591EE9495516A39AB50A3C67F70A5FB8 /* Support Files */, @@ -1522,54 +1514,6 @@ path = ../..; sourceTree = ""; }; - 91A99FC917F9940FB2874BB13A90E753 /* EPUBUI */ = { - isa = PBXGroup; - children = ( - 61CAA3B6C9BC1F1E4C35A108D76B1E79 /* RDEPUBReaderBottomToolView.swift */, - 5CA26E2111C84E605445082FAD421636 /* RDEPUBReaderChapterListController.swift */, - 20E5F9A5250EB5724D516BF67152CBB8 /* RDEPUBReaderController.swift */, - 3562A5E853CB707C1AC4E74C3A8E3924 /* RDEPUBReaderController+ContentDelegates.swift */, - B04B186DAA39C121040AC3B1018D12E8 /* RDEPUBReaderController+DataSource.swift */, - 26C542F1825BDD5743D52350B8F4788D /* RDEPUBReaderController+PublicAPI.swift */, - EAE8DA169B8772C7191FBA9AB80092F8 /* RDEPUBReaderController+RenderSupport.swift */, - 0813D235A2C7FFD9AC3F254EFC9F5FFC /* RDEPUBReaderController+RuntimeBridge.swift */, - EE6FE25CC16ECB8AB03FC9995C9074DB /* RDEPUBReaderController+TableOfContents.swift */, - D7A3D6CCECEDECBA9575590F2349E274 /* RDEPUBReaderDelegate.swift */, - E295867ADB067E27E538BB6802A15F65 /* RDEPUBReaderHighlightsViewController.swift */, - 60F861867F08812A37E8DDCBB02DC583 /* RDEPUBReaderPersistence.swift */, - AE6AED7CB30C4F5DF029315D9602ABE2 /* RDEPUBReaderSearchBarView.swift */, - 902D8268D209ABBB2768E10905B189C2 /* RDEPUBReaderTableOfContentsItem.swift */, - 16A1F97BF3EA1335405B877D02898D34 /* RDEPUBReaderToolView.swift */, - 9255AF737FE4AA3AE50EE4F2BDCC9AD7 /* RDEPUBReaderTopToolView.swift */, - 9899192BA37086232FFEA93F5B2EC3B3 /* RDEPUBViewportTypes.swift */, - 32E5D40E2A0541080719F92638244887 /* RDEPUBWebContentView.swift */, - CFBCC74BCB4330EB8EF1B57BADBB014B /* RDEPUBWebDecorationOverlayView.swift */, - E83C08D0923B31898A62D63C06543BCC /* RDURLReaderController.swift */, - 1DF05A515E551E5511DBE86C4A494EF1 /* UIColor+RDEPUBHex.swift */, - 7D263A04A2FE2BEAAB3A8A6CC0A42974 /* ReaderController */, - 3C5366D72420E40F3833DE5727D9D02D /* Settings */, - 975211ADBAB4007AD0DC73C3FD8D1133 /* TextPage */, - ); - name = EPUBUI; - path = Sources/RDReaderView/EPUBUI; - sourceTree = ""; - }; - 975211ADBAB4007AD0DC73C3FD8D1133 /* TextPage */ = { - isa = PBXGroup; - children = ( - 012E2E783F3E83E70D3A5CE2DD8DE007 /* RDEPUBPageInteractionController.swift */, - 357CF3DD6846FD95FE05679E6ED3866F /* RDEPUBPageLayoutSnapshot.swift */, - 51A0D2BE0587C3DDC57DDBDCD73F81BD /* RDEPUBSelectionOverlayView.swift */, - CBF22F617BFAC4143D2661C887ACACDB /* RDEPUBTextAnnotationOverlay.swift */, - BC30482E1E56725E225659BE42ED79EC /* RDEPUBTextContentView.swift */, - 600151C0D6D719C385CC4D3FCA6E0B27 /* RDEPUBTextPageDecorationView.swift */, - 3F2782574376AE28B6377B05472691E6 /* RDEPUBTextPageRenderView.swift */, - 2909100BDF5A0331D6BE22AF122BB95F /* RDEPUBTextSelectionController.swift */, - ); - name = TextPage; - path = TextPage; - sourceTree = ""; - }; 994C39A644C0722C7A9E97AB46DB8965 /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -1578,6 +1522,30 @@ name = "Targets Support Files"; sourceTree = ""; }; + A25BEFB23C7D9903CB0AC0FF69FC124C /* ChapterRuntime */ = { + isa = PBXGroup; + children = ( + E43253C51D9544C8AB43A1D958C64962 /* RDEPUBBackgroundTrace.swift */, + E20850775F6BFCA78F8C4AE637E64423 /* RDEPUBBookPageMap.swift */, + 9FCD39F839568B59EF6DE73F9EB51BC2 /* RDEPUBChapterCacheKey.swift */, + 3DF24D221E16134F5457D6E573CAB669 /* RDEPUBChapterDataCache.swift */, + DF3B2159846DC792E5F818A08C9AB4A4 /* RDEPUBChapterLoader.swift */, + 710B51425866F5577B656A8A2344E665 /* RDEPUBChapterLocation.swift */, + 2E123F5D57877330E13C6CD8B6E8C880 /* RDEPUBChapterOffsetMap.swift */, + C66849DA9D804CEC9C3CE4E12E304972 /* RDEPUBChapterRuntimeStore.swift */, + 14FAC0385BE2989FAA78962312B1C2E5 /* RDEPUBChapterSummaryDiskCache.swift */, + A764FFA7ED0826D11613C3897E9315F4 /* RDEPUBChapterWindowCoordinator.swift */, + E7DD9A6AC643D639404375A838316EFA /* RDEPUBChapterWindowSnapshot.swift */, + CD287FBE5DFBF747EF60BFE6EEC17A8A /* RDEPUBPageCountCache.swift */, + 6CD7BF4BBEF43525A95F3EA71A06A760 /* RDEPUBPageResolver.swift */, + BDCDA1637DE4818E6239AD5DEE9E5334 /* RDEPUBRuntimeChapter.swift */, + 6F14FFD0ABFEE367C17AE7C903E5B58A /* RDEPUBRuntimePageCount.swift */, + 2137D60DD640B7AA699ABA24388477B2 /* String+SHA256.swift */, + ); + name = ChapterRuntime; + path = ChapterRuntime; + sourceTree = ""; + }; A5E1FCBC8B49DE230DF2EACDA19A840B /* DTCoreText */ = { isa = PBXGroup; children = ( @@ -1715,6 +1683,38 @@ path = DTCoreText; sourceTree = ""; }; + B100B3F102B0443806B65501B0A95887 /* EPUBUI */ = { + isa = PBXGroup; + children = ( + 4BA0E880D18A71B88EB47FFF48F8C4E2 /* RDEPUBReaderBottomToolView.swift */, + 7A5456E53C4A85AC8D05BFF62F3CB4F3 /* RDEPUBReaderChapterListController.swift */, + AF292B82519BB64D13F55AFD1B2C2E61 /* RDEPUBReaderController.swift */, + CE24EB3E81169CF41523AE3317807262 /* RDEPUBReaderController+ContentDelegates.swift */, + 8027F5A27B1AB9BA875247BCACEEB4CF /* RDEPUBReaderController+DataSource.swift */, + 36882DD8E345760F64DCED188CC5BF98 /* RDEPUBReaderController+PublicAPI.swift */, + B1EA695242F130C4BDF8DB88132C5459 /* RDEPUBReaderController+RenderSupport.swift */, + 96108A7804E224C969F15E01F96C74FA /* RDEPUBReaderController+RuntimeBridge.swift */, + 5A6E0FD58AA68B39320BF5C2264FC28F /* RDEPUBReaderController+TableOfContents.swift */, + 45078E1A399DA8AD0C6A476457158555 /* RDEPUBReaderDelegate.swift */, + 2967F560075AF56B46E86E6D6F4CD48D /* RDEPUBReaderHighlightsViewController.swift */, + 2B019D0BBF05A2E93CD669A6534FA05D /* RDEPUBReaderPersistence.swift */, + 155BD7E355B0C314210F72E1FE60BA2D /* RDEPUBReaderSearchBarView.swift */, + 3B7F252E5A413A25F1C1EE40E84EEDCD /* RDEPUBReaderTableOfContentsItem.swift */, + EC8440133C751F27A8CC577491D2272B /* RDEPUBReaderToolView.swift */, + 58346A8E42DB4D0928603E6260F1BDBE /* RDEPUBReaderTopToolView.swift */, + DEC807386F16BE8E6839E33B4741D45B /* RDEPUBViewportTypes.swift */, + 56DF8BACA5CE1847514D5355CB303E67 /* RDEPUBWebContentView.swift */, + 95AC8EC67AA5B648EE42D524B93DEFE1 /* RDEPUBWebDecorationOverlayView.swift */, + 612A3E2FFAC1C49D7F4B8DF773A3C40D /* RDURLReaderController.swift */, + 52841033367AF42F8BDD507D2EDD3814 /* UIColor+RDEPUBHex.swift */, + 2E5652A927529DB69D5F77996C44CBDB /* ReaderController */, + EE78AA2135F8725DBBB5602E48C89749 /* Settings */, + 08C4825082E4C9BFB8327CBF56051510 /* TextPage */, + ); + name = EPUBUI; + path = Sources/RDReaderView/EPUBUI; + sourceTree = ""; + }; B805DA3735FAD2A62B0C314361B07780 /* EPUBCore */ = { isa = PBXGroup; children = ( @@ -1966,6 +1966,18 @@ path = Sources/RDReaderView/ReaderView; sourceTree = ""; }; + EE78AA2135F8725DBBB5602E48C89749 /* Settings */ = { + isa = PBXGroup; + children = ( + DDF2BAE43277ADA7007457152B8350C9 /* RDEPUBReaderConfiguration.swift */, + 41EEC3ACC28D8D814C6C3E6019498CB3 /* RDEPUBReaderSettings.swift */, + 463871F68C062B291F9FF734F1A94B5F /* RDEPUBReaderSettingsViewController.swift */, + 6DC74AAA14C3086490F8EB8CE54FE8BA /* RDEPUBReaderTheme.swift */, + ); + name = Settings; + path = Settings; + sourceTree = ""; + }; F3D99F452BF74190AE8A6D307FDF149B /* Support Files */ = { isa = PBXGroup; children = ( @@ -1985,6 +1997,22 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + 049AC86C34C2AB05A47A696BCA3D40A4 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + FFF2C6C57813A12EDC4CD70BA1851896 /* SnapKit-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 12306120823C034DB65069D6CE9A8296 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + DBE7C9FB9B14E2EBFD417C3A844FBF5C /* RDReaderView-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 29CB77F5EC62298B8E19FEFFD791AEAD /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -2058,68 +2086,60 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 2BC178966B74414BEE513D3EE9A97F61 /* Headers */ = { + 30406F4C8A331160C04C7DBF6938EE6D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - AAC840547DD17D5C75BE4893AEC920D1 /* SnapKit-umbrella.h in Headers */, + BD791B1B182C37499A8E95D2D67971F9 /* DTActivityTitleView.h in Headers */, + E98E239DE16A104B6EF649553701A69B /* DTAnimatedGIF.h in Headers */, + F1D86D8A1A9ED9FF3155690BA100DB14 /* DTBase64Coding.h in Headers */, + C87FF08DED7492A1BE5BAA9F39D4FA1F /* DTBlockFunctions.h in Headers */, + A8F5F058C3B9A6BAF4C1F79C6C9B7333 /* DTCompatibility.h in Headers */, + DA12E5AC87B6615C39D3B8D1C1C8F31F /* DTCoreGraphicsUtils.h in Headers */, + E6D87998FD129F2AD36A7589AC1CEB0C /* DTCustomColoredAccessory.h in Headers */, + EC3FE7D54ABEC8D80F45F41ED1079744 /* DTExtendedFileAttributes.h in Headers */, + DC83F60A8B04D071D6C6E31B4F96171A /* DTFolderMonitor.h in Headers */, + 441B73481A13D71E6DFC28E802C0CFD4 /* DTFoundation-umbrella.h in Headers */, + 18258FC4C37A9BF33DEC25BA8F7FD820 /* DTFoundationConstants.h in Headers */, + DC977AC0042D5612E23F18949989A035 /* DTHTMLParser.h in Headers */, + 38450D88BCEDDFBE5D892074FBA827C8 /* DTLog.h in Headers */, + B360B254BDB940DDC8D424518B7B9777 /* DTPieProgressIndicator.h in Headers */, + 8E1155C11D35ABDD71546B18EB7110FE /* DTSmartPagingScrollView.h in Headers */, + B144AE57EAC575F35860A88C328B67D8 /* DTTiledLayerWithoutFade.h in Headers */, + 6BDDB8495FEF037480E980D9B463123E /* DTVersion.h in Headers */, + 00316266FDE85B8932F1E5B0C47D6FA7 /* DTWeakSupport.h in Headers */, + 77A3C45BA969D54B0584560E4A34AAAF /* NSArray+DTError.h in Headers */, + 83BB2DA073E56D19459926C799B79A81 /* NSData+DTCrypto.h in Headers */, + 361CE91F176DB12A8127E9540A27D5B9 /* NSDictionary+DTError.h in Headers */, + 5E2E03819F4F5F11C27A6C3A0E4A2472 /* NSFileWrapper+DTCopying.h in Headers */, + 70068FA833CBBEE2C28B3A922AE69902 /* NSMutableArray+DTMoving.h in Headers */, + 26DDDEDDEC18CF0EA1FB730FABA2673E /* NSString+DTFormatNumbers.h in Headers */, + 45277F2F1A7446FBB74479EA1D182A45 /* NSString+DTPaths.h in Headers */, + AF3C4724C595ADEE370CDF550F56A51D /* NSString+DTURLEncoding.h in Headers */, + C5AA86EA9BDE9BB1F035F08A1A10EBB5 /* NSString+DTUtilities.h in Headers */, + 012C7AD03E07026EA76E65E3E028E0B9 /* NSURL+DTAppLinks.h in Headers */, + C1F662C9F4521D27A5A0270EEA2B59A6 /* NSURL+DTComparing.h in Headers */, + 99E9B466AEBEF16454DC1F420189C329 /* NSURL+DTUnshorten.h in Headers */, + C6852D2E414652ADB5F14F1583CF6C59 /* UIApplication+DTNetworkActivity.h in Headers */, + 0932B0420003276698809CD2E813E0A0 /* UIImage+DTFoundation.h in Headers */, + 85AC5C843E5BBA85300423B69904056A /* UIScreen+DTFoundation.h in Headers */, + A210FFBC5268D6AF1148C136F16F7345 /* UIView+DTFoundation.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4B2B66996212DC2632DB4C3DFB61EB18 /* Headers */ = { + 7896A5C84F66502CDF7AF0604ED99B72 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E88BE97E9C863275B42FAE9A893B011E /* RDReaderView-umbrella.h in Headers */, + 820CDB4642D59F63EF355C1139D9DBFB /* ZIPFoundation-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5FE226E86427545F25E04DF4CAD85840 /* Headers */ = { + A710757B2C2E6986A093041C46FFDCCB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E1635E1C51B4232C2868F80F501E2CCB /* DTActivityTitleView.h in Headers */, - BBA44069DE29E393B2A3CE8DD7DF6552 /* DTAnimatedGIF.h in Headers */, - 0E3D5C67966CB30F8A1C5B23B32A78C6 /* DTBase64Coding.h in Headers */, - 25D2035E54373625D7DDE374536A1A22 /* DTBlockFunctions.h in Headers */, - A023C6257ACFCB4BB2C3A0A780D3BA69 /* DTCompatibility.h in Headers */, - DF611CA46A11935B195229A13F367FE3 /* DTCoreGraphicsUtils.h in Headers */, - A0CA0D794B98DDD54311F0784A7214C5 /* DTCustomColoredAccessory.h in Headers */, - B91AF32D50A82B44DDAFD1D77382AB2D /* DTExtendedFileAttributes.h in Headers */, - 0724227458D6158434EB3BA34EF75208 /* DTFolderMonitor.h in Headers */, - 9C3540F5054EF5CC5D8B122C39934B17 /* DTFoundation-umbrella.h in Headers */, - ABEC4B76C9F6444D84E18C262ACCF327 /* DTFoundationConstants.h in Headers */, - A1EE5A08AF16702B7DF8D3881B1DA9C1 /* DTHTMLParser.h in Headers */, - CC3A3AC5FDD073E23A4FB9751E1906F6 /* DTLog.h in Headers */, - 0348E85E071F1963286B90D704A584EB /* DTPieProgressIndicator.h in Headers */, - 86A1119C520665097B6028AFE68FB9F6 /* DTSmartPagingScrollView.h in Headers */, - AEFE45633FE7519934D64924E411B57E /* DTTiledLayerWithoutFade.h in Headers */, - B75282EB6F6EA0AD668AECD3C83F66BD /* DTVersion.h in Headers */, - 1646DB61088E6EA55035448A0D00F9EC /* DTWeakSupport.h in Headers */, - 9361F0CAA37A3D0F59158DA361B3403B /* NSArray+DTError.h in Headers */, - 9705BC91D9FE89A08A6794D92FC852E6 /* NSData+DTCrypto.h in Headers */, - B2418E155320F3D2B933ACC133B1E946 /* NSDictionary+DTError.h in Headers */, - 1755FA3D3F51158F1178A2788CBD2E3E /* NSFileWrapper+DTCopying.h in Headers */, - 871BED7D64905AA927C5EC750B564494 /* NSMutableArray+DTMoving.h in Headers */, - E215C744B7C0F0F1468F0B1BA37A5A26 /* NSString+DTFormatNumbers.h in Headers */, - 437E6DEFBB36398B5CF02CEF30E5AB96 /* NSString+DTPaths.h in Headers */, - 4E30F0CCCE719F18008FBA8F0A50FBEA /* NSString+DTURLEncoding.h in Headers */, - A43A5EA6C160F881A43859992FDEC335 /* NSString+DTUtilities.h in Headers */, - 961088C5DEA62E762924A9E4158B7931 /* NSURL+DTAppLinks.h in Headers */, - 15BB854C628E532A7F08FEA5594F3933 /* NSURL+DTComparing.h in Headers */, - 0D711A72DDF98852C2B1B0845AEB2E51 /* NSURL+DTUnshorten.h in Headers */, - 616A164035FC6A7F5FD132B83DE46596 /* UIApplication+DTNetworkActivity.h in Headers */, - 67975174935DF5A3D66C101151239252 /* UIImage+DTFoundation.h in Headers */, - E80CE3276D704909789FE7AFC3AD71C3 /* UIScreen+DTFoundation.h in Headers */, - 67AE6029E724432408917C8A69CC4589 /* UIView+DTFoundation.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A59A9012F49137C2610187ED7A721817 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 075B6A431606735FF10DCA4BA1599B61 /* SSAlertSwift-umbrella.h in Headers */, + C410487E78D155B9B702ED90E927B529 /* SSAlertSwift-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2131,24 +2151,16 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - E6D0088EEBD5A74ABF246AF7C4535D38 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - AD17641501D68E8C21FAEC49743E4106 /* ZIPFoundation-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ 0C24CB0E87A728A11AA1124CB360D6A1 /* DTCoreText-Resources */ = { isa = PBXNativeTarget; - buildConfigurationList = A7E7C52E8356B363E4C668C76D72C91E /* Build configuration list for PBXNativeTarget "DTCoreText-Resources" */; + buildConfigurationList = AFF5A1F4D2230C559D5796EE3C6A8921 /* Build configuration list for PBXNativeTarget "DTCoreText-Resources" */; buildPhases = ( - D14625340E2861C36773F9C4484DFD0C /* Sources */, - CA9D9F3471E999EF80B22BFCB4D52D46 /* Frameworks */, - 1AF264E47FED0EDDF12198A018A67A89 /* Resources */, + B061313E173E75F30DB79EB576746971 /* Sources */, + 30E513C73503E17CAFFE2BE7B89D676A /* Frameworks */, + 61D2E300A912E3350E0BE705E92C89B3 /* Resources */, ); buildRules = ( ); @@ -2161,17 +2173,17 @@ }; 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */ = { isa = PBXNativeTarget; - buildConfigurationList = 5165AACF46A63B4FB8A8420ACC759DD3 /* Build configuration list for PBXNativeTarget "SnapKit" */; + buildConfigurationList = A52279E1A3089C289BECB0F59BFCF79A /* Build configuration list for PBXNativeTarget "SnapKit" */; buildPhases = ( - 2BC178966B74414BEE513D3EE9A97F61 /* Headers */, - 2569210201D48992A7ECE5A8C49D82FC /* Sources */, - 71F8616A075DBC57C8152A9C0B48AC1E /* Frameworks */, - AF7C21FCC360BAF5B3E2C82C7C06EB82 /* Resources */, + 049AC86C34C2AB05A47A696BCA3D40A4 /* Headers */, + 05B32DE4A2DC0D7DBDE0FEB934FDE325 /* Sources */, + F689E8049F20B5FAD98FD7B8D00FFA7D /* Frameworks */, + 8A23C8A205E805CF516B110F1F77DAA6 /* Resources */, ); buildRules = ( ); dependencies = ( - 77D3AA74C59602B92A392CFC63E44F0F /* PBXTargetDependency */, + 933CDC85F3C0C30B230759CFC5FA98BE /* PBXTargetDependency */, ); name = SnapKit; productName = SnapKit; @@ -2180,12 +2192,12 @@ }; 8619D5ADECF2B26CFD9A9826D61D289A /* SSAlertSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = A8B16500C77E14435BD81E2FC3C99BCD /* Build configuration list for PBXNativeTarget "SSAlertSwift" */; + buildConfigurationList = E40ACBC5D8ADE49D3F13FF10A0874957 /* Build configuration list for PBXNativeTarget "SSAlertSwift" */; buildPhases = ( - A59A9012F49137C2610187ED7A721817 /* Headers */, - 98DB2E7FF91A6985191703CBEB926865 /* Sources */, - 11991DA64C95F0209A909294C93238E4 /* Frameworks */, - 0AD565F994D903CCC0BA1301D0C72157 /* Resources */, + A710757B2C2E6986A093041C46FFDCCB /* Headers */, + 12A7FF9C01175E2D59415FD3757BB8E1 /* Sources */, + 35519545A3F918E00A548091B0534B15 /* Frameworks */, + 7AF6FADF0E9EBBD2EF2945E886D4313B /* Resources */, ); buildRules = ( ); @@ -2208,12 +2220,12 @@ buildRules = ( ); dependencies = ( - 13585C5584DA3266D4A24DDD9B31AD55 /* PBXTargetDependency */, - 2E712D8870E5EBCA7A222177E8449AC1 /* PBXTargetDependency */, - 7700CDB869DDB5BC16AA1C5083D98C45 /* PBXTargetDependency */, - 197FB2078B81A644D08043561984F27E /* PBXTargetDependency */, - CAB448101F2C74E72C200BE40545771B /* PBXTargetDependency */, - 52F662FBC328D9ABFA736CA337E4A2F7 /* PBXTargetDependency */, + F52433FCC6201C52C513A41A13DE9482 /* PBXTargetDependency */, + 38FB89E50589C58CF326DED7A2B7A07F /* PBXTargetDependency */, + 0CA7B9B91B963019A4C7D5BD0F568D1F /* PBXTargetDependency */, + A2A7992508D710C444AB6184145BBA6E /* PBXTargetDependency */, + 7A4A433719D07C1BFB840CE93F0EC99F /* PBXTargetDependency */, + 5C225A36DF4190990EDF02BF568A8FD2 /* PBXTargetDependency */, ); name = "Pods-ReadViewDemo"; productName = Pods_ReadViewDemo; @@ -2222,11 +2234,11 @@ }; 8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */ = { isa = PBXNativeTarget; - buildConfigurationList = 490DB4724C304AF051ED35D068A20B47 /* Build configuration list for PBXNativeTarget "SnapKit-SnapKit_Privacy" */; + buildConfigurationList = 32C3AD886ED2B02359F86590AFC016C4 /* Build configuration list for PBXNativeTarget "SnapKit-SnapKit_Privacy" */; buildPhases = ( - B2F045F25878E43023D094161DD9F5B6 /* Sources */, - 7A387A49D1418E18C0719DD3BE91ACBB /* Frameworks */, - FB83DEA07B2DEDEA330961EF51164943 /* Resources */, + 79FC6ED25DA86C6FDAF9F9A4C415674A /* Sources */, + E9EA3EC6D34D6143549E25811061550B /* Frameworks */, + 40EA50B535BEB1E64FBA34AB7FD8FDC2 /* Resources */, ); buildRules = ( ); @@ -2239,12 +2251,12 @@ }; 8F6E5A5BF72D62CDFD25F91A7CFA3309 /* DTFoundation */ = { isa = PBXNativeTarget; - buildConfigurationList = 2A92134767212E0AF1CE27B20F859A21 /* Build configuration list for PBXNativeTarget "DTFoundation" */; + buildConfigurationList = AC861F6D61F42396EEE5E9DB8F0553E4 /* Build configuration list for PBXNativeTarget "DTFoundation" */; buildPhases = ( - 5FE226E86427545F25E04DF4CAD85840 /* Headers */, - B81ADB90CEB0C2BC5C3A5EB71B740B22 /* Sources */, - 66031DEDB2E454284283E86939650723 /* Frameworks */, - 3B9155516824ED6A3FA4D004AEE64E62 /* Resources */, + 30406F4C8A331160C04C7DBF6938EE6D /* Headers */, + 2B6D384D5C1AD6F10985533A49A1B0E7 /* Sources */, + 764686AEDC452A24ADCB60C30E75B7D1 /* Frameworks */, + 1582E55B8F8BF316F4241BC8416A6799 /* Resources */, ); buildRules = ( ); @@ -2257,17 +2269,17 @@ }; AA15C8469D67684160CC2A7098EB841C /* ZIPFoundation */ = { isa = PBXNativeTarget; - buildConfigurationList = AA6CCE7B84211FC7AD7D89714B12CE1E /* Build configuration list for PBXNativeTarget "ZIPFoundation" */; + buildConfigurationList = 77CE92248FEABAAD1F0F5E3D4FDD4F39 /* Build configuration list for PBXNativeTarget "ZIPFoundation" */; buildPhases = ( - E6D0088EEBD5A74ABF246AF7C4535D38 /* Headers */, - 404DE8BB8ADE877FE966E92F9757E95C /* Sources */, - 43FB7C3E45EBBADB2DDBA5CF1D4D6526 /* Frameworks */, - BF9E38AF3120453D38670CA7B4B83D37 /* Resources */, + 7896A5C84F66502CDF7AF0604ED99B72 /* Headers */, + 266851EA8A1D3AEA611BF2D9CDCFC465 /* Sources */, + 82BFD6A1F00392FB254A44052F9552B2 /* Frameworks */, + 68C17643972A9931F860D10A439D4A5D /* Resources */, ); buildRules = ( ); dependencies = ( - 7128F364EDA5D95565A3FF0D037494D5 /* PBXTargetDependency */, + F8974AE5EB8874954374C4339A872BA7 /* PBXTargetDependency */, ); name = ZIPFoundation; productName = ZIPFoundation; @@ -2276,21 +2288,21 @@ }; AA2E57587AA8EECA63C4BE08EA3CB6D2 /* RDReaderView */ = { isa = PBXNativeTarget; - buildConfigurationList = 13F766F0FD949B8D05B6B83E2A243293 /* Build configuration list for PBXNativeTarget "RDReaderView" */; + buildConfigurationList = ABF7FBA5E3E067B6792A3DEFEF3551A8 /* Build configuration list for PBXNativeTarget "RDReaderView" */; buildPhases = ( - 4B2B66996212DC2632DB4C3DFB61EB18 /* Headers */, - 38EEEC488914A9E2838C8A2B024B68AE /* Sources */, - 11428808A2C31AF882AFD4536A862EC8 /* Frameworks */, - E724E9698975B2D3D91E38E41BD956E5 /* Resources */, + 12306120823C034DB65069D6CE9A8296 /* Headers */, + 9BE3CAF29BA15DCCF57A49EC56EDA1F5 /* Sources */, + E8A3258D03F93621FF949060F3D4CA75 /* Frameworks */, + 93BA3292493EF30858CE6173BF20A89A /* Resources */, ); buildRules = ( ); dependencies = ( - 416BC3E008F2609A8E86854EE28106CB /* PBXTargetDependency */, - 1C6859C15073631D07C87D6EC04462FF /* PBXTargetDependency */, - 6B7F8F8E9BA38033F75DB22067DAB719 /* PBXTargetDependency */, - 822DBE9158133460AC8B0C1416FDE89E /* PBXTargetDependency */, - 9CA227E3922F0FB7F722ACCF43CF24E8 /* PBXTargetDependency */, + 570FA46BBB50CDECBA43A5D08673BEBB /* PBXTargetDependency */, + DD16636AA1A857011172B10612BDACB5 /* PBXTargetDependency */, + 405E1AD46635A66EF80B80A3744A9B1B /* PBXTargetDependency */, + 8721DC9BE13491BC4A83C7B0CA27E079 /* PBXTargetDependency */, + 03FC951E2835A26BF91018AE8F6EC9CD /* PBXTargetDependency */, ); name = RDReaderView; productName = RDReaderView; @@ -2299,11 +2311,11 @@ }; AE7F393FB7805DE2664AB4111873F907 /* RDReaderView-RDReaderViewAssets */ = { isa = PBXNativeTarget; - buildConfigurationList = BAAE2E50C43325A6A6895028C447728E /* Build configuration list for PBXNativeTarget "RDReaderView-RDReaderViewAssets" */; + buildConfigurationList = 59444A8D5BE0E1A70A5BE7BE321CD2AE /* Build configuration list for PBXNativeTarget "RDReaderView-RDReaderViewAssets" */; buildPhases = ( - C678DB2A4FF718D88509B50CA13D74CC /* Sources */, - 46A46B14E5944D6717708D16DE89649F /* Frameworks */, - DF450E6A5814F170A48931CB042FC13B /* Resources */, + 28DC3DDBA965A6D50CF6F11CC8F661AA /* Sources */, + C81E578C139D38EFB8B636ED3A14788C /* Frameworks */, + CF8B79AB5FB7E48A0F94C10CFEF17652 /* Resources */, ); buildRules = ( ); @@ -2326,8 +2338,8 @@ buildRules = ( ); dependencies = ( - 8936F65F83E1ABA1DAA238BBE1C90C5F /* PBXTargetDependency */, - 784AD7740EFFD4E78D74D0A50F443EDA /* PBXTargetDependency */, + 41E1EFC407033EDEC7512BC404F33752 /* PBXTargetDependency */, + 8828E4136FC6275A29348682D2F3025B /* PBXTargetDependency */, ); name = DTCoreText; productName = DTCoreText; @@ -2336,11 +2348,11 @@ }; C7A8D82E407CD3FDC3BA55CEE519B252 /* ZIPFoundation-ZIPFoundation_Privacy */ = { isa = PBXNativeTarget; - buildConfigurationList = 1A78EEA4F7A0EA467A52C4ED772712D4 /* Build configuration list for PBXNativeTarget "ZIPFoundation-ZIPFoundation_Privacy" */; + buildConfigurationList = 9A71538ED3030F97A931CB47765E7DF6 /* Build configuration list for PBXNativeTarget "ZIPFoundation-ZIPFoundation_Privacy" */; buildPhases = ( - 17369C011D8091758B5785F8D4AF3ECE /* Sources */, - 5D9782EE854A9BBDB34F0D07F07A11EB /* Frameworks */, - 2C1D94BFEFBB5F74530A5E82D9BF11BB /* Resources */, + 08AEB14849D2FE26135A7021716AC752 /* Sources */, + 15EC01E63DCAB7AE9B85DE96E41D55BC /* Frameworks */, + 5C5FEA6C587A65D8CFAD1E05835A5F9E /* Resources */, ); buildRules = ( ); @@ -2391,29 +2403,13 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 0AD565F994D903CCC0BA1301D0C72157 /* Resources */ = { + 1582E55B8F8BF316F4241BC8416A6799 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 1AF264E47FED0EDDF12198A018A67A89 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A91D815127AC86ACCE9A29979442C534 /* default.css in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2C1D94BFEFBB5F74530A5E82D9BF11BB /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 81114197684AE047BED887B94262BCEC /* PrivacyInfo.xcprivacy in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 378BF991D3B318AACBF6D78F57218233 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -2422,10 +2418,35 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3B9155516824ED6A3FA4D004AEE64E62 /* Resources */ = { + 40EA50B535BEB1E64FBA34AB7FD8FDC2 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 9606C3612C113E5A9CF3E518F159C86F /* PrivacyInfo.xcprivacy in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5C5FEA6C587A65D8CFAD1E05835A5F9E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2BCF67AB602D4B76C88A3D5BAC3726BF /* PrivacyInfo.xcprivacy in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 61D2E300A912E3350E0BE705E92C89B3 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 20EDF9B7F940E3D400DBA01F74AF454E /* default.css in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 68C17643972A9931F860D10A439D4A5D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5F0141D3A8CB161FC4559750646226F8 /* ZIPFoundation-ZIPFoundation_Privacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2436,284 +2457,189 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - AF7C21FCC360BAF5B3E2C82C7C06EB82 /* Resources */ = { + 7AF6FADF0E9EBBD2EF2945E886D4313B /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - DE46AF71DEEF00410A44069968B60E32 /* SnapKit-SnapKit_Privacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - BF9E38AF3120453D38670CA7B4B83D37 /* Resources */ = { + 8A23C8A205E805CF516B110F1F77DAA6 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6179B2F08A02BFAEBE23834658BE70F3 /* ZIPFoundation-ZIPFoundation_Privacy in Resources */, + 50F3751C3F696699455F17021220893C /* SnapKit-SnapKit_Privacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - DF450E6A5814F170A48931CB042FC13B /* Resources */ = { + 93BA3292493EF30858CE6173BF20A89A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 88A1889B200CA2B4581B8F51C55857CF /* cssInjector.js in Resources */, - A2E8647998FBD87C93B2C64C4C9DD6C1 /* epub-bridge.js in Resources */, - C126E3F113976F437DCE56A43F333F01 /* epub-fixed-layout.html in Resources */, - 1C71EB408583CEAD67B9C214EC632173 /* rangy-core.js in Resources */, - 8F2D529DFB7E0B921B2232D93DD11D6F /* rangy-serializer.js in Resources */, - 4CAD70BBE240848A64180F7B1A0DCD8C /* WeReadApi.js in Resources */, - F68A4B34606ED464F14D79CA47432BDF /* wxread-dark.css in Resources */, - 1C9E8ABD096473C28D2986D3B32983B7 /* wxread-default.css in Resources */, - EA7C6CE570DA224EE0181273422A6B14 /* wxread-replace.css in Resources */, - B6934B2BD7ABDF8AC0858D96B5AF08C5 /* wxread-replace-latin.css in Resources */, + D511C5AF307340CA2CF17D54142E1FE5 /* RDReaderView-RDReaderViewAssets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E724E9698975B2D3D91E38E41BD956E5 /* Resources */ = { + CF8B79AB5FB7E48A0F94C10CFEF17652 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 734D7A5703C1993676CE5460595F276F /* RDReaderView-RDReaderViewAssets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - FB83DEA07B2DEDEA330961EF51164943 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 72E798049EE743AFB3351B8DD2DA36FE /* PrivacyInfo.xcprivacy in Resources */, + B45A4CAF26DEA1B28FEF4D14BDD79E09 /* cssInjector.js in Resources */, + FAC233F982F8EFB8E3756765130C7E86 /* epub-bridge.js in Resources */, + B046157E158F5007FEE392248BCD8958 /* epub-fixed-layout.html in Resources */, + 1DB81C96DECA3EA86E684FDFC455BC99 /* rangy-core.js in Resources */, + 5EA17AB66DED3DEA869892B405532AA5 /* rangy-serializer.js in Resources */, + 470D2E4CC17A8476AC02D0722EDB4A06 /* WeReadApi.js in Resources */, + FD2B3FFE0537B404F125D52E427656F7 /* wxread-dark.css in Resources */, + 086DECAFE37C874CC113939B3975F050 /* wxread-default.css in Resources */, + 4F5A9468D6EF04461C0D88C280B8E612 /* wxread-replace.css in Resources */, + 645D97B60D192E03B1E6CE815D0C4993 /* wxread-replace-latin.css in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 17369C011D8091758B5785F8D4AF3ECE /* Sources */ = { + 05B32DE4A2DC0D7DBDE0FEB934FDE325 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DD40130323B1DB9C6E49E62DB3331C84 /* Constraint.swift in Sources */, + F6EF136D0692E6BB2A4DD353BBE087A6 /* ConstraintAttributes.swift in Sources */, + F3C4810CDCDD24DEE133CDA58D3E1BA1 /* ConstraintConfig.swift in Sources */, + 44230B956950447FCC95409353B144D6 /* ConstraintConstantTarget.swift in Sources */, + F9A9F53735B557D43DA34CE2C6633487 /* ConstraintDescription.swift in Sources */, + 9FC423D93426E6C714CACDC409724680 /* ConstraintDirectionalInsets.swift in Sources */, + DEB31971FC44CD931993B99C133253DB /* ConstraintDirectionalInsetTarget.swift in Sources */, + 9A98899B17D91D8B6E53828E20B59CD8 /* ConstraintDSL.swift in Sources */, + 963A45D1CC40D33B936D5AB4617663C5 /* ConstraintInsets.swift in Sources */, + 4B6AEB58DD352B2EB9E06BC05DE9E445 /* ConstraintInsetTarget.swift in Sources */, + AFBDB7B4F175558FAE949940E77BF58B /* ConstraintItem.swift in Sources */, + 6737AEEB39B7390668851AB1EE13625C /* ConstraintLayoutGuide.swift in Sources */, + 28B4FFE28AF14453D0304228A1098976 /* ConstraintLayoutGuide+Extensions.swift in Sources */, + EC72A5041C35D2E2BDC88BD0F4AAA1D8 /* ConstraintLayoutGuideDSL.swift in Sources */, + 7F2B86814F5EC458502C4A7435C947B8 /* ConstraintLayoutSupport.swift in Sources */, + A4F8B77D66749B2C3BCBBCD4EAFB7E6E /* ConstraintLayoutSupportDSL.swift in Sources */, + DFF2D1D600DF7473CB641F1AB2A23285 /* ConstraintMaker.swift in Sources */, + 3F98B1ACAB5E4CCC73EB9F6AE68EF2E2 /* ConstraintMakerEditable.swift in Sources */, + 3622D1C93678D58CFE7DFA62836B9791 /* ConstraintMakerExtendable.swift in Sources */, + 472A3A8FBD9F8EE3CB029ED34FC97316 /* ConstraintMakerFinalizable.swift in Sources */, + B8ABC2D7E9C59307D9536EFD4AE38092 /* ConstraintMakerPrioritizable.swift in Sources */, + 4ED6B7B24B4A4D92FF4DB42E232BD11F /* ConstraintMakerRelatable.swift in Sources */, + DFD6FC1B365E03135D258D93713FF241 /* ConstraintMakerRelatable+Extensions.swift in Sources */, + E0ABB422ED1A18357B68238BAC24475A /* ConstraintMultiplierTarget.swift in Sources */, + AC1276373DB6EE30DD913E711DB1B64D /* ConstraintOffsetTarget.swift in Sources */, + BB23F31F9A27622CC382112797C3B9BB /* ConstraintPriority.swift in Sources */, + 9BFB3D1FE731A6145C05A18F12A7E6BB /* ConstraintPriorityTarget.swift in Sources */, + 5B8418E922DC554A1FD1A66EBF2EEB68 /* ConstraintRelatableTarget.swift in Sources */, + F96A515F90572975689E0523047B2982 /* ConstraintRelation.swift in Sources */, + A1717AB04D06E5731CC366B4DBCDC7D1 /* ConstraintView.swift in Sources */, + DEAD34EA1E4151D88E3AC56AD31C2288 /* ConstraintView+Extensions.swift in Sources */, + B41B63EC313D9A2E9B8769B2D841246E /* ConstraintViewDSL.swift in Sources */, + 338F1FE0580F133E3758CC8BAF5357EE /* Debugging.swift in Sources */, + A06D1EE97F1BF8811B25754DEA0D724A /* LayoutConstraint.swift in Sources */, + 16891BE748B9101E2DBD2EBC488EF70D /* LayoutConstraintItem.swift in Sources */, + B4F5ADBBABFC562811010A5024D328A0 /* SnapKit-dummy.m in Sources */, + CB493F3CB084E44E32C0818196E19688 /* Typealiases.swift in Sources */, + D05D0649ED85EA25A4590676A37D368B /* UILayoutSupport+Extensions.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 08AEB14849D2FE26135A7021716AC752 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 2569210201D48992A7ECE5A8C49D82FC /* Sources */ = { + 12A7FF9C01175E2D59415FD3757BB8E1 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6D893C2900F7DE1C4FD1790FFDDCE585 /* Constraint.swift in Sources */, - C96A2A5DFFCFA753C0A7558F62717D2D /* ConstraintAttributes.swift in Sources */, - 5DB252F686F6F535F3B531EF2E60692E /* ConstraintConfig.swift in Sources */, - 3EEA60E7A6E77DE25289208233488561 /* ConstraintConstantTarget.swift in Sources */, - DA4000DFBE1DD93EA927F26438A55DEE /* ConstraintDescription.swift in Sources */, - 0F1AA1FAA83F6E2D90B456429F5158AB /* ConstraintDirectionalInsets.swift in Sources */, - 9AE3623ACABFA3CF97A614D014EAFBD7 /* ConstraintDirectionalInsetTarget.swift in Sources */, - ABA0A65005939E1FB82E3B3A4F091C78 /* ConstraintDSL.swift in Sources */, - 93406FECB9741694A5C3664D2482F7D5 /* ConstraintInsets.swift in Sources */, - 860423ACC47AD21DE09C56F055DB5F28 /* ConstraintInsetTarget.swift in Sources */, - 408741E5F917D3C08E31E4AD1A6136F7 /* ConstraintItem.swift in Sources */, - B653D862AF128CEEDFD71129AE620A7D /* ConstraintLayoutGuide.swift in Sources */, - 3274F7034696EA627A4C0F934FB1D3B0 /* ConstraintLayoutGuide+Extensions.swift in Sources */, - 9C78E8CD41D34DF80AC196077012CFD7 /* ConstraintLayoutGuideDSL.swift in Sources */, - 48371ADBC5383DCCBE6E3F92DD59C6B1 /* ConstraintLayoutSupport.swift in Sources */, - F92EA25D82E65C4BE170A66D429F3B5A /* ConstraintLayoutSupportDSL.swift in Sources */, - 4550FCF88CC84EA71FA0A7AF67CC2B22 /* ConstraintMaker.swift in Sources */, - 43910F0EBE4E629A3479D75EFF08FE3F /* ConstraintMakerEditable.swift in Sources */, - 35F11E46B2193B801E96CE6CDDD4AE21 /* ConstraintMakerExtendable.swift in Sources */, - A6E152416030ADA9833117FB49E6C6A5 /* ConstraintMakerFinalizable.swift in Sources */, - 0F3D7B798A409948DBC4C48F8B673679 /* ConstraintMakerPrioritizable.swift in Sources */, - 821407D633CEB7380F5CDDADF41FCA04 /* ConstraintMakerRelatable.swift in Sources */, - 76F2DA473044593E8D856BBF41323120 /* ConstraintMakerRelatable+Extensions.swift in Sources */, - 2B0A0DE404D9534B91E22A587F11C05F /* ConstraintMultiplierTarget.swift in Sources */, - E630FEF41AB35A857F55864A56BDE8E8 /* ConstraintOffsetTarget.swift in Sources */, - A950B0683A4FD6CE58A10B2357AD603D /* ConstraintPriority.swift in Sources */, - 099BC8C8BFDA73D3998298527ACD794B /* ConstraintPriorityTarget.swift in Sources */, - A295FBBCF3BEA4000036E0415ED6C9EB /* ConstraintRelatableTarget.swift in Sources */, - C3700FAB589DC03A0A08C41B115C52AF /* ConstraintRelation.swift in Sources */, - 8983E7159E23700FEE6FCACD5E2305CB /* ConstraintView.swift in Sources */, - 4BDE693D22EC8242C611167E4B09D538 /* ConstraintView+Extensions.swift in Sources */, - 3F7362665348377483660CCEE7E5A72E /* ConstraintViewDSL.swift in Sources */, - E2D6AF839C0B606034F40459920DA24A /* Debugging.swift in Sources */, - 5D775F2253E759A5B5FDA63EDD10E725 /* LayoutConstraint.swift in Sources */, - 2BF71A220115480610FCD909D3F0C500 /* LayoutConstraintItem.swift in Sources */, - 9C672E99DC82792E146EB7630466CD20 /* SnapKit-dummy.m in Sources */, - D39500A78C93625973C27E090B69D956 /* Typealiases.swift in Sources */, - 6359AC2D2AA5C85B22CDBF3B961FEFB1 /* UILayoutSupport+Extensions.swift in Sources */, + B569D140D2081DC5CB679C76B9A59D31 /* SSAlertAnimation.swift in Sources */, + AC394A4F88A939496BA35B58D7A9AF60 /* SSAlertAnimationController.swift in Sources */, + C10C35A4FE4BD298128320C6B803DF2E /* SSAlertCommonView.swift in Sources */, + 60C97E8E3DE0DF8F7B1171204D6987D4 /* SSAlertDefaultAnmation.swift in Sources */, + B6E2BA209314399178624F4BB75B6BF3 /* SSAlertPresentAnimation.swift in Sources */, + B34386ECFE1FD097081B233BEA360811 /* SSAlertSwift-dummy.m in Sources */, + AEF4A9D944B36340568C4F4C80239285 /* SSAlertView.swift in Sources */, + 9C687B198C7B274021B0D88CE552B822 /* SSAlertViewExtention.swift in Sources */, + AA861F2531D132B34AC33FCACBFDF239 /* UIViewFrameExtension.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 38EEEC488914A9E2838C8A2B024B68AE /* Sources */ = { + 266851EA8A1D3AEA611BF2D9CDCFC465 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4B4850CFF64032221BB0C2FBEFB7DD3E /* RDEPUBAnnotationModels.swift in Sources */, - 79156E23F0DE0D8314A7ED2C74EF5181 /* RDEPUBAssetRepository.swift in Sources */, - 3F431D135B47DE178B3D4D4E737B3F8E /* RDEPUBAttachmentNormalizer.swift in Sources */, - 2D22916B3ADAA9CF78AF3CC5F40F2E9F /* RDEPUBBackgroundTrace.swift in Sources */, - 6C874FE3A64F7F50F191A64CC2BD543F /* RDEPUBBookPageMap.swift in Sources */, - B4A84796AE5BF4ED6A1D644618A332D6 /* RDEPUBBuildDiagnosticsReporter.swift in Sources */, - 67525230780E71D60797BD57F84ACCD2 /* RDEPUBChapterCacheKey.swift in Sources */, - 3EC3CB613530B751AEB30443E1C5EEEE /* RDEPUBChapterData.swift in Sources */, - 93332352A5035E9337BEAF6373EA737F /* RDEPUBChapterDataCache.swift in Sources */, - 04E3B722AA4ACECD835F6FEAB7127684 /* RDEPUBChapterLoader.swift in Sources */, - E8452D0B6E2745B0A8BA84317F01D75D /* RDEPUBChapterLocation.swift in Sources */, - 8DE4A90F3D321F46BC078221EED31311 /* RDEPUBChapterOffsetMap.swift in Sources */, - A13DAFC3F7B4C05DCC4AF5A3FE472CC9 /* RDEPUBChapterPageCounter.swift in Sources */, - AF1180FE77173DEED2AD3291BC152E1A /* RDEPUBChapterRuntimeStore.swift in Sources */, - 88FD881543DD17A4D489DA24B1D82159 /* RDEPUBChapterSummaryDiskCache.swift in Sources */, - 8D7778083E1F47B55C1F8D00620B3D68 /* RDEPUBChapterTailNormalizer.swift in Sources */, - A8766359A57A5265AA4477967BC2D372 /* RDEPUBChapterWindowCoordinator.swift in Sources */, - 446C758763501BB1E1EC07D962A7294E /* RDEPUBChapterWindowSnapshot.swift in Sources */, - D712A797298A0126776AD6F485C7C224 /* RDEPUBCoreTextPageFrameFactory.swift in Sources */, - B505DF10D47ED5D2EE65BAE5B5BF335A /* RDEPUBDTCoreTextRenderer.swift in Sources */, - 528A1DE513701F24FD9B98742CB19706 /* RDEPUBFixedLayoutTemplate.swift in Sources */, - 845CDFFCE815068C10FD4AF0B4E15CA5 /* RDEPUBFontNormalizer.swift in Sources */, - 4DF5649A365CA463B70B022CBC72E8D3 /* RDEPUBFragmentMarkerInjector.swift in Sources */, - FFBA4341534F87364A2EC11AD286397D /* RDEPUBHTMLNormalizer.swift in Sources */, - 98A96688CD654BD1ECB83A4A6C35B2B5 /* RDEPUBJavaScriptBridge.swift in Sources */, - AEF232AD2E90CAD431398B4472B54BC5 /* RDEPUBModels.swift in Sources */, - 3E9CF41E75FE8F0F6DF4616796C901D5 /* RDEPUBNavigatorLayoutContext.swift in Sources */, - 8E3F03542AF48E8F627484F74E43F273 /* RDEPUBNavigatorState.swift in Sources */, - AA4167676147564A6AC27274F160C86B /* RDEPUBPageBreakPolicy.swift in Sources */, - 28E0E06D8E8774BE8861C32B9B48A80E /* RDEPUBPageCountCache.swift in Sources */, - C83D41DE82AB76091B97114C28172D19 /* RDEPUBPageInteractionController.swift in Sources */, - E352C433119E17F8C66192B46BF51C46 /* RDEPUBPageLayoutSnapshot.swift in Sources */, - 8F7D7DA246BD92907ECFF3E15567C653 /* RDEPUBPageResolver.swift in Sources */, - 5DC5386A66481FFAFAC58DA005F1B5FA /* RDEPUBPaginationCacheCoordinator.swift in Sources */, - 56921F586FA68A02088A7BFFB1B05319 /* RDEPUBPaginationModels.swift in Sources */, - 23159E3216F7755E8557DFDB8356B687 /* RDEPUBPaginator.swift in Sources */, - F13680D7C98C3D63DE4E1C48BB0D6629 /* RDEPUBParser.swift in Sources */, - 8731ED44361D023F68447864DF243AD8 /* RDEPUBParser+Archive.swift in Sources */, - D738CA9F50C3937A49E911CD58A59262 /* RDEPUBParser+Package.swift in Sources */, - DF0CD02EC4C094F4454701FBC1D7B1AF /* RDEPUBParser+ReadingProfile.swift in Sources */, - A6A0B209CBE2DB0BF38825BB49D9BD40 /* RDEPUBParser+Resources.swift in Sources */, - 10B2910F50DB63ED86D443844344308C /* RDEPUBParser+TOC.swift in Sources */, - EECBE7DEC22B34CA111F62AD9A487313 /* RDEPUBPreferences.swift in Sources */, - E3044B1AAB959E23ECFADBAC78250AF2 /* RDEPUBPublication.swift in Sources */, - 400BA5D4228B97F4DE8199A4CABFFDFA /* RDEPUBReaderAnnotationCoordinator.swift in Sources */, - 7E829421D4AD915E8A629AEE18B1DB39 /* RDEPUBReaderAssemblyCoordinator.swift in Sources */, - 888BAA8B73F1BCC006F04CED9B65A90F /* RDEPUBReaderBottomToolView.swift in Sources */, - F02A297AAA5834EC31C5206E18F15E7A /* RDEPUBReaderChapterListController.swift in Sources */, - D3F314D751A10537FC13519B351B2E04 /* RDEPUBReaderChromeCoordinator.swift in Sources */, - 9EA52F173814DF82FFAC811892158AF7 /* RDEPUBReaderConfiguration.swift in Sources */, - 674070237CC3D006DF6EB1F445C16362 /* RDEPUBReaderContext.swift in Sources */, - CDC18A86DDAEC766C5C19B8C5E9C95B1 /* RDEPUBReaderController.swift in Sources */, - 763BC0C9739190951DED594259EBCBD1 /* RDEPUBReaderController+ContentDelegates.swift in Sources */, - 546FA40FF62C090A815E63274A47A36C /* RDEPUBReaderController+DataSource.swift in Sources */, - B8B8E917005BED05B7FFDB7A6F7FB2B9 /* RDEPUBReaderController+PublicAPI.swift in Sources */, - C20DE912EC839E6C24E6986FD8BB54BF /* RDEPUBReaderController+RenderSupport.swift in Sources */, - 4204DDCF94EF5E57BDB32A10B8EC1BBD /* RDEPUBReaderController+RuntimeBridge.swift in Sources */, - 1BEC1F32A7BA4DD1B31433C0A2F5B493 /* RDEPUBReaderController+TableOfContents.swift in Sources */, - AF39816C18685EDACE0933D4A2FFDDCA /* RDEPUBReaderDelegate.swift in Sources */, - E1100C64BC2685999DCD2A291413C52B /* RDEPUBReaderDependencies.swift in Sources */, - 6D6C04E917D89FF0D1B06C07134A7FB4 /* RDEPUBReaderHighlightsViewController.swift in Sources */, - 0FAF20971B1067BD7F3005D2442D2A62 /* RDEPUBReaderLoadCoordinator.swift in Sources */, - 80BF3AEB1634D591238DA13EFCEB9100 /* RDEPUBReaderLocationCoordinator.swift in Sources */, - 609C3002E7FFCE826AEFFCE8805CDB49 /* RDEPUBReaderPaginationCoordinator.swift in Sources */, - 3D6535403367C804D54FFD001A77E284 /* RDEPUBReaderPersistence.swift in Sources */, - F5763770B3C5C71AECB56DCE794CACF6 /* RDEPUBReaderRuntime.swift in Sources */, - 7C2330640C0E4A460D045292C6CBC7A3 /* RDEPUBReaderSearchBarView.swift in Sources */, - E10E5848ED673CF04502FEED81F1B0D7 /* RDEPUBReaderSearchCoordinator.swift in Sources */, - DE6F45CCE420BC18B98C151A8E83BC6D /* RDEPUBReaderSettings.swift in Sources */, - C681A4D2502FBF00BF6CE3D0947B032B /* RDEPUBReaderSettingsViewController.swift in Sources */, - 99B5F1A7842B8564F8082C29DD139E50 /* RDEPUBReaderTableOfContentsItem.swift in Sources */, - 9EB7F99A75B6651DCCEC63A716AA543B /* RDEPUBReaderTheme.swift in Sources */, - D0B50C95B7602E93C6813B56F9909F3A /* RDEPUBReaderToolView.swift in Sources */, - 9446AB65083BF63454F0BC79597D7A70 /* RDEPUBReaderTopToolView.swift in Sources */, - 5B38E03FBC5FA066303609D347C9406B /* RDEPUBReaderUIState.swift in Sources */, - 5FE984F0E5484F951ADC5A6918DAE7CA /* RDEPUBReaderViewportMonitor.swift in Sources */, - 021C7AEF8B20CD2494A1DB2BD22D0ABA /* RDEPUBReadingLocationModels.swift in Sources */, - 627E8C3508550607CB5A183DFA7CBEF1 /* RDEPUBReadingSession.swift in Sources */, - AAF33DBF3EDE2E462850017949EB0A59 /* RDEPUBRenderDiagnosticsCollector.swift in Sources */, - CA7AD3BB11AECE506ADDF8C25F279904 /* RDEPUBRenderRequest.swift in Sources */, - 684C12A054C3831A1E74B0C9EEE7AE33 /* RDEPUBResourceResolver.swift in Sources */, - 7D692EFA1ED7DF2CE3E867BCE6926A28 /* RDEPUBResourceURLSchemeHandler.swift in Sources */, - 71D5FDB9307694CB527C67D15D30157D /* RDEPUBRuntimeChapter.swift in Sources */, - 9F9C7582F35DDD1AFB5AB289D5BCA7D5 /* RDEPUBRuntimePageCount.swift in Sources */, - 2D2EA7C7CEEE4FDB9B6E4E55D4C16B12 /* RDEPUBSearchEngine.swift in Sources */, - ACB17BD54175BC3B98AC1175481E6AED /* RDEPUBSearchModels.swift in Sources */, - 42761D3507E4C730BDBDDA969D0BD369 /* RDEPUBSelectionOverlayView.swift in Sources */, - C38BA41ED0310D484DE9BC50683409A1 /* RDEPUBSelectionState.swift in Sources */, - 394F47614B158E6EB298F25D0B17E289 /* RDEPUBSemanticMarkerInjector.swift in Sources */, - A337239791E84EF6E8715CBCE689637C /* RDEPUBStyleSheetBuilder.swift in Sources */, - 4DEA8CEF63598961120FBE983CD3E18B /* RDEPUBStyleSheetComposer.swift in Sources */, - 0BBE0292EC0E79F1D9548CDA1C22F2D8 /* RDEPUBTextAnchor.swift in Sources */, - 7C0F477270950490612CFDFD2463B894 /* RDEPUBTextAnnotationOverlay.swift in Sources */, - 7934ABD31F35415F9A2C8276676A6648 /* RDEPUBTextBookBuilder.swift in Sources */, - 3ECDB3138484C8DD487C06D90F3764DB /* RDEPUBTextBookCache.swift in Sources */, - B510C7A442F6FE2E206976EFFAC000FD /* RDEPUBTextBookModels.swift in Sources */, - CA67E186452744CFE975CDC8CF75640F /* RDEPUBTextBuildPipelineInterfaces.swift in Sources */, - C80A0D159BF6BC3D103A63B0302293B9 /* RDEPUBTextContentView.swift in Sources */, - CC63E1E8EA43990861286233CB21034A /* RDEPUBTextIndexTable.swift in Sources */, - E8A8019AA3033E666C0E67B6C6C4DAF3 /* RDEPUBTextLayouter.swift in Sources */, - 42D25E859E8E34B7837070F521533223 /* RDEPUBTextLayoutFrame.swift in Sources */, - 95F7823641FEAB9FDCC40C27199DAAAB /* RDEPUBTextPageDecorationView.swift in Sources */, - E50DB2DE7D674E6FBFB6D4AF5255A84F /* RDEPUBTextPageRenderView.swift in Sources */, - 00B5E59F71F71A71B769FD3DDBDAF965 /* RDEPUBTextPaginationInterfaces.swift in Sources */, - 6EAC401461BC8CFFC1A85021F3EAAB00 /* RDEPUBTextPaginationSupport.swift in Sources */, - F14DD745C5ED6624BDAA23CF1C7AA23B /* RDEPUBTextPerformanceSampler.swift in Sources */, - 742187DFE94AAB5DF65DCCDFFB9A2519 /* RDEPUBTextPositionConverter.swift in Sources */, - 8706619D1EE7AD70C069BFA14EAAC295 /* RDEPUBTextRenderer.swift in Sources */, - A8D8E9F0F2486DA5E8B6BB91285E23ED /* RDEPUBTextRendererSupport.swift in Sources */, - 9C0255A17E35943423E7D7AB969AC7F6 /* RDEPUBTextSearchEngine.swift in Sources */, - 016371375864889F69517D55CDA3A266 /* RDEPUBTextSelectionController.swift in Sources */, - A01919793CF5504D2A234FCFEF12B961 /* RDEPUBTypesettingPipeline.swift in Sources */, - 91740868C9193AB08E7FA6E1330B8DAA /* RDEPUBViewportTypes.swift in Sources */, - 9BC6941C2AFB6676D1D700EA2F6C96F3 /* RDEPUBWebContentView.swift in Sources */, - 7A8499BDE42C8ABC4739C5BAEDA0C3A7 /* RDEPUBWebDecorationOverlayView.swift in Sources */, - B9F653EC455154C78DE01B878E886926 /* RDEPUBWebView.swift in Sources */, - 9C3E94E23AE8C0AD6111BCF14AEC76D8 /* RDEPUBWebView+Configuration.swift in Sources */, - 25DA73F3FE71BA016BE8F3673C677DCC /* RDEPUBWebView+FixedLayout.swift in Sources */, - 0A8A60254CCFFFB540A977E422004D68 /* RDEPUBWebView+JavaScriptBridge.swift in Sources */, - 9B5B3177B11F60D56864D6B23599A1A4 /* RDEPUBWebView+Reflowable.swift in Sources */, - 9AF5A960FC572176D3B411E21E5C15E3 /* RDEPUBWebView+Search.swift in Sources */, - F3A9470F157B110967AB1544A7BD0DCB /* RDEPUBWebViewDebug.swift in Sources */, - 043A2E9478F84524117CC70002023DFF /* RDPlainTextBookBuilder.swift in Sources */, - C6D061E40B11A03C582F08F0FE658A7B /* RDReaderContentCell.swift in Sources */, - 086DCEC7AEBFD0464283CCEFAF12ADF0 /* RDReaderFlowLayout.swift in Sources */, - 3F59AAA6847628B5D101968C5B0FC0E2 /* RDReaderGestureController.swift in Sources */, - 7492D552569049B3C77F482254C81141 /* RDReaderPageChildViewController.swift in Sources */, - 6A8605EAC81CC09EC9AD3FA8D5CBCB76 /* RDReaderPagingController.swift in Sources */, - E6BC4DC52C8602301A04EEBC41A7C54D /* RDReaderPreloadController.swift in Sources */, - 12C9A6EB078364B73087AFBC96A8AAF9 /* RDReaderSpreadResolver.swift in Sources */, - 8C1D391880A42513665477B22E50398E /* RDReaderTapRegionHandler.swift in Sources */, - 8A1237A80B1E82607F28B0B7FEC62AA7 /* RDReaderView.swift in Sources */, - 1BE56F06EBF770B5C5CC88E777A185DE /* RDReaderView+CollectionView.swift in Sources */, - 55DA9AC6E71D27CF7C8D4FE3A247BD0B /* RDReaderView+ContentAccess.swift in Sources */, - 6AD0EA5E10820A6B99B38A511DEF6F12 /* RDReaderView+PageCurl.swift in Sources */, - 43DB7BD38DD98A921E1886DFB837B388 /* RDReaderView+ToolView.swift in Sources */, - B6FF3D1C24E6AF28D71A0CD7F5F18189 /* RDReaderView-dummy.m in Sources */, - 630146BD032D6366A273E5F74C33A863 /* RDReaderViewProtocols.swift in Sources */, - 3F47CD5028C4FAFCB02D90173FD7BE13 /* RDURLReaderController.swift in Sources */, - 0E4376280494B1718140645948A07E24 /* String+SHA256.swift in Sources */, - 31FC7230D5C6B0306855EE5087D0A26F /* UIColor+RDEPUBHex.swift in Sources */, + 46ACB3029B34F481C3DE8D326278EF49 /* Archive.swift in Sources */, + B89AF5B3F00ACEB88D047C88ADABAC06 /* Archive+BackingConfiguration.swift in Sources */, + 8DE39AC070F10E5FECDF25723E06E489 /* Archive+Deprecated.swift in Sources */, + E93CBD8B79512AF76D20DBF91F3DEACB /* Archive+Helpers.swift in Sources */, + 54C09554363B7B8FCF83EE13235D0037 /* Archive+MemoryFile.swift in Sources */, + 43E3C4589483B489530A15208FA728FA /* Archive+Progress.swift in Sources */, + E28ABB93568001E4FA628B8426739566 /* Archive+Reading.swift in Sources */, + 14953B202719ED3B8D453538B157D30C /* Archive+ReadingDeprecated.swift in Sources */, + 05B8F433F5D69DFEE4D0D0E9ACE340D4 /* Archive+Writing.swift in Sources */, + 973C75365B02D67DF77D2E09E919F355 /* Archive+WritingDeprecated.swift in Sources */, + EA5742B1F01F5307224F1DDB1DA0A9D1 /* Archive+ZIP64.swift in Sources */, + 7931B0AB0072FAA95862E72CED7E0D63 /* Data+Compression.swift in Sources */, + 4BFB9E8E45AC0FBFB79996EDDDC0850D /* Data+CompressionDeprecated.swift in Sources */, + 9F0B894DA9E724263A1000BC2273462E /* Data+Serialization.swift in Sources */, + C705D2A215045CB49ECBDBFF68648F05 /* Date+ZIP.swift in Sources */, + 68CD6EDE8FBF100463A8488D60380E84 /* Entry.swift in Sources */, + A209F85E46FA6EAC01760093A64979C5 /* Entry+Serialization.swift in Sources */, + 060BA3B7CAB416C40931FCC1DC50CB30 /* Entry+ZIP64.swift in Sources */, + 3AFDB01E2D2ED96582828398CF4E9962 /* FileManager+ZIP.swift in Sources */, + C3497E4AF5FEE829E82CF9A68C8EC1AF /* FileManager+ZIPDeprecated.swift in Sources */, + 6EF500FA22D37754C747B4CD4EACFB08 /* URL+ZIP.swift in Sources */, + E56663D673A0580AF5FF20BD23EB1ED0 /* ZIPFoundation-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 404DE8BB8ADE877FE966E92F9757E95C /* Sources */ = { + 28DC3DDBA965A6D50CF6F11CC8F661AA /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 095FEA4761F0931E859306E016FE9D46 /* Archive.swift in Sources */, - DC16500BB2DC867D159E2B4795FD2E00 /* Archive+BackingConfiguration.swift in Sources */, - 87C52B306599974254236AC5016E4AAD /* Archive+Deprecated.swift in Sources */, - 567A0978AA797E4385F13B23465F3585 /* Archive+Helpers.swift in Sources */, - 855F8BD571BD8EB0F5E7756AC2413C40 /* Archive+MemoryFile.swift in Sources */, - D9619B2333335421D6BAEE499C684389 /* Archive+Progress.swift in Sources */, - 5B268BA451F57A14CBB953F3CC488566 /* Archive+Reading.swift in Sources */, - 4135416AE5B0306A47A967018A2CB7B8 /* Archive+ReadingDeprecated.swift in Sources */, - 03646B79FE3DB509B26BEF05E4E7C31F /* Archive+Writing.swift in Sources */, - 5E82688424A62DA1557419401D47B340 /* Archive+WritingDeprecated.swift in Sources */, - 99EED2CEABDAD89BA879A10A967AF73C /* Archive+ZIP64.swift in Sources */, - DF811FAAD2A380EF8C303151A273183A /* Data+Compression.swift in Sources */, - 4B2FDE4A4976B62F9FCE6CE8BC1AEE94 /* Data+CompressionDeprecated.swift in Sources */, - AED36CEE168D0B0F38E9278A6072D11D /* Data+Serialization.swift in Sources */, - DC9D87AC6D207651A205478E4595A360 /* Date+ZIP.swift in Sources */, - C35E6F015F735469B32D4B64F92B06EF /* Entry.swift in Sources */, - 8A8C466E9265295CFB7A9BC165D2F6C4 /* Entry+Serialization.swift in Sources */, - C94D3CDEE5621CEE53D409852A4882BD /* Entry+ZIP64.swift in Sources */, - B01557AA9F0C45612AE1C7ADB1CCE4FC /* FileManager+ZIP.swift in Sources */, - 014E4415B0D09135065AC238E6414DEA /* FileManager+ZIPDeprecated.swift in Sources */, - 28402E474AD3C0223488D3AF7C0D159B /* URL+ZIP.swift in Sources */, - F4FB9D77B89F3CE38F95B2B9C8BDC780 /* ZIPFoundation-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2B6D384D5C1AD6F10985533A49A1B0E7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 469BFED338CC717E7B25A4406EAD7308 /* DTActivityTitleView.m in Sources */, + 5C456CE564B63EE8AEA30705BA0F5E67 /* DTAnimatedGIF.m in Sources */, + A7821E7152DEE99EC2AFCE9DF2511DCF /* DTBase64Coding.m in Sources */, + 594E56DD98781FDDC95B32C8631A5636 /* DTBlockFunctions.m in Sources */, + 99F602CEE33726381C9ECFA62FE7525F /* DTCoreGraphicsUtils.m in Sources */, + A652A9423D3F355160B1A3EA368619F5 /* DTCustomColoredAccessory.m in Sources */, + A32C70C9AC620B10A79AA6CAA57F9135 /* DTExtendedFileAttributes.m in Sources */, + 8651AC4F4148ADBE75A2AD0D5BE12E4F /* DTFolderMonitor.m in Sources */, + D1FD25C9E84185D4321E07C1C5524380 /* DTFoundation-dummy.m in Sources */, + 406AD712B8FA6E4CA9876AFEC47B5F93 /* DTFoundationConstants.m in Sources */, + 12C7BA6E0B0B700F758D2DD86EA7206F /* DTHTMLParser.m in Sources */, + A15312392C608D1A0D7474FB76E9A245 /* DTLog.m in Sources */, + 4A0449729E31C28DEDA7DE46BF69DF9D /* DTPieProgressIndicator.m in Sources */, + 481C3E135E2218875952CD52E00B5F95 /* DTSmartPagingScrollView.m in Sources */, + CF400C75FB94C9E3FC26159A1B46A40F /* DTTiledLayerWithoutFade.m in Sources */, + C8E4717CAEE0B206EBA902A3D91CD5F0 /* DTVersion.m in Sources */, + 5AD60F3E5F1CFF6567EEA5B3DC92169D /* NSArray+DTError.m in Sources */, + BBDE992F64A82641F7F2C2798264397B /* NSData+DTCrypto.m in Sources */, + 699FBFB1283440D2C4071DE8686E93DA /* NSDictionary+DTError.m in Sources */, + 0BDCF66C84113704DC9612E40F4C76FC /* NSFileWrapper+DTCopying.m in Sources */, + 7290778C48CE5533AED6D7599DDCB951 /* NSMutableArray+DTMoving.m in Sources */, + 45C760CE9EAF6275AA23165230D5F52B /* NSString+DTFormatNumbers.m in Sources */, + 7749A70CBB8EC685E26F6975ADD6112A /* NSString+DTPaths.m in Sources */, + 8E25685BE7D70B6589BAA925E690201A /* NSString+DTURLEncoding.m in Sources */, + B2CAB0922C3690D1F347B0C706D4EFFE /* NSString+DTUtilities.m in Sources */, + 5A0ACFE6C3D089D377FC032E8EA6EC5A /* NSURL+DTAppLinks.m in Sources */, + B6F6D87CC7D6C022B3FA1C51A0579488 /* NSURL+DTComparing.m in Sources */, + 24AB43701EC32A2748D231619D0F5AB1 /* NSURL+DTUnshorten.m in Sources */, + 1F0C03D6D765C52240DB9951D0353FF5 /* UIApplication+DTNetworkActivity.m in Sources */, + E0A1FE06CF1B311DBA5FD528E7C81EE2 /* UIImage+DTFoundation.m in Sources */, + 7F42340708BD02B0350DE3A3E6F73512 /* UIScreen+DTFoundation.m in Sources */, + F1E885A6A59A11249968D78B86283C2F /* UIView+DTFoundation.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2725,76 +2651,166 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 98DB2E7FF91A6985191703CBEB926865 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5A8E43AB3D398143BB25F39B222A18FE /* SSAlertAnimation.swift in Sources */, - 54B7A61A6E6A76A14DD71273E5E6B101 /* SSAlertAnimationController.swift in Sources */, - DBC2DD8B83F5404F00CC1481D2FA70ED /* SSAlertCommonView.swift in Sources */, - E3EB2F12234336BBC7BD786BF4B15EA8 /* SSAlertDefaultAnmation.swift in Sources */, - 0D1F6D0CA56ABD2B42038C4088FB5BB5 /* SSAlertPresentAnimation.swift in Sources */, - ADA3C68B75F77F86802CE889179486CD /* SSAlertSwift-dummy.m in Sources */, - 6F774A3E91C081DC41C567F7673AB0C2 /* SSAlertView.swift in Sources */, - 5636D02C578B36C6C52095DEEE012662 /* SSAlertViewExtention.swift in Sources */, - 24A4EC565C31C36075596144B8F44299 /* UIViewFrameExtension.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B2F045F25878E43023D094161DD9F5B6 /* Sources */ = { + 79FC6ED25DA86C6FDAF9F9A4C415674A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - B81ADB90CEB0C2BC5C3A5EB71B740B22 /* Sources */ = { + 9BE3CAF29BA15DCCF57A49EC56EDA1F5 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9753446AFAFB2D5206BC3815BC726AC7 /* DTActivityTitleView.m in Sources */, - 0DD55F7F8057B47C6B71DDD3EFDBBFEA /* DTAnimatedGIF.m in Sources */, - 52978358028473BE63B6B1F6AA20675C /* DTBase64Coding.m in Sources */, - FFF409F0205F1745B8B3AC89917F07A3 /* DTBlockFunctions.m in Sources */, - E052221C319BA638FAA2C82325694B42 /* DTCoreGraphicsUtils.m in Sources */, - 14EAF9CBECC154CC00AACDD3224EC979 /* DTCustomColoredAccessory.m in Sources */, - F9DBAFE16D14195BDCFBAAC4FDE3CFD4 /* DTExtendedFileAttributes.m in Sources */, - 1446BE1A7579119303BE0FE7D371DA14 /* DTFolderMonitor.m in Sources */, - 31FFF99A325707F94A86A18AA48FF162 /* DTFoundation-dummy.m in Sources */, - 567FA56050A61292B9224271986EF937 /* DTFoundationConstants.m in Sources */, - 6E71A9CA46078CFBC110C52B11389A4B /* DTHTMLParser.m in Sources */, - CFA89FA29A6C84CD39425D4D1C97F8C2 /* DTLog.m in Sources */, - EB1183B3D404746EBC0FB8949E816BA4 /* DTPieProgressIndicator.m in Sources */, - A4E30E61CCDF03F8ABBCA6E261A9158A /* DTSmartPagingScrollView.m in Sources */, - FBE148A72A9BB6C0E85F0AADDF975FB8 /* DTTiledLayerWithoutFade.m in Sources */, - D67FD0F33281FD59AEDE6A35DEDCCA80 /* DTVersion.m in Sources */, - 6B95FC01A9B50EC9A6276642AF561CE2 /* NSArray+DTError.m in Sources */, - 9CEF7F2CF595080103EEE04A25BED20D /* NSData+DTCrypto.m in Sources */, - 16F6ACFCF57F6DAC2706790DA7242E9A /* NSDictionary+DTError.m in Sources */, - EE5DD52AC6049A014EB83D27D68F8A0E /* NSFileWrapper+DTCopying.m in Sources */, - 7234AF3FEE44D88C2FA4B78EB30391F1 /* NSMutableArray+DTMoving.m in Sources */, - 07A7ADAEF645213B401323F269E7CC56 /* NSString+DTFormatNumbers.m in Sources */, - A625C258A5EB2D38A3B9160DD77FDD8E /* NSString+DTPaths.m in Sources */, - E0FE3B76A6ABF85CFED6D5E8E98E7CD4 /* NSString+DTURLEncoding.m in Sources */, - E048208FDCFDEAEF6DBB9B40DB89D77A /* NSString+DTUtilities.m in Sources */, - 9C0E5A978B5A27AC8C09ED68B9764422 /* NSURL+DTAppLinks.m in Sources */, - 96207BE20EB66606E46D23F61D098367 /* NSURL+DTComparing.m in Sources */, - 970824C814CB8C9FBEC8916A75542AF3 /* NSURL+DTUnshorten.m in Sources */, - 5D9E814BF6DF6BCE6842249F8A93DBC2 /* UIApplication+DTNetworkActivity.m in Sources */, - DAD3AB7B9072C8C4A948BBFF1EBE45B0 /* UIImage+DTFoundation.m in Sources */, - 3C037B1C09894A3F5F84B3496DD6849A /* UIScreen+DTFoundation.m in Sources */, - 172F60ACE858151BB15425047802D38F /* UIView+DTFoundation.m in Sources */, + 62086351D7E24BAE8B8B717898042B47 /* RDEPUBAnnotationModels.swift in Sources */, + F92F65303DB7B1212462B012E3D013D3 /* RDEPUBAssetRepository.swift in Sources */, + 507457591771749BC61AF56355237298 /* RDEPUBAttachmentNormalizer.swift in Sources */, + A8C8B1400CA17D7B67EFBE1D771AC3E0 /* RDEPUBBackgroundCoverageStore.swift in Sources */, + D2F74114810152D25E809456D3EC28BB /* RDEPUBBackgroundPriorityPolicy.swift in Sources */, + 47EADACA81A4155CB21586A889B8FAC1 /* RDEPUBBackgroundTrace.swift in Sources */, + 7F9386E48B8F3EF4744CB135364F0218 /* RDEPUBBookPageMap.swift in Sources */, + 91E6BB91FDEFECB2CA8A94274379420A /* RDEPUBBuildDiagnosticsReporter.swift in Sources */, + 15DD394E86B856AEAB88F4431F819BF0 /* RDEPUBChapterCacheKey.swift in Sources */, + D507E5FA0E3ABA47647888A7ADF20840 /* RDEPUBChapterData.swift in Sources */, + 8BEB73C0513F92250C772583C28C2957 /* RDEPUBChapterDataCache.swift in Sources */, + 27A1D145C4FA4D7F606F4CABBBD33B08 /* RDEPUBChapterLoader.swift in Sources */, + A20B52887B7BB8E64DFD11AD5FC6029D /* RDEPUBChapterLocation.swift in Sources */, + AB30A75597AA4A37455F88C231C94D1F /* RDEPUBChapterOffsetMap.swift in Sources */, + 039A07AE61D8E6BE89328F14616266F2 /* RDEPUBChapterPageCounter.swift in Sources */, + 5AC0EC349142E7ADDDA278EB4A531654 /* RDEPUBChapterRuntimeStore.swift in Sources */, + E021A22FE5E76F9F6120E83E612B1D71 /* RDEPUBChapterSummaryDiskCache.swift in Sources */, + 2561A1553E1F3E3C8419EC68E011266B /* RDEPUBChapterTailNormalizer.swift in Sources */, + EFE9F0265EFD02DF225E1805FA9F4518 /* RDEPUBChapterWindowCoordinator.swift in Sources */, + 07DF9AAB6FDCE1B1F0DB1C21FE05B768 /* RDEPUBChapterWindowSnapshot.swift in Sources */, + 1341BBCD7D1FDC9681CB1D1FD725F6CD /* RDEPUBCoreTextPageFrameFactory.swift in Sources */, + 50A7E46C5387CA7A64E174BA2765D911 /* RDEPUBDTCoreTextRenderer.swift in Sources */, + 93EC8299D7CCAD3D327482DB722A5AE0 /* RDEPUBFixedLayoutTemplate.swift in Sources */, + E6E885612E534E5588F29D61D16B2EAB /* RDEPUBFontNormalizer.swift in Sources */, + 7965C75B909AF800768135E005C44224 /* RDEPUBFragmentMarkerInjector.swift in Sources */, + 6E7622C1044CFF3DC79083DD18E90311 /* RDEPUBHTMLNormalizer.swift in Sources */, + 98B68BB0025F0CEDADBD1D8EFAF00458 /* RDEPUBJavaScriptBridge.swift in Sources */, + ECCAB9A7742B6D40C5507B52FD164720 /* RDEPUBJumpSession.swift in Sources */, + 17ADF36DA66DDAC4C2324867EB7F85FF /* RDEPUBModels.swift in Sources */, + 0510EB4A1F661EF0DE7F348193216DE2 /* RDEPUBNavigatorLayoutContext.swift in Sources */, + 2B4B930D6139C36CBA32A05C30E51AE1 /* RDEPUBNavigatorState.swift in Sources */, + 24605DDEAE1B9B7B0385C5CD32650F71 /* RDEPUBPageBreakPolicy.swift in Sources */, + BD46E4B9002B187812F34828B35CD159 /* RDEPUBPageCountCache.swift in Sources */, + 4AC9528828AF051526A802739E394356 /* RDEPUBPageInteractionController.swift in Sources */, + 6F8AED725F620E2290F5BED989E0927E /* RDEPUBPageLayoutSnapshot.swift in Sources */, + A673136E5EE8BF905516EC9ECDC1C017 /* RDEPUBPageMapReconciliationCoordinator.swift in Sources */, + 8ED87933365AEE6791AB7B33E763102F /* RDEPUBPageResolver.swift in Sources */, + F77E92486FE3A442BF67DB90B3178BFB /* RDEPUBPaginationCacheCoordinator.swift in Sources */, + 7394298A931BF672760EDFCBD67D0A83 /* RDEPUBPaginationModels.swift in Sources */, + 06F802D5F25FC664C1B5C51EB8C6BD07 /* RDEPUBPaginator.swift in Sources */, + 634FFD4AA99D011466E3C0C20148E452 /* RDEPUBParser.swift in Sources */, + FA4F8D0F44FBE5402A0695B94AA8DF66 /* RDEPUBParser+Archive.swift in Sources */, + F8D29CA70DF93B8E78D11570F63C640E /* RDEPUBParser+Package.swift in Sources */, + CB69CD4E31418E858D37059AEABF1AFB /* RDEPUBParser+ReadingProfile.swift in Sources */, + 0DC93A25C10B071D54C769C8C4EEE522 /* RDEPUBParser+Resources.swift in Sources */, + 46B415F27B2F32F800632A0B879CBFEE /* RDEPUBParser+TOC.swift in Sources */, + 4A36DBA301A6AE36B5068E61E9E77DD6 /* RDEPUBPreferences.swift in Sources */, + AF7F29259539B4CC09B43A31AE0FF7F4 /* RDEPUBPublication.swift in Sources */, + 17E69CB4B083A63E0950B5C9413F01E1 /* RDEPUBReaderAnnotationCoordinator.swift in Sources */, + D29B54FD57FC8ED959A8BF36161C5738 /* RDEPUBReaderAssemblyCoordinator.swift in Sources */, + F0F4FE421C107564D3D00625AD023DE9 /* RDEPUBReaderBottomToolView.swift in Sources */, + 24B72B19ABEEEFFDBDE15DA965691F48 /* RDEPUBReaderChapterListController.swift in Sources */, + 4C6015293EAE1720C63FAEBB6F3A6965 /* RDEPUBReaderChromeCoordinator.swift in Sources */, + 23B52CB23CE19B6530999A4FA8CF5D93 /* RDEPUBReaderConfiguration.swift in Sources */, + DCA6DEB9434AD18A42299B853DE6D56F /* RDEPUBReaderContext.swift in Sources */, + AEE1BCD03A8DDCBA17685C1332C3E87C /* RDEPUBReaderController.swift in Sources */, + 864156A1D04CDA7A8FBFBC3552658475 /* RDEPUBReaderController+ContentDelegates.swift in Sources */, + 078B0EE74858C94D30C02FE178BCC359 /* RDEPUBReaderController+DataSource.swift in Sources */, + D41ADE23CCD8140AB17CE7694707D363 /* RDEPUBReaderController+PublicAPI.swift in Sources */, + 1C822BED16E2DA5C8E037D571A807075 /* RDEPUBReaderController+RenderSupport.swift in Sources */, + 13B55F44248C0AEB362FB7A83BFB2588 /* RDEPUBReaderController+RuntimeBridge.swift in Sources */, + 06021FBB79036F673DE3F21177FBCD4D /* RDEPUBReaderController+TableOfContents.swift in Sources */, + B1443C4F8CAA64D4E69C48EE92A3B053 /* RDEPUBReaderDelegate.swift in Sources */, + B4878E00C0E06F2A171046AEABB884EB /* RDEPUBReaderDependencies.swift in Sources */, + A321012219C79907282A8397452E1926 /* RDEPUBReaderHighlightsViewController.swift in Sources */, + B7319DD2EB53857515688EF0E0ABF54D /* RDEPUBReaderLoadCoordinator.swift in Sources */, + 5488E8952CDAEC89E99E07B35C287915 /* RDEPUBReaderLocationCoordinator.swift in Sources */, + 2570D3A1414965613DD7D30DEC39FF1F /* RDEPUBReaderPaginationCoordinator.swift in Sources */, + 319383385BA7AA224724C1ED91963D98 /* RDEPUBReaderPersistence.swift in Sources */, + 2C5C76DDDFF915EB25F3AD17ECEF00CF /* RDEPUBReaderRuntime.swift in Sources */, + 391317C97F41EEB7FEAF91FCCE73AAA0 /* RDEPUBReaderSearchBarView.swift in Sources */, + BDE6A8A648D0B12EFA10E782252D2A37 /* RDEPUBReaderSearchCoordinator.swift in Sources */, + D1177CFE4C910FFBCA1FE22E74123F91 /* RDEPUBReaderSettings.swift in Sources */, + 1B9A29E504F88960435EF3DC388D853B /* RDEPUBReaderSettingsViewController.swift in Sources */, + 172999B9803BB7D51BB093313631F47F /* RDEPUBReaderTableOfContentsItem.swift in Sources */, + D869F4BCE049F3849E5252A085CFF49B /* RDEPUBReaderTheme.swift in Sources */, + 64023053EC8C615ADD043885C4ED31C0 /* RDEPUBReaderToolView.swift in Sources */, + 05C2D5A49B2A310669809B9CE664D0CB /* RDEPUBReaderTopToolView.swift in Sources */, + 9A41DCEFBC25EF8DC7033B5FA00F1459 /* RDEPUBReaderUIState.swift in Sources */, + 8C18F20B76E0D2794D8B357A0E3EE424 /* RDEPUBReaderViewportMonitor.swift in Sources */, + F05B8B559C6291AC05DE684D1394E22D /* RDEPUBReadingLocationModels.swift in Sources */, + 68F3F408E7F4407BAC07CB9C635B5D8D /* RDEPUBReadingSession.swift in Sources */, + 34AE02830E9A5B9E604E16497B1F070D /* RDEPUBRenderDiagnosticsCollector.swift in Sources */, + 694502D96A68BA19CB2C0A5EDCF4B3A6 /* RDEPUBRenderRequest.swift in Sources */, + 761EB64898AFA3EDDC029C688F25E2FD /* RDEPUBResourceResolver.swift in Sources */, + 7A705DA59A5F6C2F4E5375C05440A49D /* RDEPUBResourceURLSchemeHandler.swift in Sources */, + 1CE20B388039B9E19FCB9B81D4762449 /* RDEPUBRuntimeChapter.swift in Sources */, + 10FEED041E5F0C13CB9FA6DE97D8AD65 /* RDEPUBRuntimePageCount.swift in Sources */, + 0B6A62E6E1A454F5A38EB54E474FBD62 /* RDEPUBSearchEngine.swift in Sources */, + C1A38A3ED8A2E28B9B1781F2D2E62A6E /* RDEPUBSearchModels.swift in Sources */, + D00F5069ED3A848CE13FA1FEC04D9CE3 /* RDEPUBSelectionOverlayView.swift in Sources */, + 53EE1D71C6CEDEA214C2219555278288 /* RDEPUBSelectionState.swift in Sources */, + B6C4123AF936F6A79D440D0F8DA487BE /* RDEPUBSemanticMarkerInjector.swift in Sources */, + 341254003D9E842A025326C4F4D0046F /* RDEPUBStyleSheetBuilder.swift in Sources */, + 04E669E25EDB1D987A6AF77670175501 /* RDEPUBStyleSheetComposer.swift in Sources */, + 2BD2A0F5E7AC94F6287E3D518692E070 /* RDEPUBTextAnchor.swift in Sources */, + 4252191CD162621576A78F5CF20D4A44 /* RDEPUBTextAnnotationOverlay.swift in Sources */, + 72221B8A3D1BF94380D0AF4CE0CF9F5D /* RDEPUBTextBookBuilder.swift in Sources */, + CEC874E966AE9F0D115A2C9F6AB54EA1 /* RDEPUBTextBookCache.swift in Sources */, + A75DAED61AE271F17227D687C15CB057 /* RDEPUBTextBookModels.swift in Sources */, + 5DF55B5721E1E1F64D828EFDE28270B4 /* RDEPUBTextBuildPipelineInterfaces.swift in Sources */, + B1FBB6E6199752C0F7C5A34D7F996CAD /* RDEPUBTextContentView.swift in Sources */, + 1376B391EE2DAC15C51B577E8CD308FC /* RDEPUBTextIndexTable.swift in Sources */, + C5C844C310516F415FEC580EC0B6EC24 /* RDEPUBTextLayouter.swift in Sources */, + F923BE1E0FEEC5B4855659BA723F3A5F /* RDEPUBTextLayoutFrame.swift in Sources */, + E73CBEC532E9BF4B55A9BF46738A1CC3 /* RDEPUBTextPageDecorationView.swift in Sources */, + B5B48BA3ECA2CA354C62024DDEBA3264 /* RDEPUBTextPageRenderView.swift in Sources */, + 7476A5367406DBE00B5611741C5950B1 /* RDEPUBTextPaginationInterfaces.swift in Sources */, + 2425D96926061F33C08E3F00BDC5B89D /* RDEPUBTextPaginationSupport.swift in Sources */, + 230D2253DF0310C8D076839AA64F54C1 /* RDEPUBTextPerformanceSampler.swift in Sources */, + 40A903562A5539FAFAEE58C3B381AEEE /* RDEPUBTextPositionConverter.swift in Sources */, + 18B845E1910A3623D7A531715AB8C80C /* RDEPUBTextRenderer.swift in Sources */, + CC43F333E28DD02BC5017181C70A3083 /* RDEPUBTextRendererSupport.swift in Sources */, + 675FC045BD9C4AE15B530F704D3C4A72 /* RDEPUBTextSearchEngine.swift in Sources */, + 3D3E81196EDDEF4CD3A4F1C46EF58C5E /* RDEPUBTextSelectionController.swift in Sources */, + F1D766088240F7FC8E8DC238E8282EFD /* RDEPUBTypesettingPipeline.swift in Sources */, + 5601369368E868D69B705183DE4101ED /* RDEPUBViewportTypes.swift in Sources */, + 225F371596E314143B4402CBE955C5E1 /* RDEPUBWebContentView.swift in Sources */, + 09A43C279AC62F0065AEFF8F31011E7C /* RDEPUBWebDecorationOverlayView.swift in Sources */, + 8E9CF624791ED95F5AB6A329602F519E /* RDEPUBWebView.swift in Sources */, + 90D4F74230B11F702CF6B22B1FFC5A23 /* RDEPUBWebView+Configuration.swift in Sources */, + D0AEDBE9DB112CB4E2CEC99B46EDAB9A /* RDEPUBWebView+FixedLayout.swift in Sources */, + 755D8AB78AB4E573742BF160AF539C7E /* RDEPUBWebView+JavaScriptBridge.swift in Sources */, + 66C0B37407F4475757025358BA42D2D8 /* RDEPUBWebView+Reflowable.swift in Sources */, + 88A1391C7E5655BBD9113498412B2384 /* RDEPUBWebView+Search.swift in Sources */, + 516241695A672334493D3B0D99B6010B /* RDEPUBWebViewDebug.swift in Sources */, + 8AE9A81F8964843028782F43C297BB84 /* RDPlainTextBookBuilder.swift in Sources */, + 6D5734C2EF55B566E786C43317332707 /* RDReaderContentCell.swift in Sources */, + F97CAE0BADA95FF5879FBC0C69AEFB3C /* RDReaderFlowLayout.swift in Sources */, + 9767951740272AF7CB5BE2755E94EC0A /* RDReaderGestureController.swift in Sources */, + 578EB2DC9EBD93DA53DF93A4D4480682 /* RDReaderPageChildViewController.swift in Sources */, + 31182360171CEBCCADDF817513E877FC /* RDReaderPagingController.swift in Sources */, + 5A61A41FA3C5B67141BE067CD16F088D /* RDReaderPreloadController.swift in Sources */, + 20F3F475347D964A32DE431B9F8FDEEB /* RDReaderSpreadResolver.swift in Sources */, + 8D1C62DEA7293ED3C7BBCA7A57D812C6 /* RDReaderTapRegionHandler.swift in Sources */, + C23DC14A561904638784644016AFB440 /* RDReaderView.swift in Sources */, + C1B3E55D5A02FDE11B5303BB1031F84B /* RDReaderView+CollectionView.swift in Sources */, + 20DCE7668A8A52B3EC784C639277E8F2 /* RDReaderView+ContentAccess.swift in Sources */, + 2436B5F35E48F05243E89FF28DBF4CEA /* RDReaderView+PageCurl.swift in Sources */, + C748361C693CDA618130A80C0806B61B /* RDReaderView+ToolView.swift in Sources */, + 1F255314E3DC82F4A2810DF311A34F52 /* RDReaderView-dummy.m in Sources */, + BB813B54B56560BC1CC52E124A4A423A /* RDReaderViewProtocols.swift in Sources */, + 62E3F3801E84F81EA9B1C3C5D81E4863 /* RDURLReaderController.swift in Sources */, + 7EE8A02180B5BDABFD562BBDF5BFE2D8 /* String+SHA256.swift in Sources */, + 7B3E5F95580F4336491A7AC45C37B576 /* UIColor+RDEPUBHex.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - C678DB2A4FF718D88509B50CA13D74CC /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D14625340E2861C36773F9C4484DFD0C /* Sources */ = { + B061313E173E75F30DB79EB576746971 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -2873,103 +2889,104 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 13585C5584DA3266D4A24DDD9B31AD55 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DTCoreText; - target = B88F4EA0695B6B3165C64594850D72C7 /* DTCoreText */; - targetProxy = F0FA44D7E63FF42A6C497438761F3B77 /* PBXContainerItemProxy */; - }; - 197FB2078B81A644D08043561984F27E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SSAlertSwift; - target = 8619D5ADECF2B26CFD9A9826D61D289A /* SSAlertSwift */; - targetProxy = A3F5D978334155622A97BB4625069CA1 /* PBXContainerItemProxy */; - }; - 1C6859C15073631D07C87D6EC04462FF /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "RDReaderView-RDReaderViewAssets"; - target = AE7F393FB7805DE2664AB4111873F907 /* RDReaderView-RDReaderViewAssets */; - targetProxy = DD757D1119D7FD9CFB9803BB8F180DF0 /* PBXContainerItemProxy */; - }; - 2E712D8870E5EBCA7A222177E8449AC1 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DTFoundation; - target = 8F6E5A5BF72D62CDFD25F91A7CFA3309 /* DTFoundation */; - targetProxy = E21CAAA5EA7C676E5E305C3B1B88D982 /* PBXContainerItemProxy */; - }; - 416BC3E008F2609A8E86854EE28106CB /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DTCoreText; - target = B88F4EA0695B6B3165C64594850D72C7 /* DTCoreText */; - targetProxy = A9CA67AE9091496AECCD25CE058E0EB4 /* PBXContainerItemProxy */; - }; - 52F662FBC328D9ABFA736CA337E4A2F7 /* PBXTargetDependency */ = { + 03FC951E2835A26BF91018AE8F6EC9CD /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = ZIPFoundation; target = AA15C8469D67684160CC2A7098EB841C /* ZIPFoundation */; - targetProxy = A51E17C7DB24793DA4AD107C12EC554D /* PBXContainerItemProxy */; + targetProxy = D1BC8B325004AFC12170055839DE78D0 /* PBXContainerItemProxy */; }; - 6B7F8F8E9BA38033F75DB22067DAB719 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SSAlertSwift; - target = 8619D5ADECF2B26CFD9A9826D61D289A /* SSAlertSwift */; - targetProxy = 2CDE2C5C25B94E29D0E991B83FCC525D /* PBXContainerItemProxy */; - }; - 7128F364EDA5D95565A3FF0D037494D5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "ZIPFoundation-ZIPFoundation_Privacy"; - target = C7A8D82E407CD3FDC3BA55CEE519B252 /* ZIPFoundation-ZIPFoundation_Privacy */; - targetProxy = DE06E9EC48201B0A1486D4E40137598D /* PBXContainerItemProxy */; - }; - 7700CDB869DDB5BC16AA1C5083D98C45 /* PBXTargetDependency */ = { + 0CA7B9B91B963019A4C7D5BD0F568D1F /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = RDReaderView; target = AA2E57587AA8EECA63C4BE08EA3CB6D2 /* RDReaderView */; - targetProxy = D2195D28B2165E92956DD46A264456AF /* PBXContainerItemProxy */; + targetProxy = FFC668469606BEE5A237A9A6D0DEE949 /* PBXContainerItemProxy */; }; - 77D3AA74C59602B92A392CFC63E44F0F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "SnapKit-SnapKit_Privacy"; - target = 8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */; - targetProxy = AAA9B1811E0CF13CD7ED2D08F75A4F29 /* PBXContainerItemProxy */; - }; - 784AD7740EFFD4E78D74D0A50F443EDA /* PBXTargetDependency */ = { + 38FB89E50589C58CF326DED7A2B7A07F /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = DTFoundation; target = 8F6E5A5BF72D62CDFD25F91A7CFA3309 /* DTFoundation */; - targetProxy = 1C5F512837ED73C03A0016C6C71019B6 /* PBXContainerItemProxy */; + targetProxy = 13D9E9A94FD1325CAC1CFD60805D64B7 /* PBXContainerItemProxy */; }; - 822DBE9158133460AC8B0C1416FDE89E /* PBXTargetDependency */ = { + 405E1AD46635A66EF80B80A3744A9B1B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SnapKit; - target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */; - targetProxy = AB7EFADB0158CA56FA326C1085D102D9 /* PBXContainerItemProxy */; + name = SSAlertSwift; + target = 8619D5ADECF2B26CFD9A9826D61D289A /* SSAlertSwift */; + targetProxy = 84D9B791E38F2BE90DAFF7ACED264FDB /* PBXContainerItemProxy */; }; - 8936F65F83E1ABA1DAA238BBE1C90C5F /* PBXTargetDependency */ = { + 41E1EFC407033EDEC7512BC404F33752 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "DTCoreText-Resources"; target = 0C24CB0E87A728A11AA1124CB360D6A1 /* DTCoreText-Resources */; - targetProxy = 29937A7B398A9C3E1C58905655B3DB1E /* PBXContainerItemProxy */; + targetProxy = 6C7094030E1F1AC1D97DC4CE9C771A49 /* PBXContainerItemProxy */; }; - 9CA227E3922F0FB7F722ACCF43CF24E8 /* PBXTargetDependency */ = { + 570FA46BBB50CDECBA43A5D08673BEBB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DTCoreText; + target = B88F4EA0695B6B3165C64594850D72C7 /* DTCoreText */; + targetProxy = D5253D97C9ABA80BBCEC278A3939E1E3 /* PBXContainerItemProxy */; + }; + 5C225A36DF4190990EDF02BF568A8FD2 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = ZIPFoundation; target = AA15C8469D67684160CC2A7098EB841C /* ZIPFoundation */; - targetProxy = 5DE91FF74FCD48024A2680A11AA59C68 /* PBXContainerItemProxy */; + targetProxy = DA677D79826B314708419F096BF3BD2E /* PBXContainerItemProxy */; }; - CAB448101F2C74E72C200BE40545771B /* PBXTargetDependency */ = { + 7A4A433719D07C1BFB840CE93F0EC99F /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SnapKit; target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */; - targetProxy = 2074E58B021F8317A9C99BF7BA77373D /* PBXContainerItemProxy */; + targetProxy = 778858D9DA88CCA53B08AEFAB08BB7AF /* PBXContainerItemProxy */; + }; + 8721DC9BE13491BC4A83C7B0CA27E079 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SnapKit; + target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */; + targetProxy = 5E7A96C6641E9DAA16C1DDBD1C163CF1 /* PBXContainerItemProxy */; + }; + 8828E4136FC6275A29348682D2F3025B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DTFoundation; + target = 8F6E5A5BF72D62CDFD25F91A7CFA3309 /* DTFoundation */; + targetProxy = F0C593685E4EFE69A46840FB4B7FE0FD /* PBXContainerItemProxy */; + }; + 933CDC85F3C0C30B230759CFC5FA98BE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "SnapKit-SnapKit_Privacy"; + target = 8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */; + targetProxy = 2F537898891B57E986DFA5534AF5D8CD /* PBXContainerItemProxy */; + }; + A2A7992508D710C444AB6184145BBA6E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SSAlertSwift; + target = 8619D5ADECF2B26CFD9A9826D61D289A /* SSAlertSwift */; + targetProxy = FB3963EBF3B42B665C3E8C800F3EC3BC /* PBXContainerItemProxy */; + }; + DD16636AA1A857011172B10612BDACB5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "RDReaderView-RDReaderViewAssets"; + target = AE7F393FB7805DE2664AB4111873F907 /* RDReaderView-RDReaderViewAssets */; + targetProxy = AC900AD8475F59F683242BEA4FF1E4A7 /* PBXContainerItemProxy */; + }; + F52433FCC6201C52C513A41A13DE9482 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DTCoreText; + target = B88F4EA0695B6B3165C64594850D72C7 /* DTCoreText */; + targetProxy = 576720A52A82D4860272A84EEB91FF49 /* PBXContainerItemProxy */; + }; + F8974AE5EB8874954374C4339A872BA7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "ZIPFoundation-ZIPFoundation_Privacy"; + target = C7A8D82E407CD3FDC3BA55CEE519B252 /* ZIPFoundation-ZIPFoundation_Privacy */; + targetProxy = 7C5541F329575EAB4B95511F6C47E1C1 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 06C978693AF79C8163C013B909FF6880 /* Release */ = { + 07D107F44880F7AA6FF1097E4FE2BB57 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FE2991699D0391172DEADF2F4613E320 /* SSAlertSwift.release.xcconfig */; + baseConfigurationReference = DF670EC438F05ACC1F1C7B725DBDAA18 /* DTFoundation.release.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2980,9 +2997,9 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_MODULE_VERIFIER = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_PREFIX_HEADER = "Target Support Files/SSAlertSwift/SSAlertSwift-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/DTFoundation/DTFoundation-prefix.pch"; GENERATE_INFOPLIST_FILE = NO; - INFOPLIST_FILE = "Target Support Files/SSAlertSwift/SSAlertSwift-Info.plist"; + INFOPLIST_FILE = "Target Support Files/DTFoundation/DTFoundation-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( @@ -2990,9 +3007,9 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MODULEMAP_FILE = "Target Support Files/SSAlertSwift/SSAlertSwift.modulemap"; - PRODUCT_MODULE_NAME = SSAlertSwift; - PRODUCT_NAME = SSAlertSwift; + MODULEMAP_FILE = "Target Support Files/DTFoundation/DTFoundation.modulemap"; + PRODUCT_MODULE_NAME = DTFoundation; + PRODUCT_NAME = DTFoundation; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -3005,10 +3022,29 @@ }; name = Release; }; - 0A3320760CDB1EE16ADC2DDB1E5ABF31 /* Debug */ = { + 0A033243CB0D4524251FBBCA0929F03F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 18387159515E0523AFB4204B1AF940ED /* SSAlertSwift.debug.xcconfig */; + baseConfigurationReference = C2840BE6D91479CCBC2E908FBD9DA183 /* DTCoreText.release.xcconfig */; buildSettings = { + CODE_SIGNING_ALLOWED = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DTCoreText"; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + IBSC_MODULE = DTCoreText; + INFOPLIST_FILE = "Target Support Files/DTCoreText/ResourceBundle-Resources-DTCoreText-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + PRODUCT_NAME = Resources; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; + 0BA1B7D278F51244DEDF8A9611BE7FB0 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6014DA7213E4687224F2BF921E30002C /* DTFoundation.debug.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -3019,9 +3055,9 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_MODULE_VERIFIER = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_PREFIX_HEADER = "Target Support Files/SSAlertSwift/SSAlertSwift-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/DTFoundation/DTFoundation-prefix.pch"; GENERATE_INFOPLIST_FILE = NO; - INFOPLIST_FILE = "Target Support Files/SSAlertSwift/SSAlertSwift-Info.plist"; + INFOPLIST_FILE = "Target Support Files/DTFoundation/DTFoundation-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( @@ -3029,9 +3065,9 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MODULEMAP_FILE = "Target Support Files/SSAlertSwift/SSAlertSwift.modulemap"; - PRODUCT_MODULE_NAME = SSAlertSwift; - PRODUCT_NAME = SSAlertSwift; + MODULEMAP_FILE = "Target Support Files/DTFoundation/DTFoundation.modulemap"; + PRODUCT_MODULE_NAME = DTFoundation; + PRODUCT_NAME = DTFoundation; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -3083,9 +3119,48 @@ }; name = Release; }; - 1D8CFC223CA5C3F8046ACDB2299C8C9C /* Debug */ = { + 0FB974B4F91E77A2CEC5897F5EC730A3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C960B7AA0B9B8CC473FACFEC64F9906D /* SnapKit.debug.xcconfig */; + baseConfigurationReference = FE2991699D0391172DEADF2F4613E320 /* SSAlertSwift.release.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = NO; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_PREFIX_HEADER = "Target Support Files/SSAlertSwift/SSAlertSwift-prefix.pch"; + GENERATE_INFOPLIST_FILE = NO; + INFOPLIST_FILE = "Target Support Files/SSAlertSwift/SSAlertSwift-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULEMAP_FILE = "Target Support Files/SSAlertSwift/SSAlertSwift.modulemap"; + PRODUCT_MODULE_NAME = SSAlertSwift; + PRODUCT_NAME = SSAlertSwift; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_INSTALL_OBJC_HEADER = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 117F31AC770D84CCB792E5DDFA184755 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 53D2AB2348A9B9C582FDC2CDB2E434FC /* SnapKit.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3117,165 +3192,12 @@ SWIFT_INSTALL_OBJC_HEADER = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 1DB154855B1112DB6C33ADE407C07DA5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DF670EC438F05ACC1F1C7B725DBDAA18 /* DTFoundation.release.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = NO; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_PREFIX_HEADER = "Target Support Files/DTFoundation/DTFoundation-prefix.pch"; - GENERATE_INFOPLIST_FILE = NO; - INFOPLIST_FILE = "Target Support Files/DTFoundation/DTFoundation-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/DTFoundation/DTFoundation.modulemap"; - PRODUCT_MODULE_NAME = DTFoundation; - PRODUCT_NAME = DTFoundation; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_INSTALL_OBJC_HEADER = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 240E5FE10CED2E96C91D9366A84A6E19 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 4BEC60CB3EDA1C189D3B062E29217440 /* ZIPFoundation.debug.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = NO; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_PREFIX_HEADER = "Target Support Files/ZIPFoundation/ZIPFoundation-prefix.pch"; - GENERATE_INFOPLIST_FILE = NO; - INFOPLIST_FILE = "Target Support Files/ZIPFoundation/ZIPFoundation-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/ZIPFoundation/ZIPFoundation.modulemap"; - PRODUCT_MODULE_NAME = ZIPFoundation; - PRODUCT_NAME = ZIPFoundation; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_INSTALL_OBJC_HEADER = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 35E3BD51E582481D9C568BFF064AC051 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = F699881ABDBEB419AEBA661AD5A21F35 /* ZIPFoundation.release.xcconfig */; - buildSettings = { - CODE_SIGNING_ALLOWED = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/ZIPFoundation"; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - IBSC_MODULE = ZIPFoundation; - INFOPLIST_FILE = "Target Support Files/ZIPFoundation/ResourceBundle-ZIPFoundation_Privacy-ZIPFoundation-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; - PRODUCT_NAME = ZIPFoundation_Privacy; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; - 3612CA8B78C271E39F158A37A6388244 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 2940F45AAC94F45A257576176011B6A4 /* RDReaderView.release.xcconfig */; - buildSettings = { - CODE_SIGNING_ALLOWED = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/RDReaderView"; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - IBSC_MODULE = RDReaderView; - INFOPLIST_FILE = "Target Support Files/RDReaderView/ResourceBundle-RDReaderViewAssets-RDReaderView-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; - PRODUCT_NAME = RDReaderViewAssets; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; - 388B95820F9ADA93341B7ED00A7B8A6F /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6014DA7213E4687224F2BF921E30002C /* DTFoundation.debug.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = NO; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_PREFIX_HEADER = "Target Support Files/DTFoundation/DTFoundation-prefix.pch"; - GENERATE_INFOPLIST_FILE = NO; - INFOPLIST_FILE = "Target Support Files/DTFoundation/DTFoundation-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/DTFoundation/DTFoundation.modulemap"; - PRODUCT_MODULE_NAME = DTFoundation; - PRODUCT_NAME = DTFoundation; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_INSTALL_OBJC_HEADER = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; 44A4B2FB6211B90C1949A44A381F6D1F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -3339,11 +3261,64 @@ }; name = Release; }; - 524D9B863153923A6945F0E35F7EEF37 /* Release */ = { + 456B0131F8693D541765A0DB75AFF57E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F699881ABDBEB419AEBA661AD5A21F35 /* ZIPFoundation.release.xcconfig */; + baseConfigurationReference = 4BEC60CB3EDA1C189D3B062E29217440 /* ZIPFoundation.debug.xcconfig */; + buildSettings = { + CODE_SIGNING_ALLOWED = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/ZIPFoundation"; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + IBSC_MODULE = ZIPFoundation; + INFOPLIST_FILE = "Target Support Files/ZIPFoundation/ResourceBundle-ZIPFoundation_Privacy-ZIPFoundation-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + PRODUCT_NAME = ZIPFoundation_Privacy; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Debug; + }; + 64A3020AE4D1012C9C4CF06B7891B56E /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3867F0F0A2292C20B5E5F8A564133F59 /* RDReaderView.debug.xcconfig */; + buildSettings = { + CODE_SIGNING_ALLOWED = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/RDReaderView"; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + IBSC_MODULE = RDReaderView; + INFOPLIST_FILE = "Target Support Files/RDReaderView/ResourceBundle-RDReaderViewAssets-RDReaderView-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + PRODUCT_NAME = RDReaderViewAssets; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Debug; + }; + 67F4FEBABB9E3BA0A8C5A5C1BB529136 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2940F45AAC94F45A257576176011B6A4 /* RDReaderView.release.xcconfig */; + buildSettings = { + CODE_SIGNING_ALLOWED = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/RDReaderView"; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + IBSC_MODULE = RDReaderView; + INFOPLIST_FILE = "Target Support Files/RDReaderView/ResourceBundle-RDReaderViewAssets-RDReaderView-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + PRODUCT_NAME = RDReaderViewAssets; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; + 6B10C78BD942E1A40E9AD00E8E3107F8 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 18387159515E0523AFB4204B1AF940ED /* SSAlertSwift.debug.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -3354,9 +3329,9 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_MODULE_VERIFIER = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_PREFIX_HEADER = "Target Support Files/ZIPFoundation/ZIPFoundation-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/SSAlertSwift/SSAlertSwift-prefix.pch"; GENERATE_INFOPLIST_FILE = NO; - INFOPLIST_FILE = "Target Support Files/ZIPFoundation/ZIPFoundation-Info.plist"; + INFOPLIST_FILE = "Target Support Files/SSAlertSwift/SSAlertSwift-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( @@ -3364,20 +3339,19 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MODULEMAP_FILE = "Target Support Files/ZIPFoundation/ZIPFoundation.modulemap"; - PRODUCT_MODULE_NAME = ZIPFoundation; - PRODUCT_NAME = ZIPFoundation; + MODULEMAP_FILE = "Target Support Files/SSAlertSwift/SSAlertSwift.modulemap"; + PRODUCT_MODULE_NAME = SSAlertSwift; + PRODUCT_NAME = SSAlertSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_INSTALL_OBJC_HEADER = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 73BBB08AD96AC1A6A095E15ADC5FCEE1 /* Debug */ = { isa = XCBuildConfiguration; @@ -3418,7 +3392,7 @@ }; name = Debug; }; - 83688406F27077A29FAC5187A607100A /* Debug */ = { + 8F571DE8986083953DC88C409A702B1C /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 3867F0F0A2292C20B5E5F8A564133F59 /* RDReaderView.debug.xcconfig */; buildSettings = { @@ -3457,42 +3431,6 @@ }; name = Debug; }; - 8FF6C5389A72B553C7D344092E315A18 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 4BEC60CB3EDA1C189D3B062E29217440 /* ZIPFoundation.debug.xcconfig */; - buildSettings = { - CODE_SIGNING_ALLOWED = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/ZIPFoundation"; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - IBSC_MODULE = ZIPFoundation; - INFOPLIST_FILE = "Target Support Files/ZIPFoundation/ResourceBundle-ZIPFoundation_Privacy-ZIPFoundation-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; - PRODUCT_NAME = ZIPFoundation_Privacy; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - 91E2E7825CD3C7BEE81E7524E4709460 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C2840BE6D91479CCBC2E908FBD9DA183 /* DTCoreText.release.xcconfig */; - buildSettings = { - CODE_SIGNING_ALLOWED = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DTCoreText"; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - IBSC_MODULE = DTCoreText; - INFOPLIST_FILE = "Target Support Files/DTCoreText/ResourceBundle-Resources-DTCoreText-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; - PRODUCT_NAME = Resources; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; A0DC1C2C814704734F83EAB35BB20B21 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -3600,6 +3538,46 @@ }; name = Release; }; + A4AA92015DC6CE2433DD70076DB66BC6 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F699881ABDBEB419AEBA661AD5A21F35 /* ZIPFoundation.release.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = NO; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_PREFIX_HEADER = "Target Support Files/ZIPFoundation/ZIPFoundation-prefix.pch"; + GENERATE_INFOPLIST_FILE = NO; + INFOPLIST_FILE = "Target Support Files/ZIPFoundation/ZIPFoundation-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULEMAP_FILE = "Target Support Files/ZIPFoundation/ZIPFoundation.modulemap"; + PRODUCT_MODULE_NAME = ZIPFoundation; + PRODUCT_NAME = ZIPFoundation; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_INSTALL_OBJC_HEADER = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; A843E21C1B95C92BE904EB3F8115DD30 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 78873FAFC0AD9E930D6050A7F976714B /* DTCoreText.debug.xcconfig */; @@ -3639,7 +3617,100 @@ }; name = Debug; }; - A906B39116AB6E78E68CD880304D1D19 /* Release */ = { + AFA75EEDA8F62D67889AF35C7A5ED81B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 53D2AB2348A9B9C582FDC2CDB2E434FC /* SnapKit.release.xcconfig */; + buildSettings = { + CODE_SIGNING_ALLOWED = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SnapKit"; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + IBSC_MODULE = SnapKit; + INFOPLIST_FILE = "Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + PRODUCT_NAME = SnapKit_Privacy; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; + BA90B355AFFCE9A3249BB2C0E817E758 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 78873FAFC0AD9E930D6050A7F976714B /* DTCoreText.debug.xcconfig */; + buildSettings = { + CODE_SIGNING_ALLOWED = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DTCoreText"; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + IBSC_MODULE = DTCoreText; + INFOPLIST_FILE = "Target Support Files/DTCoreText/ResourceBundle-Resources-DTCoreText-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + PRODUCT_NAME = Resources; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Debug; + }; + BBF52BE0BAF5B36FF88B64A2D8E22142 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C960B7AA0B9B8CC473FACFEC64F9906D /* SnapKit.debug.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = NO; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch"; + GENERATE_INFOPLIST_FILE = NO; + INFOPLIST_FILE = "Target Support Files/SnapKit/SnapKit-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap"; + PRODUCT_MODULE_NAME = SnapKit; + PRODUCT_NAME = SnapKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_INSTALL_OBJC_HEADER = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + D49B2A913BBC460D7F610B1FAA4B5F05 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F699881ABDBEB419AEBA661AD5A21F35 /* ZIPFoundation.release.xcconfig */; + buildSettings = { + CODE_SIGNING_ALLOWED = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/ZIPFoundation"; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + IBSC_MODULE = ZIPFoundation; + INFOPLIST_FILE = "Target Support Files/ZIPFoundation/ResourceBundle-ZIPFoundation_Privacy-ZIPFoundation-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + PRODUCT_NAME = ZIPFoundation_Privacy; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; + E0D8575120B80F88A0AD33E40B293C1A /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 2940F45AAC94F45A257576176011B6A4 /* RDReaderView.release.xcconfig */; buildSettings = { @@ -3679,43 +3750,46 @@ }; name = Release; }; - B958376CF15160F7D63EF9D7E4F1A4EE /* Debug */ = { + EEBB2F28A8630A3C9F94CBE52126E272 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3867F0F0A2292C20B5E5F8A564133F59 /* RDReaderView.debug.xcconfig */; + baseConfigurationReference = 4BEC60CB3EDA1C189D3B062E29217440 /* ZIPFoundation.debug.xcconfig */; buildSettings = { - CODE_SIGNING_ALLOWED = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/RDReaderView"; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO; - IBSC_MODULE = RDReaderView; - INFOPLIST_FILE = "Target Support Files/RDReaderView/ResourceBundle-RDReaderViewAssets-RDReaderView-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/ZIPFoundation/ZIPFoundation-prefix.pch"; + GENERATE_INFOPLIST_FILE = NO; + INFOPLIST_FILE = "Target Support Files/ZIPFoundation/ZIPFoundation-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 15.6; - PRODUCT_NAME = RDReaderViewAssets; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULEMAP_FILE = "Target Support Files/ZIPFoundation/ZIPFoundation.modulemap"; + PRODUCT_MODULE_NAME = ZIPFoundation; + PRODUCT_NAME = ZIPFoundation; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_INSTALL_OBJC_HEADER = YES; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; - BEEB532A9447E11F867E914D7D9818E4 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 78873FAFC0AD9E930D6050A7F976714B /* DTCoreText.debug.xcconfig */; - buildSettings = { - CODE_SIGNING_ALLOWED = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DTCoreText"; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - IBSC_MODULE = DTCoreText; - INFOPLIST_FILE = "Target Support Files/DTCoreText/ResourceBundle-Resources-DTCoreText-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; - PRODUCT_NAME = Resources; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - E23BC9529330441CEDBB70BB5C6BCDC6 /* Debug */ = { + F0F8F5A27C64E369D647AF9AA56D9128 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = C960B7AA0B9B8CC473FACFEC64F9906D /* SnapKit.debug.xcconfig */; buildSettings = { @@ -3733,64 +3807,6 @@ }; name = Debug; }; - EA75F3AC6625670740DDFD9D07C69566 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 53D2AB2348A9B9C582FDC2CDB2E434FC /* SnapKit.release.xcconfig */; - buildSettings = { - CODE_SIGNING_ALLOWED = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SnapKit"; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - IBSC_MODULE = SnapKit; - INFOPLIST_FILE = "Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; - PRODUCT_NAME = SnapKit_Privacy; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; - EC72A6AB64EA684B29084E446260C2AB /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 53D2AB2348A9B9C582FDC2CDB2E434FC /* SnapKit.release.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = NO; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch"; - GENERATE_INFOPLIST_FILE = NO; - INFOPLIST_FILE = "Target Support Files/SnapKit/SnapKit-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap"; - PRODUCT_MODULE_NAME = SnapKit; - PRODUCT_NAME = SnapKit; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_INSTALL_OBJC_HEADER = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -3803,29 +3819,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 13F766F0FD949B8D05B6B83E2A243293 /* Build configuration list for PBXNativeTarget "RDReaderView" */ = { + 32C3AD886ED2B02359F86590AFC016C4 /* Build configuration list for PBXNativeTarget "SnapKit-SnapKit_Privacy" */ = { isa = XCConfigurationList; buildConfigurations = ( - 83688406F27077A29FAC5187A607100A /* Debug */, - A906B39116AB6E78E68CD880304D1D19 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1A78EEA4F7A0EA467A52C4ED772712D4 /* Build configuration list for PBXNativeTarget "ZIPFoundation-ZIPFoundation_Privacy" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8FF6C5389A72B553C7D344092E315A18 /* Debug */, - 35E3BD51E582481D9C568BFF064AC051 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2A92134767212E0AF1CE27B20F859A21 /* Build configuration list for PBXNativeTarget "DTFoundation" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 388B95820F9ADA93341B7ED00A7B8A6F /* Debug */, - 1DB154855B1112DB6C33ADE407C07DA5 /* Release */, + F0F8F5A27C64E369D647AF9AA56D9128 /* Debug */, + AFA75EEDA8F62D67889AF35C7A5ED81B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -3839,56 +3837,65 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 490DB4724C304AF051ED35D068A20B47 /* Build configuration list for PBXNativeTarget "SnapKit-SnapKit_Privacy" */ = { + 59444A8D5BE0E1A70A5BE7BE321CD2AE /* Build configuration list for PBXNativeTarget "RDReaderView-RDReaderViewAssets" */ = { isa = XCConfigurationList; buildConfigurations = ( - E23BC9529330441CEDBB70BB5C6BCDC6 /* Debug */, - EA75F3AC6625670740DDFD9D07C69566 /* Release */, + 64A3020AE4D1012C9C4CF06B7891B56E /* Debug */, + 67F4FEBABB9E3BA0A8C5A5C1BB529136 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 5165AACF46A63B4FB8A8420ACC759DD3 /* Build configuration list for PBXNativeTarget "SnapKit" */ = { + 77CE92248FEABAAD1F0F5E3D4FDD4F39 /* Build configuration list for PBXNativeTarget "ZIPFoundation" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1D8CFC223CA5C3F8046ACDB2299C8C9C /* Debug */, - EC72A6AB64EA684B29084E446260C2AB /* Release */, + EEBB2F28A8630A3C9F94CBE52126E272 /* Debug */, + A4AA92015DC6CE2433DD70076DB66BC6 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A7E7C52E8356B363E4C668C76D72C91E /* Build configuration list for PBXNativeTarget "DTCoreText-Resources" */ = { + 9A71538ED3030F97A931CB47765E7DF6 /* Build configuration list for PBXNativeTarget "ZIPFoundation-ZIPFoundation_Privacy" */ = { isa = XCConfigurationList; buildConfigurations = ( - BEEB532A9447E11F867E914D7D9818E4 /* Debug */, - 91E2E7825CD3C7BEE81E7524E4709460 /* Release */, + 456B0131F8693D541765A0DB75AFF57E /* Debug */, + D49B2A913BBC460D7F610B1FAA4B5F05 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A8B16500C77E14435BD81E2FC3C99BCD /* Build configuration list for PBXNativeTarget "SSAlertSwift" */ = { + A52279E1A3089C289BECB0F59BFCF79A /* Build configuration list for PBXNativeTarget "SnapKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 0A3320760CDB1EE16ADC2DDB1E5ABF31 /* Debug */, - 06C978693AF79C8163C013B909FF6880 /* Release */, + BBF52BE0BAF5B36FF88B64A2D8E22142 /* Debug */, + 117F31AC770D84CCB792E5DDFA184755 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - AA6CCE7B84211FC7AD7D89714B12CE1E /* Build configuration list for PBXNativeTarget "ZIPFoundation" */ = { + ABF7FBA5E3E067B6792A3DEFEF3551A8 /* Build configuration list for PBXNativeTarget "RDReaderView" */ = { isa = XCConfigurationList; buildConfigurations = ( - 240E5FE10CED2E96C91D9366A84A6E19 /* Debug */, - 524D9B863153923A6945F0E35F7EEF37 /* Release */, + 8F571DE8986083953DC88C409A702B1C /* Debug */, + E0D8575120B80F88A0AD33E40B293C1A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - BAAE2E50C43325A6A6895028C447728E /* Build configuration list for PBXNativeTarget "RDReaderView-RDReaderViewAssets" */ = { + AC861F6D61F42396EEE5E9DB8F0553E4 /* Build configuration list for PBXNativeTarget "DTFoundation" */ = { isa = XCConfigurationList; buildConfigurations = ( - B958376CF15160F7D63EF9D7E4F1A4EE /* Debug */, - 3612CA8B78C271E39F158A37A6388244 /* Release */, + 0BA1B7D278F51244DEDF8A9611BE7FB0 /* Debug */, + 07D107F44880F7AA6FF1097E4FE2BB57 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + AFF5A1F4D2230C559D5796EE3C6A8921 /* Build configuration list for PBXNativeTarget "DTCoreText-Resources" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BA90B355AFFCE9A3249BB2C0E817E758 /* Debug */, + 0A033243CB0D4524251FBBCA0929F03F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -3902,6 +3909,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + E40ACBC5D8ADE49D3F13FF10A0874957 /* Build configuration list for PBXNativeTarget "SSAlertSwift" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6B10C78BD942E1A40E9AD00E8E3107F8 /* Debug */, + 0FB974B4F91E77A2CEC5897F5EC730A3 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; diff --git a/Sources/RDReaderView/EPUBUI/RDEPUBReaderController+DataSource.swift b/Sources/RDReaderView/EPUBUI/RDEPUBReaderController+DataSource.swift index 112898b..03c0cdb 100644 --- a/Sources/RDReaderView/EPUBUI/RDEPUBReaderController+DataSource.swift +++ b/Sources/RDReaderView/EPUBUI/RDEPUBReaderController+DataSource.swift @@ -295,6 +295,9 @@ extension RDEPUBReaderController: RDReaderDataSource, RDReaderDelegate { updateCurrentSelection(nil) reconcileTextPaginationSizeIfNeeded(for: pageNum) + // 如果正在重新分页,跳过后续操作,避免状态冲突 + guard !isRepaginating else { return } + // 用户开始导航时,应用后台解析完成的完整 map let previousCurrentPage = readerView.currentPage runtime.applyPendingFullPageMapIfNeeded() @@ -362,10 +365,17 @@ extension RDEPUBReaderController: RDReaderDataSource, RDReaderDelegate { } isReconcilingTextPaginationSize = true - DispatchQueue.main.async { [weak self] in + // 使用防抖延迟,避免连续快速点击字号时重复触发 + DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) { [weak self] in guard let self else { return } self.isReconcilingTextPaginationSize = false guard (self.textBook != nil || self.readerContext.bookPageMap != nil), !self.isRepaginating else { return } + // 再次检查尺寸是否仍然变化,避免过期的重新分页 + let currentSize = self.readerView.resolvedSinglePageSize(pageNum: self.readerView.currentPage) + guard currentSize.width > 0, currentSize.height > 0 else { return } + let stillChanged = abs(currentSize.width - self.lastTextPaginationPageSize!.width) > 0.5 + || abs(currentSize.height - self.lastTextPaginationPageSize!.height) > 0.5 + guard stillChanged else { return } self.repaginatePreservingCurrentLocation() } } diff --git a/Sources/RDReaderView/EPUBUI/ReaderController/ChapterRuntime/RDEPUBChapterLoader.swift b/Sources/RDReaderView/EPUBUI/ReaderController/ChapterRuntime/RDEPUBChapterLoader.swift index e10bf76..bd9fa99 100644 --- a/Sources/RDReaderView/EPUBUI/ReaderController/ChapterRuntime/RDEPUBChapterLoader.swift +++ b/Sources/RDReaderView/EPUBUI/ReaderController/ChapterRuntime/RDEPUBChapterLoader.swift @@ -16,6 +16,7 @@ final class RDEPUBChapterLoader { enum LoadPriority { case navigation // 前台导航:用户主动跳章,完成后检查导航目标队列 + case preview // 设置预览:仅构建当前章并回调,不参与导航目标消费 case prefetch // 后台预取:±1 相邻章,完成后仅回填缓存 + 刷新快照 } @@ -101,6 +102,12 @@ final class RDEPUBChapterLoader { completion(.success(chapter)) } + case .preview: + store.markBuilding(false) + DispatchQueue.main.async { + completion(.success(chapter)) + } + case .prefetch: // 后台预取:仅回填缓存,标记预取目标完成 // 不触发跳章,不检查导航目标队列 diff --git a/Sources/RDReaderView/EPUBUI/ReaderController/RDEPUBReaderChromeCoordinator.swift b/Sources/RDReaderView/EPUBUI/ReaderController/RDEPUBReaderChromeCoordinator.swift index e92d755..2990ad2 100644 --- a/Sources/RDReaderView/EPUBUI/ReaderController/RDEPUBReaderChromeCoordinator.swift +++ b/Sources/RDReaderView/EPUBUI/ReaderController/RDEPUBReaderChromeCoordinator.swift @@ -8,7 +8,7 @@ import UIKit /// - 同步工具栏的主题和状态 /// - 弹出设置面板和目录面板 /// - 处理返回按钮的关闭逻辑 -final class RDEPUBReaderChromeCoordinator { +final class RDEPUBReaderChromeCoordinator: NSObject, UIAdaptivePresentationControllerDelegate { private unowned let context: RDEPUBReaderContext init(context: RDEPUBReaderContext) { @@ -19,6 +19,13 @@ final class RDEPUBReaderChromeCoordinator { context.controller } + // MARK: - UIAdaptivePresentationControllerDelegate + + func presentationControllerDidDismiss(_ presentationController: UIPresentationController) { + // 设置页面被用户下滑关闭时 + context.runtime?.settingsPanelDidDisappear() + } + /// 创建顶部工具栏视图,绑定返回、搜索和书签切换回调。 func makeTopToolView() -> RDEPUBReaderTopToolView { let toolView = RDEPUBReaderTopToolView() @@ -110,6 +117,10 @@ final class RDEPUBReaderChromeCoordinator { func presentSettings() { guard let controller else { return } guard controller.configuration.showsSettingsPanel else { return } + + // 通知 Runtime 设置页面即将打开 + context.runtime?.settingsPanelWillAppear() + let settingsController = RDEPUBReaderSettingsViewController( configuration: controller.configuration, brightness: controller.currentBrightness @@ -135,9 +146,14 @@ final class RDEPUBReaderChromeCoordinator { settingsController.onThemeChange = { [weak controller] theme in controller?.updateConfiguration { $0.theme = theme } } + settingsController.onDismiss = { [weak self] in + // 通知 Runtime 设置页面已关闭 + self?.context.runtime?.settingsPanelDidDisappear() + } let navigationController = UINavigationController(rootViewController: settingsController) navigationController.modalPresentationStyle = .pageSheet + navigationController.presentationController?.delegate = self controller.present(navigationController, animated: true) } diff --git a/Sources/RDReaderView/EPUBUI/ReaderController/RDEPUBReaderContext.swift b/Sources/RDReaderView/EPUBUI/ReaderController/RDEPUBReaderContext.swift index 0a06319..e290eb7 100644 --- a/Sources/RDReaderView/EPUBUI/ReaderController/RDEPUBReaderContext.swift +++ b/Sources/RDReaderView/EPUBUI/ReaderController/RDEPUBReaderContext.swift @@ -122,14 +122,31 @@ final class RDEPUBReaderContext { /// 获取当前文本排版的单页尺寸,优先从 readerView 解析,兜底用布局上下文。 func currentTextPageSize() -> CGSize { - let pageNum = (readerView?.currentPage ?? -1) >= 0 ? readerView?.currentPage : nil - if let readerView, let pageNum { - let resolvedSize = readerView.resolvedSinglePageSize(pageNum: pageNum) - if resolvedSize.width > 0, resolvedSize.height > 0 { - return resolvedSize + if Thread.isMainThread { + let pageNum = (readerView?.currentPage ?? -1) >= 0 ? readerView?.currentPage : nil + if let readerView, let pageNum { + let resolvedSize = readerView.resolvedSinglePageSize(pageNum: pageNum) + if resolvedSize.width > 0, resolvedSize.height > 0 { + return resolvedSize + } + } + let viewportSize = currentLayoutContext().viewportSize + if viewportSize.width > 0, viewportSize.height > 0 { + return viewportSize + } + } else if let lastTextPaginationPageSize, + lastTextPaginationPageSize.width > 0, + lastTextPaginationPageSize.height > 0 { + return lastTextPaginationPageSize + } else { + let mainThreadSize = DispatchQueue.main.sync { [weak self] in + self?.currentTextPageSize() ?? .zero + } + if mainThreadSize.width > 0, mainThreadSize.height > 0 { + return mainThreadSize } } - return currentLayoutContext().viewportSize + return dependencies.environment.fallbackViewportSize } /// 根据当前配置生成文本渲染样式(字体、行距、颜色)。 diff --git a/Sources/RDReaderView/EPUBUI/ReaderController/RDEPUBReaderRuntime.swift b/Sources/RDReaderView/EPUBUI/ReaderController/RDEPUBReaderRuntime.swift index 4257074..00d5fbf 100644 --- a/Sources/RDReaderView/EPUBUI/ReaderController/RDEPUBReaderRuntime.swift +++ b/Sources/RDReaderView/EPUBUI/ReaderController/RDEPUBReaderRuntime.swift @@ -27,6 +27,19 @@ final class RDEPUBReaderRuntime { lazy var backgroundCoverageStore = RDEPUBBackgroundCoverageStore(context: context) lazy var reconciliationCoordinator = RDEPUBPageMapReconciliationCoordinator(context: context) + /// 设置页面是否打开 + var isSettingsPanelOpen: Bool = false + + /// 标记需要在设置页面关闭后触发完整补全 + var needsFullRepaginationAfterSettingsClose: Bool = false + + /// 设置页内当前章预览的代次,用于丢弃过期结果 + private var settingsPreviewGeneration: Int = 0 + /// 设置页内 preview 防抖任务,只保留最后一次请求。 + private var pendingSettingsPreviewWorkItem: DispatchWorkItem? + /// 设置页内 preview 防抖延迟,合并连续点击。 + private let settingsPreviewDebounceDelay: TimeInterval = 0.2 + init(context: RDEPUBReaderContext) { self.context = context } @@ -330,6 +343,9 @@ final class RDEPUBReaderRuntime { let readerView = context.readerView, let controller = context.controller else { return } + // 如果正在重新分页,跳过本次检查,避免状态冲突 + guard !controller.isRepaginating else { return } + // 使用协调器判断是否允许接管 let decision = reconciliationCoordinator.evaluateTakeover( candidatePageMap: pendingMap, @@ -401,7 +417,111 @@ final class RDEPUBReaderRuntime { /// 重新分页并保持当前阅读位置不变 func repaginatePreservingCurrentLocation() { - paginationCoordinator.repaginatePreservingCurrentLocation() + // 如果设置页面打开,只计算当前章节(热区) + if isSettingsPanelOpen { + needsFullRepaginationAfterSettingsClose = true + paginationCoordinator.cancelActiveMetadataParseWork() + scheduleSettingsPreviewRepagination() + } else { + paginationCoordinator.repaginatePreservingCurrentLocation() + } + } + + /// 防抖调度设置页内的当前章 preview,只保留最后一次请求。 + private func scheduleSettingsPreviewRepagination() { + pendingSettingsPreviewWorkItem?.cancel() + settingsPreviewGeneration += 1 + let previewGeneration = settingsPreviewGeneration + + let workItem = DispatchWorkItem { [weak self] in + guard let self, + self.isSettingsPanelOpen, + previewGeneration == self.settingsPreviewGeneration else { + return + } + self.pendingSettingsPreviewWorkItem = nil + self.chapterRuntimeStore.invalidateAllForSettingsChange() + self.repaginateCurrentChapterOnly(previewGeneration: previewGeneration) + } + pendingSettingsPreviewWorkItem = workItem + DispatchQueue.main.asyncAfter( + deadline: .now() + settingsPreviewDebounceDelay, + execute: workItem + ) + } + + /// 只重新计算当前章节(设置页面打开时使用) + private func repaginateCurrentChapterOnly(previewGeneration: Int) { + guard let bookPageMap = context.bookPageMap, + let readerView = context.readerView else { return } + + let currentPageNumber = readerView.currentPage + 1 + guard let currentSpineIndex = bookPageMap.spineIndex(forAbsolutePage: currentPageNumber - 1) else { + return + } + let previewLocation = locationCoordinator.currentVisibleLocation() ?? context.persistenceLocation() + + RDEPUBBackgroundTrace.log( + "Runtime", + "repaginateCurrentChapterOnly spine=\(currentSpineIndex) generation=\(previewGeneration)" + ) + + chapterLoader.loadChapter( + spineIndex: currentSpineIndex, + store: chapterRuntimeStore, + priority: .preview + ) { [weak self] result in + guard let self, + self.isSettingsPanelOpen, + previewGeneration == self.settingsPreviewGeneration, + let readerView = self.context.readerView else { + return + } + + switch result { + case .success(let chapter): + let partialMap = self.makePartialPageMap(from: [chapter]) + self.context.bookPageMap = partialMap + self.context.replaceActiveSnapshot(self.makeSnapshot(from: partialMap)) + readerView.reloadData() + + if let previewLocation, + self.locationCoordinator.restoreReadingLocation(previewLocation, animated: false) { + return + } + + readerView.transitionToPage(pageNum: 0, animated: false) + + case .failure(let error): + RDEPUBBackgroundTrace.log( + "Runtime", + "repaginateCurrentChapterOnly FAILED spine=\(currentSpineIndex) generation=\(previewGeneration) error=\(error)" + ) + } + } + } + + /// 设置页面即将打开 + func settingsPanelWillAppear() { + pendingSettingsPreviewWorkItem?.cancel() + pendingSettingsPreviewWorkItem = nil + isSettingsPanelOpen = true + needsFullRepaginationAfterSettingsClose = false + settingsPreviewGeneration += 1 + } + + /// 设置页面已关闭 + func settingsPanelDidDisappear() { + pendingSettingsPreviewWorkItem?.cancel() + pendingSettingsPreviewWorkItem = nil + isSettingsPanelOpen = false + settingsPreviewGeneration += 1 + // 如果在设置页面期间有配置变化,触发完整补全 + if needsFullRepaginationAfterSettingsClose { + needsFullRepaginationAfterSettingsClose = false + RDEPUBBackgroundTrace.log("Runtime", "settingsPanelDidDisappear: triggering full repagination") + paginationCoordinator.repaginatePreservingCurrentLocation() + } } /// 刷新当前可见内容,保持阅读位置不变 diff --git a/Sources/RDReaderView/EPUBUI/Settings/RDEPUBReaderSettingsViewController.swift b/Sources/RDReaderView/EPUBUI/Settings/RDEPUBReaderSettingsViewController.swift index 02ecf24..ab872f3 100644 --- a/Sources/RDReaderView/EPUBUI/Settings/RDEPUBReaderSettingsViewController.swift +++ b/Sources/RDReaderView/EPUBUI/Settings/RDEPUBReaderSettingsViewController.swift @@ -22,6 +22,8 @@ final class RDEPUBReaderSettingsViewController: UIViewController { var onDisplayTypeChange: ((RDReaderView.DisplayType) -> Void)? /// 主题变化回调 var onThemeChange: ((RDEPUBReaderTheme) -> Void)? + /// 设置页面关闭回调 + var onDismiss: (() -> Void)? // MARK: 主题预设枚举 @@ -292,7 +294,9 @@ final class RDEPUBReaderSettingsViewController: UIViewController { } @objc private func doneAction() { - dismiss(animated: true) + dismiss(animated: true) { [weak self] in + self?.onDismiss?() + } } @objc private func brightnessChanged(_ slider: UISlider) {