gitextract_u26s7vme/ ├── .gitignore ├── .gitmodules ├── Common/ │ ├── Documents/ │ │ └── Acknowledgements.docx │ └── Release DMG.dmgCanvas/ │ └── Disk Image ├── Configurations/ │ ├── Build/ │ │ ├── Code Signing Identity.xcconfig │ │ ├── Common/ │ │ │ ├── Foundation Debug.xcconfig │ │ │ ├── Foundation.xcconfig │ │ │ ├── Preserve Symbols.xcconfig │ │ │ ├── Textual App.xcconfig │ │ │ ├── Textual Extensions.xcconfig │ │ │ ├── Textual.xcconfig │ │ │ ├── XPC Service - ICL Extensions.xcconfig │ │ │ ├── XPC Service - ICL.xcconfig │ │ │ └── XPC Services.xcconfig │ │ ├── Debug/ │ │ │ ├── Enabled Features.xcconfig │ │ │ ├── Textual App.xcconfig │ │ │ ├── Textual Extensions.xcconfig │ │ │ ├── Textual.xcconfig │ │ │ ├── XPC Service - ICL Extensions.xcconfig │ │ │ ├── XPC Service - ICL.xcconfig │ │ │ └── XPC Services.xcconfig │ │ ├── README.md │ │ └── Standard Release/ │ │ ├── Enabled Features.xcconfig │ │ ├── Textual App.xcconfig │ │ ├── Textual Extensions.xcconfig │ │ ├── Textual.xcconfig │ │ ├── XPC Service - ICL Extensions.xcconfig │ │ ├── XPC Service - ICL.xcconfig │ │ └── XPC Services.xcconfig │ ├── ExportArchiveConfiguration.plist │ └── Sandbox/ │ └── Inherited.entitlements ├── README.md ├── Sources/ │ ├── App/ │ │ ├── Build Scripts/ │ │ │ ├── BuildExtensions.sh │ │ │ ├── BuildFrameworks.sh │ │ │ ├── BuildServices.sh │ │ │ ├── ExportArchive.sh │ │ │ ├── MergeSwift.sh │ │ │ ├── PostprocessSparkle.sh │ │ │ ├── UpdateFeatureFlags.sh │ │ │ └── UpdateVersionInfo.sh │ │ ├── Classes/ │ │ │ ├── Controllers/ │ │ │ │ ├── TXAppearance.m │ │ │ │ ├── TXApplication.m │ │ │ │ ├── TXGlobalModels.m │ │ │ │ ├── TXMasterController.m │ │ │ │ ├── TXMenuController.m │ │ │ │ ├── TXSharedApplication.m │ │ │ │ └── TXWindowController.m │ │ │ ├── Dialogs/ │ │ │ │ ├── Channel Spotlight/ │ │ │ │ │ ├── TDCChannelSpotlightAppearance.m │ │ │ │ │ ├── TDCChannelSpotlightController.m │ │ │ │ │ ├── TDCChannelSpotlightControls.m │ │ │ │ │ ├── TDCChannelSpotlightSearchResult.m │ │ │ │ │ └── TDCChannelSpotlightSearchResultsTable.m │ │ │ │ ├── File Transfers/ │ │ │ │ │ ├── TDCFileTransferDialog.m │ │ │ │ │ ├── TDCFileTransferDialogTableCell.m │ │ │ │ │ └── TDCFileTransferDialogTransferController.m │ │ │ │ ├── License Manager/ │ │ │ │ │ └── Standalone/ │ │ │ │ │ ├── TDCLicenseManagerDialog.m │ │ │ │ │ ├── TDCLicenseManagerMigrateAppStoreSheet.m │ │ │ │ │ ├── TDCLicenseManagerRecoverLostLicenseSheet.m │ │ │ │ │ ├── TDCLicenseUpgradeActivateSheet.m │ │ │ │ │ ├── TDCLicenseUpgradeCommonActions.m │ │ │ │ │ ├── TDCLicenseUpgradeDialog.m │ │ │ │ │ └── TDCLicenseUpgradeEligibilitySheet.m │ │ │ │ ├── Preferences/ │ │ │ │ │ ├── TDCPreferencesController.m │ │ │ │ │ ├── TDCPreferencesNotificationConfiguration.m │ │ │ │ │ └── TDCPreferencesUserStyleSheet.m │ │ │ │ ├── Server Endpoint/ │ │ │ │ │ ├── TDCServerEndpointListSheet.m │ │ │ │ │ └── TDCServerEndpointListSheetTable.m │ │ │ │ ├── TDCAboutDialog.m │ │ │ │ ├── TDCAddressBookSheet.m │ │ │ │ ├── TDCAlert.m │ │ │ │ ├── TDCChannelBanListSheet.m │ │ │ │ ├── TDCChannelInviteSheet.m │ │ │ │ ├── TDCChannelModifyModesSheet.m │ │ │ │ ├── TDCChannelModifyTopicSheet.m │ │ │ │ ├── TDCChannelPropertiesNotificationConfiguration.m │ │ │ │ ├── TDCChannelPropertiesSheet.m │ │ │ │ ├── TDCHighlightEntrySheet.m │ │ │ │ ├── TDCInputPrompt.m │ │ │ │ ├── TDCNicknameColorSheet.m │ │ │ │ ├── TDCProgressIndicatorSheet.m │ │ │ │ ├── TDCServerChangeNicknameSheet.m │ │ │ │ ├── TDCServerChannelListDialog.m │ │ │ │ ├── TDCServerHighlightListSheet.m │ │ │ │ ├── TDCServerPropertiesSheet.m │ │ │ │ ├── TDCSheetBase.m │ │ │ │ ├── TDCWelcomeSheet.m │ │ │ │ └── TDCWindowBase.m │ │ │ ├── Headers/ │ │ │ │ ├── External Libraries/ │ │ │ │ │ ├── GTMEncodeHTML.h │ │ │ │ │ └── OELReachability.h │ │ │ │ ├── IRC.h │ │ │ │ ├── IRCAddressBook.h │ │ │ │ ├── IRCAddressBookUserTracking.h │ │ │ │ ├── IRCChannel.h │ │ │ │ ├── IRCChannelConfig.h │ │ │ │ ├── IRCChannelMemberList.h │ │ │ │ ├── IRCChannelMode.h │ │ │ │ ├── IRCChannelUser.h │ │ │ │ ├── IRCClient.h │ │ │ │ ├── IRCClientConfig.h │ │ │ │ ├── IRCColorFormat.h │ │ │ │ ├── IRCCommandIndex.h │ │ │ │ ├── IRCConnection.h │ │ │ │ ├── IRCHighlightLogEntry.h │ │ │ │ ├── IRCHighlightMatchCondition.h │ │ │ │ ├── IRCISupportInfo.h │ │ │ │ ├── IRCMessage.h │ │ │ │ ├── IRCModeInfo.h │ │ │ │ ├── IRCNetworkList.h │ │ │ │ ├── IRCNumerics.h │ │ │ │ ├── IRCPrefix.h │ │ │ │ ├── IRCSendingMessage.h │ │ │ │ ├── IRCServer.h │ │ │ │ ├── IRCTreeItem.h │ │ │ │ ├── IRCUser.h │ │ │ │ ├── IRCUserRelations.h │ │ │ │ ├── IRCWorld.h │ │ │ │ ├── Internal/ │ │ │ │ │ ├── IRCAddressBookInternal.h │ │ │ │ │ ├── IRCChannelConfigInternal.h │ │ │ │ │ ├── IRCChannelUserInternal.h │ │ │ │ │ ├── IRCClientConfigInternal.h │ │ │ │ │ ├── IRCHighlightLogEntryInternal.h │ │ │ │ │ ├── IRCHighlightMatchConditionInternal.h │ │ │ │ │ ├── IRCMessageInternal.h │ │ │ │ │ ├── IRCModeInfoInternal.h │ │ │ │ │ ├── IRCPrefixInternal.h │ │ │ │ │ ├── IRCServerInternal.h │ │ │ │ │ ├── IRCUserInternal.h │ │ │ │ │ ├── TDCChannelPropertiesSheetInternal.h │ │ │ │ │ ├── TDCChannelSpotlightAppearanceInternal.h │ │ │ │ │ ├── TDCChannelSpotlightControllerInternal.h │ │ │ │ │ ├── TDCFileTransferDialogInternal.h │ │ │ │ │ └── TVCLogLineInternal.h │ │ │ │ ├── NSColorHelper.h │ │ │ │ ├── NSStringHelper.h │ │ │ │ ├── NSViewHelper.h │ │ │ │ ├── Private/ │ │ │ │ │ ├── ICLPayloadLocalPrivate.h │ │ │ │ │ ├── IRCAddressBookMatchCachePrivate.h │ │ │ │ │ ├── IRCAddressBookUserTrackingPrivate.h │ │ │ │ │ ├── IRCChannelConfigPrivate.h │ │ │ │ │ ├── IRCChannelMemberListControllerPrivate.h │ │ │ │ │ ├── IRCChannelMemberListPrivate.h │ │ │ │ │ ├── IRCChannelModePrivate.h │ │ │ │ │ ├── IRCChannelPrivate.h │ │ │ │ │ ├── IRCChannelUserPrivate.h │ │ │ │ │ ├── IRCClientConfigPrivate.h │ │ │ │ │ ├── IRCClientPrivate.h │ │ │ │ │ ├── IRCClientRequestedCommandsPrivate.h │ │ │ │ │ ├── IRCColorFormatPrivate.h │ │ │ │ │ ├── IRCCommandIndexPrivate.h │ │ │ │ │ ├── IRCConnectionPrivate.h │ │ │ │ │ ├── IRCExtrasPrivate.h │ │ │ │ │ ├── IRCHighlightLogEntryPrivate.h │ │ │ │ │ ├── IRCISupportInfoPrivate.h │ │ │ │ │ ├── IRCMessageBatchPrivate.h │ │ │ │ │ ├── IRCMessagePrivate.h │ │ │ │ │ ├── IRCServerPrivate.h │ │ │ │ │ ├── IRCTimerCommandPrivate.h │ │ │ │ │ ├── IRCTreeItemPrivate.h │ │ │ │ │ ├── IRCUserNicknameColorStyleGeneratorPrivate.h │ │ │ │ │ ├── IRCUserPersistentStorePrivate.h │ │ │ │ │ ├── IRCUserPrivate.h │ │ │ │ │ ├── IRCUserRelationsPrivate.h │ │ │ │ │ ├── IRCWorldPrivate.h │ │ │ │ │ ├── NSTableVIewHelperPrivate.h │ │ │ │ │ ├── NSViewHelperPrivate.h │ │ │ │ │ ├── SwiftBridgingHeaderPrivate.h │ │ │ │ │ ├── TDCAboutDialogPrivate.h │ │ │ │ │ ├── TDCAddressBookSheetPrivate.h │ │ │ │ │ ├── TDCChannelBanListSheetPrivate.h │ │ │ │ │ ├── TDCChannelInviteSheetPrivate.h │ │ │ │ │ ├── TDCChannelModifyModesSheetPrivate.h │ │ │ │ │ ├── TDCChannelModifyTopicSheetPrivate.h │ │ │ │ │ ├── TDCChannelPropertiesNotificationConfigurationPrivate.h │ │ │ │ │ ├── TDCChannelPropertiesSheetPrivate.h │ │ │ │ │ ├── TDCChannelSpotlightAppearancePrivate.h │ │ │ │ │ ├── TDCChannelSpotlightControllerPrivate.h │ │ │ │ │ ├── TDCChannelSpotlightControlsPrivate.h │ │ │ │ │ ├── TDCChannelSpotlightSearchResultPrivate.h │ │ │ │ │ ├── TDCChannelSpotlightSearchResultsTablePrivate.h │ │ │ │ │ ├── TDCFileTransferDialogPrivate.h │ │ │ │ │ ├── TDCFileTransferDialogTableCellPrivate.h │ │ │ │ │ ├── TDCFileTransferDialogTransferControllerPrivate.h │ │ │ │ │ ├── TDCHighlightEntrySheetPrivate.h │ │ │ │ │ ├── TDCLicenseManagerDialogPrivate.h │ │ │ │ │ ├── TDCLicenseManagerMigrateAppStoreSheetPrivate.h │ │ │ │ │ ├── TDCLicenseManagerRecoverLostLicenseSheetPrivate.h │ │ │ │ │ ├── TDCLicenseUpgradeActivateSheetPrivate.h │ │ │ │ │ ├── TDCLicenseUpgradeCommonActionsPrivate.h │ │ │ │ │ ├── TDCLicenseUpgradeDialogPrivate.h │ │ │ │ │ ├── TDCLicenseUpgradeEligibilitySheetPrivate.h │ │ │ │ │ ├── TDCNicknameColorSheetPrivate.h │ │ │ │ │ ├── TDCPreferencesControllerPrivate.h │ │ │ │ │ ├── TDCPreferencesNotificationConfigurationPrivate.h │ │ │ │ │ ├── TDCPreferencesUserStyleSheetPrivate.h │ │ │ │ │ ├── TDCProgressIndicatorSheetPrivate.h │ │ │ │ │ ├── TDCServerChangeNicknameSheetPrivate.h │ │ │ │ │ ├── TDCServerChannelListDialogPrivate.h │ │ │ │ │ ├── TDCServerEndpointListSheetPrivate.h │ │ │ │ │ ├── TDCServerEndpointListSheetTablePrivate.h │ │ │ │ │ ├── TDCServerHighlightListSheetPrivate.h │ │ │ │ │ ├── TDCServerPropertiesSheetPrivate.h │ │ │ │ │ ├── TDCSharedProtocolDefinitionsPrivate.h │ │ │ │ │ ├── TDCWelcomeSheetPrivate.h │ │ │ │ │ ├── THOPluginDispatcherPrivate.h │ │ │ │ │ ├── THOPluginItemPrivate.h │ │ │ │ │ ├── THOPluginManagerPrivate.h │ │ │ │ │ ├── THOPluginProtocolPrivate.h │ │ │ │ │ ├── TLOEncryptionManagerPrivate.h │ │ │ │ │ ├── TLOFileLoggerPrivate.h │ │ │ │ │ ├── TLOInputHistoryPrivate.h │ │ │ │ │ ├── TLOLicenseManagerDownloaderPrivate.h │ │ │ │ │ ├── TLOLicenseManagerLastGenPrivate.h │ │ │ │ │ ├── TLOLicenseManagerPrivate.h │ │ │ │ │ ├── TLONicknameCompletionStatusPrivate.h │ │ │ │ │ ├── TLONotificationConfigurationPrivate.h │ │ │ │ │ ├── TLONotificationControllerPrivate.h │ │ │ │ │ ├── TLOSpeechSynthesizerPrivate.h │ │ │ │ │ ├── TLOSpokenNotificationPrivate.h │ │ │ │ │ ├── TPCApplicationInfoPrivate.h │ │ │ │ │ ├── TPCPathInfoPrivate.h │ │ │ │ │ ├── TPCPreferencesImportExportPrivate.h │ │ │ │ │ ├── TPCPreferencesLocalPrivate.h │ │ │ │ │ ├── TPCResourceManagerPrivate.h │ │ │ │ │ ├── TPCSandboxMigrationPrivate.h │ │ │ │ │ ├── TPCThemeControllerPrivate.h │ │ │ │ │ ├── TPCThemePrivate.h │ │ │ │ │ ├── TVCAppearancePrivate.h │ │ │ │ │ ├── TVCChannelSelectionOutlineViewCellPrivate.h │ │ │ │ │ ├── TVCChannelSelectionViewControllerPrivate.h │ │ │ │ │ ├── TVCContentNavigationOutlineViewPrivate.h │ │ │ │ │ ├── TVCDockIconPrivate.h │ │ │ │ │ ├── TVCErrorMessagePopoverControllerPrivate.h │ │ │ │ │ ├── TVCErrorMessagePopoverPrivate.h │ │ │ │ │ ├── TVCLogControllerHistoricLogFilePrivate.h │ │ │ │ │ ├── TVCLogControllerInlineMediaServicePrivate.h │ │ │ │ │ ├── TVCLogControllerOperationQueuePrivate.h │ │ │ │ │ ├── TVCLogControllerPrivate.h │ │ │ │ │ ├── TVCLogLinePrivate.h │ │ │ │ │ ├── TVCLogPolicyPrivate.h │ │ │ │ │ ├── TVCLogScriptEventSinkPrivate.h │ │ │ │ │ ├── TVCLogViewInternalWK1.h │ │ │ │ │ ├── TVCLogViewInternalWK2.h │ │ │ │ │ ├── TVCLogViewPrivate.h │ │ │ │ │ ├── TVCMainWindowAppearancePrivate.h │ │ │ │ │ ├── TVCMainWindowChannelViewPrivate.h │ │ │ │ │ ├── TVCMainWindowLoadingScreenPrivate.h │ │ │ │ │ ├── TVCMainWindowPrivate.h │ │ │ │ │ ├── TVCMainWindowSegmentedControlPrivate.h │ │ │ │ │ ├── TVCMainWindowSplitViewPrivate.h │ │ │ │ │ ├── TVCMainWindowTextViewAppearancePrivate.h │ │ │ │ │ ├── TVCMainWindowTextViewPrivate.h │ │ │ │ │ ├── TVCMainWindowTitlebarAccessoryViewPrivate.h │ │ │ │ │ ├── TVCMemberListAppearancePrivate.h │ │ │ │ │ ├── TVCMemberListCellPrivate.h │ │ │ │ │ ├── TVCMemberListPrivate.h │ │ │ │ │ ├── TVCMemberListUserInfoPopoverPrivate.h │ │ │ │ │ ├── TVCNotificationConfigurationViewControllerPrivate.h │ │ │ │ │ ├── TVCServerListAppearancePrivate.h │ │ │ │ │ ├── TVCServerListCellPrivate.h │ │ │ │ │ ├── TVCServerListPrivate.h │ │ │ │ │ ├── TVCTextFormatterMenuPrivate.h │ │ │ │ │ ├── TVCTextViewWithIRCFormatterPrivate.h │ │ │ │ │ ├── TVCWK1AutoScrollerPrivate.h │ │ │ │ │ ├── TXAppearancePrivate.h │ │ │ │ │ ├── TXApplicationPrivate.h │ │ │ │ │ ├── TXGlobalModelsPrivate.h │ │ │ │ │ ├── TXMasterControllerPrivate.h │ │ │ │ │ ├── TXMenuControllerPrivate.h │ │ │ │ │ ├── TXSharedApplicationPrivate.h │ │ │ │ │ ├── TXWindowControllerPrivate.h │ │ │ │ │ ├── TextualPrivate.h │ │ │ │ │ ├── WKWebViewPrivate.h │ │ │ │ │ └── WebScriptObjectHelperPrivate.h │ │ │ │ ├── TDCAlert.h │ │ │ │ ├── TDCInputPrompt.h │ │ │ │ ├── TDCSheetBase.h │ │ │ │ ├── TDCWindowBase.h │ │ │ │ ├── THOPluginManager.h │ │ │ │ ├── THOPluginProtocol.h │ │ │ │ ├── THOUnicodeHelper.h │ │ │ │ ├── TLOEncryptionManager.h │ │ │ │ ├── TLOInternetAddressLookup.h │ │ │ │ ├── TLOKeyEventHandler.h │ │ │ │ ├── TLOLinkParser.h │ │ │ │ ├── TLONotificationController.h │ │ │ │ ├── TLOSoundPlayer.h │ │ │ │ ├── TLOpenLink.h │ │ │ │ ├── TPCApplicationInfo.h │ │ │ │ ├── TPCPathInfo.h │ │ │ │ ├── TPCPreferencesImportExport.h │ │ │ │ ├── TPCPreferencesLocal.h │ │ │ │ ├── TPCPreferencesReload.h │ │ │ │ ├── TPCPreferencesUserDefaultsLocal.h │ │ │ │ ├── TPCResourceManager.h │ │ │ │ ├── TPCTheme.h │ │ │ │ ├── TPCThemeController.h │ │ │ │ ├── TVCAlert.h │ │ │ │ ├── TVCAppearance.h │ │ │ │ ├── TVCAutoExpandingTextField.h │ │ │ │ ├── TVCAutoExpandingTokenField.h │ │ │ │ ├── TVCBasicTableView.h │ │ │ │ ├── TVCChannelSelectionViewController.h │ │ │ │ ├── TVCLogController.h │ │ │ │ ├── TVCLogLine.h │ │ │ │ ├── TVCLogRenderer.h │ │ │ │ ├── TVCLogView.h │ │ │ │ ├── TVCMainWindow.h │ │ │ │ ├── TVCMainWindowAppearance.h │ │ │ │ ├── TVCMainWindowLoadingScreen.h │ │ │ │ ├── TVCMainWindowSplitView.h │ │ │ │ ├── TVCMainWindowTextView.h │ │ │ │ ├── TVCMainWindowTextViewAppearance.h │ │ │ │ ├── TVCMemberList.h │ │ │ │ ├── TVCMemberListAppearance.h │ │ │ │ ├── TVCServerList.h │ │ │ │ ├── TVCServerListAppearance.h │ │ │ │ ├── TVCTextViewWithIRCFormatter.h │ │ │ │ ├── TVCValidatedComboBox.h │ │ │ │ ├── TVCValidatedTextField.h │ │ │ │ ├── TXAppearance.h │ │ │ │ ├── TXAppearanceHelper.h │ │ │ │ ├── TXGlobalModels.h │ │ │ │ ├── TXMasterController.h │ │ │ │ ├── TXMenuController.h │ │ │ │ ├── TXSharedApplication.h │ │ │ │ ├── Textual.h │ │ │ │ └── TextualApplication.h │ │ │ ├── Helpers/ │ │ │ │ ├── Cocoa (Objective-C)/ │ │ │ │ │ ├── NSColorHelper.m │ │ │ │ │ ├── NSStringHelper.m │ │ │ │ │ ├── NSTableViewHelper.m │ │ │ │ │ ├── NSViewHelper.m │ │ │ │ │ └── TXAppearanceHelper.m │ │ │ │ ├── External Libraries/ │ │ │ │ │ ├── Google/ │ │ │ │ │ │ └── GTMEncodeHTML.m │ │ │ │ │ └── WebKit/ │ │ │ │ │ └── WebScriptObjectHelper.m │ │ │ │ ├── Plugin Architecture/ │ │ │ │ │ ├── THOPluginDispatcher.m │ │ │ │ │ ├── THOPluginItem.m │ │ │ │ │ ├── THOPluginItemLogging.m │ │ │ │ │ └── THOPluginManager.m │ │ │ │ └── THOUnicodeHelper.m │ │ │ ├── IRC/ │ │ │ │ ├── IRCAddressBook.m │ │ │ │ ├── IRCAddressBookMatchCache.m │ │ │ │ ├── IRCAddressBookUserTracking.m │ │ │ │ ├── IRCChannel.m │ │ │ │ ├── IRCChannelConfig.m │ │ │ │ ├── IRCChannelMemberList.m │ │ │ │ ├── IRCChannelMemberListController.m │ │ │ │ ├── IRCChannelMode.m │ │ │ │ ├── IRCClient.m │ │ │ │ ├── IRCClientConfig.m │ │ │ │ ├── IRCClientRequestedCommands.m │ │ │ │ ├── IRCCommandIndex.m │ │ │ │ ├── IRCConnection.m │ │ │ │ ├── IRCExtras.m │ │ │ │ ├── IRCHighlightLogEntry.m │ │ │ │ ├── IRCHighlightMatchCondition.m │ │ │ │ ├── IRCISupportInfo.m │ │ │ │ ├── IRCMessage.m │ │ │ │ ├── IRCMessageBatch.m │ │ │ │ ├── IRCModeInfo.m │ │ │ │ ├── IRCNetworkList.m │ │ │ │ ├── IRCPrefix.m │ │ │ │ ├── IRCSendingMessage.m │ │ │ │ ├── IRCServer.m │ │ │ │ ├── IRCTimerCommand.m │ │ │ │ ├── IRCTreeItem.m │ │ │ │ ├── IRCWorld.m │ │ │ │ └── Users/ │ │ │ │ ├── IRCChannelUser.m │ │ │ │ ├── IRCUser.m │ │ │ │ ├── IRCUserNicknameColorStyleGenerator.m │ │ │ │ ├── IRCUserPersistentStore.m │ │ │ │ └── IRCUserRelations.m │ │ │ ├── Library/ │ │ │ │ ├── Color Formatting/ │ │ │ │ │ └── IRCColorFormat.m │ │ │ │ ├── External Libraries/ │ │ │ │ │ └── Sockets/ │ │ │ │ │ └── OELReachability.m │ │ │ │ ├── License Manager/ │ │ │ │ │ └── Standalone/ │ │ │ │ │ ├── TLOLicenseManager.m │ │ │ │ │ ├── TLOLicenseManagerDownloader.m │ │ │ │ │ └── TLOLicenseManagerLastGen.m │ │ │ │ ├── TLOEncryptionManager.m │ │ │ │ ├── TLOFileLogger.m │ │ │ │ ├── TLOInputHistory.m │ │ │ │ ├── TLOInternetAddressLookup.m │ │ │ │ ├── TLOKeyEventHandler.m │ │ │ │ ├── TLOLinkParser.swift │ │ │ │ ├── TLONicknameCompletionStatus.m │ │ │ │ ├── TLONotificationConfiguration.m │ │ │ │ ├── TLONotificationController.m │ │ │ │ ├── TLOSoundPlayer.m │ │ │ │ ├── TLOSpeechSynthesizer.m │ │ │ │ ├── TLOSpokenNotification.m │ │ │ │ └── TLOpenLink.swift │ │ │ ├── Others/ │ │ │ │ └── main.m │ │ │ ├── Preferences/ │ │ │ │ ├── TPCApplicationInfo.m │ │ │ │ ├── TPCPathInfo.m │ │ │ │ ├── TPCPreferencesImportExport.m │ │ │ │ ├── TPCPreferencesLocal.m │ │ │ │ ├── TPCPreferencesReload.m │ │ │ │ ├── TPCPreferencesUserDefaultsLocal.m │ │ │ │ ├── TPCResourceManager.m │ │ │ │ ├── TPCSandboxMigration.m │ │ │ │ └── Themes/ │ │ │ │ ├── TPCTheme.m │ │ │ │ └── TPCThemeController.m │ │ │ ├── Services/ │ │ │ │ └── ICLPayloadLocal.m │ │ │ └── Views/ │ │ │ ├── Channel Selection Table/ │ │ │ │ ├── TVCChannelSelectionOutlineCellView.m │ │ │ │ └── TVCChannelSelectionViewController.m │ │ │ ├── Channel View/ │ │ │ │ ├── Extras/ │ │ │ │ │ ├── TVCLogControllerHistoricLogFile.m │ │ │ │ │ ├── TVCLogControllerInlineMediaService.m │ │ │ │ │ └── TVCLogControllerOperationQueue.m │ │ │ │ ├── TVCLogController.m │ │ │ │ ├── TVCLogLine.m │ │ │ │ ├── TVCLogPolicy.m │ │ │ │ ├── TVCLogRenderer.m │ │ │ │ ├── TVCLogScriptEventSink.m │ │ │ │ ├── TVCLogView.m │ │ │ │ ├── TVCLogViewInternalWK1.m │ │ │ │ ├── TVCLogViewInternalWK2.m │ │ │ │ └── TVCWK1AutoScroller.m │ │ │ ├── Errors/ │ │ │ │ ├── TVCAlert.m │ │ │ │ ├── TVCErrorMessagePopover.m │ │ │ │ └── TVCErrorMessagePopoverController.m │ │ │ ├── Input Text Field/ │ │ │ │ ├── TVCAutoExpandingTextField.m │ │ │ │ ├── TVCAutoExpandingTokenField.m │ │ │ │ ├── TVCTextFormatterMenu.m │ │ │ │ ├── TVCTextViewWithIRCFormatter.m │ │ │ │ ├── TVCValidatedComboBox.m │ │ │ │ └── TVCValidatedTextField.m │ │ │ ├── Main Window/ │ │ │ │ ├── TVCMainWindow.m │ │ │ │ ├── TVCMainWindowAppearance.m │ │ │ │ ├── TVCMainWindowChannelView.m │ │ │ │ ├── TVCMainWindowLoadingScreen.m │ │ │ │ ├── TVCMainWindowSegmentedControl.m │ │ │ │ ├── TVCMainWindowSplitView.m │ │ │ │ ├── TVCMainWindowTextView.m │ │ │ │ ├── TVCMainWindowTextViewAppearance.m │ │ │ │ └── TVCMainWindowTitlebarAccessoryView.m │ │ │ ├── Preferences/ │ │ │ │ └── TVCNotificationConfigurationViewController.m │ │ │ ├── Server List/ │ │ │ │ ├── TVCServerList.m │ │ │ │ ├── TVCServerListAppearance.m │ │ │ │ └── TVCServerListCell.m │ │ │ ├── TVCAppearance.m │ │ │ ├── TVCBasicTableView.m │ │ │ ├── TVCContentNavigationOutlineView.m │ │ │ ├── TVCDockIcon.m │ │ │ └── User List/ │ │ │ ├── TVCMemberList.m │ │ │ ├── TVCMemberListAppearance.m │ │ │ ├── TVCMemberListCell.m │ │ │ └── TVCMemberListUserInfoPopover.m │ │ ├── Configurations/ │ │ │ └── Sandbox/ │ │ │ ├── Debug.entitlements │ │ │ ├── Sandbox Disabled.entitlements │ │ │ └── Standard Release.entitlements │ │ ├── Resources/ │ │ │ ├── Images/ │ │ │ │ ├── Application/ │ │ │ │ │ ├── applicationIcon.icns │ │ │ │ │ ├── applicationIcon.psd │ │ │ │ │ └── applicationIconBirthday.icns │ │ │ │ ├── Copyright Information for Images.txt │ │ │ │ ├── Dock Icon Badges/ │ │ │ │ │ └── Photoshop/ │ │ │ │ │ ├── Mavericks/ │ │ │ │ │ │ ├── blueDockBadge.psd │ │ │ │ │ │ ├── blueDockBadgeWithShadow.psd │ │ │ │ │ │ ├── redDockBadge.psd │ │ │ │ │ │ └── redDockBadgeWithShadow.psd │ │ │ │ │ └── Yosemite/ │ │ │ │ │ └── redDockBadge.psd │ │ │ │ ├── Encryption Badges/ │ │ │ │ │ ├── encryptionLockIconDark.tif │ │ │ │ │ ├── encryptionLockIconDark@2x.tif │ │ │ │ │ ├── encryptionLockIconLight.tif │ │ │ │ │ └── encryptionLockIconLight@2x.tif │ │ │ │ ├── IRC Formatting Colors/ │ │ │ │ │ ├── FormattingColor_Rainbow.tif │ │ │ │ │ └── FormattingColor_Rainbow@2x.tif │ │ │ │ ├── Status Badges/ │ │ │ │ │ ├── channelRoomStatusIconDarkActive.tif │ │ │ │ │ ├── channelRoomStatusIconDarkActive@2x.tif │ │ │ │ │ ├── channelRoomStatusIconDarkInactive.tif │ │ │ │ │ ├── channelRoomStatusIconDarkInactive@2x.tif │ │ │ │ │ ├── channelRoomStatusIconLightActive.tif │ │ │ │ │ ├── channelRoomStatusIconLightActive@2x.tif │ │ │ │ │ ├── channelRoomStatusIconLightInactive.tif │ │ │ │ │ ├── channelRoomStatusIconLightInactive@2x.tif │ │ │ │ │ ├── channelRoomStatusIconMavericksDark.psd │ │ │ │ │ └── channelRoomStatusIconMavericksLight.psd │ │ │ │ └── User Interface/ │ │ │ │ ├── Miscellaneous/ │ │ │ │ │ └── ErroneousTextFieldValueIndicator.tif │ │ │ │ └── Server List/ │ │ │ │ └── Glass/ │ │ │ │ ├── VibrantDarkServerListViewPrivateMessageUserIconActive.tif │ │ │ │ ├── VibrantDarkServerListViewPrivateMessageUserIconActive@2x.tif │ │ │ │ ├── VibrantDarkServerListViewPrivateMessageUserIconInactive.tif │ │ │ │ ├── VibrantDarkServerListViewPrivateMessageUserIconInactive@2x.tif │ │ │ │ ├── VibrantLightServerListViewPrivateMessageUserIconActive.tif │ │ │ │ ├── VibrantLightServerListViewPrivateMessageUserIconActive@2x.tif │ │ │ │ ├── VibrantLightServerListViewPrivateMessageUserIconInactive.tif │ │ │ │ └── VibrantLightServerListViewPrivateMessageUserIconInactive@2x.tif │ │ │ ├── Language Files/ │ │ │ │ ├── _randomToken │ │ │ │ └── en.lproj/ │ │ │ │ ├── Accessibility.strings │ │ │ │ ├── BasicLanguage.strings │ │ │ │ ├── CommonErrors.strings │ │ │ │ ├── IRC.strings │ │ │ │ ├── Notifications.strings │ │ │ │ ├── OffTheRecord.strings │ │ │ │ ├── Prompts.strings │ │ │ │ ├── TDCAboutDialog.strings │ │ │ │ ├── TDCAddressBookSheet.strings │ │ │ │ ├── TDCChannelBanListSheet.strings │ │ │ │ ├── TDCChannelInviteSheet.strings │ │ │ │ ├── TDCChannelModifyModesSheet.strings │ │ │ │ ├── TDCChannelModifyTopicSheet.strings │ │ │ │ ├── TDCChannelPropertiesSheet.strings │ │ │ │ ├── TDCChannelSpotlightController.strings │ │ │ │ ├── TDCFileTransferDialog.strings │ │ │ │ ├── TDCLicenseUpgradeEligibilitySheet.strings │ │ │ │ ├── TDCPreferencesController.strings │ │ │ │ ├── TDCPreferencesUserStyleSheet.strings │ │ │ │ ├── TDCServerChannelListDialog.strings │ │ │ │ ├── TDCServerEndpointListSheet.strings │ │ │ │ ├── TDCServerPropertiesSheet.strings │ │ │ │ ├── TLOLicenseManager.strings │ │ │ │ ├── TVCMainWindow.strings │ │ │ │ └── TVCNotificationConfigurationView.strings │ │ │ ├── License Manager/ │ │ │ │ └── RemoteLicenseSystemPublicKey.pub │ │ │ ├── Property Lists/ │ │ │ │ ├── Application Properties/ │ │ │ │ │ └── Info.plist │ │ │ │ ├── IRCCommandIndexLocalData.plist │ │ │ │ ├── IRCCommandIndexRemoteData.plist │ │ │ │ ├── IRCNetworks.plist │ │ │ │ ├── Preferences/ │ │ │ │ │ ├── KeysExcludedFromContainer.plist │ │ │ │ │ ├── KeysExcludedFromExport.plist │ │ │ │ │ ├── KeysExcludedFromMigrate.plist │ │ │ │ │ ├── PreferenceKeyMasterList.plist │ │ │ │ │ ├── RegisteredUserDefaults.plist │ │ │ │ │ └── RegisteredUserDefaultsInContainer.plist │ │ │ │ ├── StaticStore.plist │ │ │ │ └── TemplateLineTypes.plist │ │ │ ├── Scripting/ │ │ │ │ └── Script Files/ │ │ │ │ ├── Bundled Scripts/ │ │ │ │ │ ├── Installing Custom Scripts.txt │ │ │ │ │ ├── date.scpt │ │ │ │ │ └── moti.scpt │ │ │ │ └── Textual Extras Installer/ │ │ │ │ ├── Create-Installers │ │ │ │ ├── Installation Files/ │ │ │ │ │ └── Scripts/ │ │ │ │ │ ├── apps.scpt │ │ │ │ │ ├── banhammer.scpt │ │ │ │ │ ├── ffuu.scpt │ │ │ │ │ ├── flip.scpt │ │ │ │ │ ├── hermes.scpt │ │ │ │ │ ├── music.scpt │ │ │ │ │ ├── np.scpt │ │ │ │ │ ├── o_o.scpt │ │ │ │ │ ├── page.scpt │ │ │ │ │ ├── qt.scpt │ │ │ │ │ ├── radium.scpt │ │ │ │ │ ├── reverse.scpt │ │ │ │ │ ├── shell.scpt │ │ │ │ │ ├── slap.scpt │ │ │ │ │ ├── spotify.scpt │ │ │ │ │ └── vlc.scpt │ │ │ │ ├── Installer Helpers/ │ │ │ │ │ ├── Build-Extension-Package │ │ │ │ │ ├── Build-Final-Package │ │ │ │ │ └── Build-Scripts-Package │ │ │ │ ├── Installer Resources/ │ │ │ │ │ └── en.lproj/ │ │ │ │ │ ├── Localizable.strings │ │ │ │ │ └── Welcome.rtf │ │ │ │ ├── Packages/ │ │ │ │ │ └── Textual-Extras.pkg │ │ │ │ └── distribution.plist │ │ │ ├── Styling/ │ │ │ │ ├── Bundled Styles/ │ │ │ │ │ ├── Astria/ │ │ │ │ │ │ ├── Templates/ │ │ │ │ │ │ │ └── encryptedMessageLock.mustache │ │ │ │ │ │ ├── copyright.txt │ │ │ │ │ │ ├── design.css │ │ │ │ │ │ ├── inlineMedia.css │ │ │ │ │ │ ├── scripts.js │ │ │ │ │ │ └── settings.plist │ │ │ │ │ ├── Equinox/ │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ ├── Templates/ │ │ │ │ │ │ │ └── encryptedMessageLock.mustache │ │ │ │ │ │ ├── design.css │ │ │ │ │ │ ├── inlineMedia.css │ │ │ │ │ │ ├── scripts.js │ │ │ │ │ │ └── settings.plist │ │ │ │ │ ├── Sapientia/ │ │ │ │ │ │ ├── Resources/ │ │ │ │ │ │ │ └── Documentation/ │ │ │ │ │ │ │ └── changelog.txt │ │ │ │ │ │ ├── Templates/ │ │ │ │ │ │ │ └── encryptedMessageLock.mustache │ │ │ │ │ │ ├── copyright.txt │ │ │ │ │ │ ├── design.css │ │ │ │ │ │ ├── inlineMedia.css │ │ │ │ │ │ ├── scripts.js │ │ │ │ │ │ └── settings.plist │ │ │ │ │ ├── Simplified/ │ │ │ │ │ │ ├── Varieties/ │ │ │ │ │ │ │ ├── Dark/ │ │ │ │ │ │ │ │ ├── Templates/ │ │ │ │ │ │ │ │ │ └── encryptedMessageLock.mustache │ │ │ │ │ │ │ │ ├── design.css │ │ │ │ │ │ │ │ ├── inlineMedia.css │ │ │ │ │ │ │ │ └── settings.plist │ │ │ │ │ │ │ └── Light/ │ │ │ │ │ │ │ ├── Templates/ │ │ │ │ │ │ │ │ └── encryptedMessageLock.mustache │ │ │ │ │ │ │ ├── design.css │ │ │ │ │ │ │ ├── inlineMedia.css │ │ │ │ │ │ │ └── settings.plist │ │ │ │ │ │ ├── copyright.txt │ │ │ │ │ │ ├── scripts.js │ │ │ │ │ │ └── settings.plist │ │ │ │ │ ├── Sulaco/ │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ ├── Templates/ │ │ │ │ │ │ │ ├── newMessagePostedWithSender.mustache │ │ │ │ │ │ │ └── newMessagePostedWithoutSender.mustache │ │ │ │ │ │ ├── design.css │ │ │ │ │ │ ├── inlineMedia.css │ │ │ │ │ │ ├── scripts.js │ │ │ │ │ │ └── settings.plist │ │ │ │ │ ├── Tomorrow/ │ │ │ │ │ │ ├── Varieties/ │ │ │ │ │ │ │ ├── Dark/ │ │ │ │ │ │ │ │ ├── Templates/ │ │ │ │ │ │ │ │ │ └── encryptedMessageLock.mustache │ │ │ │ │ │ │ │ ├── design.css │ │ │ │ │ │ │ │ ├── inlineMedia.css │ │ │ │ │ │ │ │ └── settings.plist │ │ │ │ │ │ │ └── Light/ │ │ │ │ │ │ │ ├── Templates/ │ │ │ │ │ │ │ │ └── encryptedMessageLock.mustache │ │ │ │ │ │ │ ├── design.css │ │ │ │ │ │ │ ├── inlineMedia.css │ │ │ │ │ │ │ └── settings.plist │ │ │ │ │ │ ├── copyright.txt │ │ │ │ │ │ ├── scripts.js │ │ │ │ │ │ └── settings.plist │ │ │ │ │ └── Total Sublime/ │ │ │ │ │ ├── Templates/ │ │ │ │ │ │ └── encryptedMessageLock.mustache │ │ │ │ │ ├── copyright.txt │ │ │ │ │ ├── design.css │ │ │ │ │ ├── inlineMedia.css │ │ │ │ │ ├── scripts.js │ │ │ │ │ └── settings.plist │ │ │ │ ├── JavaScript/ │ │ │ │ │ └── API/ │ │ │ │ │ ├── core.js │ │ │ │ │ ├── corePrivate.js │ │ │ │ │ └── private/ │ │ │ │ │ ├── conversationTracking.js │ │ │ │ │ ├── core/ │ │ │ │ │ │ ├── clickMenuSelection.js │ │ │ │ │ │ ├── documentBody.js │ │ │ │ │ │ ├── events.js │ │ │ │ │ │ ├── inlineMedia.js │ │ │ │ │ │ ├── messageBuffer.js │ │ │ │ │ │ └── scrollTo.js │ │ │ │ │ ├── scriptSink.js │ │ │ │ │ └── scroller/ │ │ │ │ │ ├── automatic.js │ │ │ │ │ ├── automaticEmpty.js │ │ │ │ │ └── state.js │ │ │ │ └── Style Default Templates/ │ │ │ │ └── Version 4/ │ │ │ │ ├── baseLayout.css │ │ │ │ ├── baseLayout.mustache │ │ │ │ ├── dateIndicator.mustache │ │ │ │ ├── encryptedMessageLock.mustache │ │ │ │ ├── formattedMessageFragment.mustache │ │ │ │ ├── historyIndicator.mustache │ │ │ │ ├── messageBufferLoadingIndicator.mustache │ │ │ │ ├── messageBufferSessionIndicator.mustache │ │ │ │ ├── newMessagePostedWithSender.mustache │ │ │ │ ├── newMessagePostedWithoutSender.mustache │ │ │ │ ├── renderedChannelNameLinkResource.mustache │ │ │ │ ├── renderedStandardAnchorLinkResource.mustache │ │ │ │ └── sessionIndicator.mustache │ │ │ └── User Interface/ │ │ │ ├── Appearance/ │ │ │ │ ├── TDCChannelSpotlightAppearance.plist │ │ │ │ ├── TDCChannelSpotlightAppearanceTemplate.plist │ │ │ │ ├── TVCMainWindowAppearance.plist │ │ │ │ ├── TVCMainWindowAppearanceTemplate.plist │ │ │ │ ├── TVCMainWindowTextViewAppearance.plist │ │ │ │ ├── TVCMainWindowTextViewAppearanceTemplate.plist │ │ │ │ ├── TVCMemberListAppearance.plist │ │ │ │ ├── TVCMemberListAppearanceTemplate.plist │ │ │ │ ├── TVCServerListAppearance.plist │ │ │ │ └── TVCServerListAppearanceTemplate.plist │ │ │ └── en.lproj/ │ │ │ ├── TDCAboutDialog.xib │ │ │ ├── TDCAddressBookSheet.xib │ │ │ ├── TDCChannelBanListSheet.xib │ │ │ ├── TDCChannelInviteSheet.xib │ │ │ ├── TDCChannelModifyModesSheet.xib │ │ │ ├── TDCChannelModifyTopicSheet.xib │ │ │ ├── TDCChannelPropertiesSheet.xib │ │ │ ├── TDCChannelSpotlightController.xib │ │ │ ├── TDCFileTransferDialog.xib │ │ │ ├── TDCHighlightEntrySheet.xib │ │ │ ├── TDCLicenseManagerDialog.xib │ │ │ ├── TDCLicenseManagerMigrateAppStoreSheet.xib │ │ │ ├── TDCLicenseManagerRecoverLostLicenseSheet.xib │ │ │ ├── TDCLicenseUpgradeActivateSheet.xib │ │ │ ├── TDCLicenseUpgradeDialog.xib │ │ │ ├── TDCLicenseUpgradeEligibilitySheet.xib │ │ │ ├── TDCNicknameColorSheet.xib │ │ │ ├── TDCPreferences.xib │ │ │ ├── TDCPreferencesUserStyleSheet.xib │ │ │ ├── TDCProgressIndicatorSheet.xib │ │ │ ├── TDCServerChangeNicknameSheet.xib │ │ │ ├── TDCServerChannelListDialog.xib │ │ │ ├── TDCServerEndpointListSheet.xib │ │ │ ├── TDCServerHighlightListSheet.xib │ │ │ ├── TDCServerPropertiesSheet.xib │ │ │ ├── TDCWelcomeSheet.xib │ │ │ ├── TVCAlert.xib │ │ │ ├── TVCChannelSelectionView.xib │ │ │ ├── TVCMainWindow.xib │ │ │ ├── TVCNotificationConfigurationView.xib │ │ │ └── TXCMainMenu.xib │ │ └── Textual App.xcodeproj/ │ │ ├── project.pbxproj │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ ├── Textual (App Store).xcscheme │ │ ├── Textual (Debug).xcscheme │ │ ├── Textual (Standard Release Sandboxed).xcscheme │ │ └── Textual (Standard Release).xcscheme │ ├── Plugins/ │ │ ├── Blowfish Encryption/ │ │ │ ├── ACKNOWLEDGEMENT.txt │ │ │ ├── Blowfish Encryption Extension.xcodeproj/ │ │ │ │ ├── project.pbxproj │ │ │ │ └── xcshareddata/ │ │ │ │ └── xcschemes/ │ │ │ │ └── Blowfish Encryption Extension.xcscheme │ │ │ ├── Classes/ │ │ │ │ ├── BlowfishEncryption.h │ │ │ │ ├── BlowfishEncryption.m │ │ │ │ ├── BlowfishEncryptionBase.h │ │ │ │ ├── BlowfishEncryptionBase.m │ │ │ │ ├── BlowfishEncryptionKeyExchange.h │ │ │ │ ├── BlowfishEncryptionKeyExchange.mm │ │ │ │ ├── BlowfishEncryptionKeyExchangeBase.h │ │ │ │ ├── BlowfishEncryptionKeyExchangeBase.mm │ │ │ │ ├── NSDataHelper.h │ │ │ │ ├── NSDataHelper.m │ │ │ │ ├── TPIBlowfishEncryption.h │ │ │ │ ├── TPIBlowfishEncryption.m │ │ │ │ ├── TPIBlowfishEncryptionSwizzledClasses.h │ │ │ │ └── TPIBlowfishEncryptionSwizzledClasses.m │ │ │ ├── LICENSE-GPLv2.txt │ │ │ ├── LICENSE.txt │ │ │ └── Resources/ │ │ │ ├── Language Files/ │ │ │ │ └── en.lproj/ │ │ │ │ └── BasicLanguage.strings │ │ │ ├── Property Lists/ │ │ │ │ └── Info.plist │ │ │ └── User Interface/ │ │ │ └── en.lproj/ │ │ │ └── TPIBlowfishEncryption.xib │ │ ├── Caffeine/ │ │ │ ├── Caffeine Extension.xcodeproj/ │ │ │ │ ├── project.pbxproj │ │ │ │ └── xcshareddata/ │ │ │ │ └── xcschemes/ │ │ │ │ └── Caffeine Extension.xcscheme │ │ │ ├── Classes/ │ │ │ │ ├── TPI_Caffeine.h │ │ │ │ └── TPI_Caffeine.m │ │ │ └── Resources/ │ │ │ ├── Language Files/ │ │ │ │ └── en.lproj/ │ │ │ │ └── BasicLanguage.strings │ │ │ ├── Property Lists/ │ │ │ │ └── Info.plist │ │ │ └── User Interface/ │ │ │ └── en.lproj/ │ │ │ └── TPI_Caffeine.xib │ │ ├── Chat Filter/ │ │ │ ├── Chat Filter Extension.xcodeproj/ │ │ │ │ └── project.pbxproj │ │ │ ├── Classes/ │ │ │ │ ├── TPI_ChatFilter.h │ │ │ │ ├── TPI_ChatFilter.m │ │ │ │ ├── TPI_ChatFilterEditFilterSheet.h │ │ │ │ ├── TPI_ChatFilterEditFilterSheet.m │ │ │ │ ├── TPI_ChatFilterExtension.h │ │ │ │ ├── TPI_ChatFilterExtension.m │ │ │ │ ├── TPI_ChatFilterInternal.h │ │ │ │ ├── TPI_ChatFilterLogic.h │ │ │ │ ├── TPI_ChatFilterLogic.m │ │ │ │ ├── TPI_NumberOnlyTextFieldFormatter.h │ │ │ │ └── TPI_NumberOnlyTextFieldFormatter.m │ │ │ └── Resources/ │ │ │ ├── Language Files/ │ │ │ │ └── en.lproj/ │ │ │ │ ├── TPI_ChatFilterEditFilterSheet.strings │ │ │ │ ├── TPI_ChatFilterExtension.strings │ │ │ │ └── TPI_ChatFilterLogic.strings │ │ │ ├── Property Lists/ │ │ │ │ └── Info.plist │ │ │ └── User Interface/ │ │ │ └── en.lproj/ │ │ │ ├── TPI_ChatFilterEditFilterSheet.xib │ │ │ └── TPI_ChatFilterExtension.xib │ │ ├── Sample Code/ │ │ │ └── Preference Pane/ │ │ │ ├── Classes/ │ │ │ │ ├── TPI_PreferencePaneExample.h │ │ │ │ └── TPI_PreferencePaneExample.m │ │ │ ├── PreferencePaneExample.xcodeproj/ │ │ │ │ └── project.pbxproj │ │ │ └── Resources/ │ │ │ ├── Property Lists/ │ │ │ │ └── Info.plist │ │ │ └── User Interface/ │ │ │ └── PreferencePane.xib │ │ ├── Smiley Converter/ │ │ │ ├── Classes/ │ │ │ │ ├── TPISmileyConverter.h │ │ │ │ └── TPISmileyConverter.m │ │ │ ├── Resources/ │ │ │ │ ├── Language Files/ │ │ │ │ │ └── en.lproj/ │ │ │ │ │ └── BasicLanguage.strings │ │ │ │ ├── Property Lists/ │ │ │ │ │ ├── Info.plist │ │ │ │ │ ├── conversionTable.plist │ │ │ │ │ └── conversionTable2.plist │ │ │ │ └── User Interface/ │ │ │ │ └── en.lproj/ │ │ │ │ └── TPISmileyConverter.xib │ │ │ └── Smiley Converter Extension.xcodeproj/ │ │ │ └── project.pbxproj │ │ ├── System Profiler/ │ │ │ ├── Classes/ │ │ │ │ ├── SystemProfiler.h │ │ │ │ ├── TPISystemProfiler.h │ │ │ │ ├── TPISystemProfiler.m │ │ │ │ ├── TPI_SP_SysInfo.h │ │ │ │ └── TPI_SP_SysInfo.m │ │ │ ├── Resources/ │ │ │ │ ├── Language Files/ │ │ │ │ │ └── en.lproj/ │ │ │ │ │ └── BasicLanguage.strings │ │ │ │ ├── Property Lists/ │ │ │ │ │ ├── Info.plist │ │ │ │ │ └── MacintoshModels.plist │ │ │ │ └── User Interface/ │ │ │ │ └── en.lproj/ │ │ │ │ └── TPISystemProfiler.xib │ │ │ └── System Profiler Extension.xcodeproj/ │ │ │ └── project.pbxproj │ │ ├── User Insights/ │ │ │ ├── Classes/ │ │ │ │ ├── TPIUserInsights.h │ │ │ │ └── TPIUserInsights.m │ │ │ ├── Resources/ │ │ │ │ ├── Language Files/ │ │ │ │ │ └── en.lproj/ │ │ │ │ │ └── BasicLanguage.strings │ │ │ │ └── Property Lists/ │ │ │ │ └── Info.plist │ │ │ └── User Insights Extension.xcodeproj/ │ │ │ └── project.pbxproj │ │ ├── Wiki Link Parser/ │ │ │ ├── Classes/ │ │ │ │ ├── TPIWikiStyleLinkParser.h │ │ │ │ └── TPIWikiStyleLinkParser.m │ │ │ ├── Resources/ │ │ │ │ ├── Language Files/ │ │ │ │ │ └── en.lproj/ │ │ │ │ │ └── BasicLanguage.strings │ │ │ │ ├── Property Lists/ │ │ │ │ │ └── Info.plist │ │ │ │ └── User Interface/ │ │ │ │ └── en.lproj/ │ │ │ │ └── TPIWikiStyleLinkParser.xib │ │ │ └── Wiki-style Link Parser Extension.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ └── xcshareddata/ │ │ │ └── xcschemes/ │ │ │ └── Wiki-style Link Parser Extension.xcscheme │ │ └── ZNC Additions/ │ │ ├── Classes/ │ │ │ ├── TPI_ZNCAdditions.h │ │ │ └── TPI_ZNCAdditions.m │ │ ├── Resources/ │ │ │ ├── Language Files/ │ │ │ │ └── en.lproj/ │ │ │ │ └── BasicLanguage.strings │ │ │ └── Property Lists/ │ │ │ └── Info.plist │ │ └── ZNC Additions Extension.xcodeproj/ │ │ └── project.pbxproj │ └── Shared/ │ ├── Headers/ │ │ ├── External Libraries/ │ │ │ ├── GCDAsyncSocket.h │ │ │ └── GCDAsyncSocketExtensions.h │ │ ├── IRCConnectionConfig.h │ │ ├── IRCConnectionErrors.h │ │ ├── Internal/ │ │ │ └── IRCConnectionConfigInternal.h │ │ ├── Private/ │ │ │ ├── NSObjectHelperPrivate.h │ │ │ ├── TPCPreferencesPrivate.h │ │ │ ├── TPCPreferencesUserDefaultsPrivate.h │ │ │ └── TVCLogLineXPCPrivate.h │ │ ├── StaticDefinitions.h │ │ ├── TLOLocalization.h │ │ ├── TLOTimer.h │ │ ├── TPCPreferences.h │ │ └── TPCPreferencesUserDefaults.h │ ├── Helpers/ │ │ └── Cocoa (Objective-C)/ │ │ └── NSObjectHelper.m │ ├── IRC/ │ │ ├── IRCConnectionConfig.m │ │ └── IRCConnectionErrors.m │ ├── Library/ │ │ ├── External Libraries/ │ │ │ └── Sockets/ │ │ │ ├── GCDAsyncSocket-patch.txt │ │ │ ├── GCDAsyncSocket.m │ │ │ └── GCDAsyncSocketExtensions.m │ │ ├── TLOLocalization.m │ │ ├── TLOLocalization.swift │ │ └── TLOTimer.m │ ├── Preferences/ │ │ ├── TPCPreferences.m │ │ └── TPCPreferencesUserDefaults.m │ └── Views/ │ └── Channel View/ │ └── TVCLogLineXPC.m └── XPC Services/ ├── Historic Log File Manager/ │ ├── Classes/ │ │ ├── HLSHistoricLogLineEntityMigration.m │ │ ├── HLSHistoricLogProcessMain.m │ │ ├── HLSHistoricLogViewContext.m │ │ ├── HSLHistoricLogProcessDelegate.m │ │ ├── Headers/ │ │ │ └── Private/ │ │ │ ├── HLSHistoricLogLineEntityMigrationPrivate.h │ │ │ ├── HLSHistoricLogProcessMainPrivate.h │ │ │ ├── HLSHistoricLogProtocol.h │ │ │ ├── HLSHistoricLogViewContextPrivate.h │ │ │ ├── HSLHistoricLogPCHPrivate.h │ │ │ └── HSLHistoricLogProcessDelegatePrivate.h │ │ └── main.m │ ├── Configurations/ │ │ └── Sandbox/ │ │ └── Release.entitlements │ ├── Historic Log File Manager.xcodeproj/ │ │ └── project.pbxproj │ └── Resources/ │ ├── Data Models/ │ │ ├── HistoricLogFileStorageModel.xcdatamodeld/ │ │ │ ├── .xccurrentversion │ │ │ ├── LogControllerStorageModel (model 2).xcdatamodel/ │ │ │ │ └── contents │ │ │ └── LogControllerStorageModel (model 3).xcdatamodel/ │ │ │ └── contents │ │ └── HistoricLogFileStorageModel.xcmappingmodel/ │ │ └── xcmapping.xml │ └── Property Lists/ │ └── Info.plist ├── IRC Remote Connection Manager/ │ ├── Classes/ │ │ ├── Headers/ │ │ │ └── Private/ │ │ │ ├── IRCConnectionPrivate.h │ │ │ ├── RCMConnectionManagerProtocol.h │ │ │ ├── RCMProcessDelegatePrivate.h │ │ │ ├── RCMProcessMainPrivate.h │ │ │ ├── RCMProcessPCHPrivate.h │ │ │ └── SwiftBridgingHeaderPrivate.h │ │ ├── IRC/ │ │ │ ├── IRCConnection.swift │ │ │ ├── IRCConnectionSocket.swift │ │ │ ├── IRCConnectionSocketClassic.swift │ │ │ └── IRCConnectionSocketNWF.swift │ │ └── Service/ │ │ ├── RCMProcessDelegate.m │ │ ├── RCMProcessMain.m │ │ └── main.m │ ├── Configurations/ │ │ └── Sandbox/ │ │ └── Release.entitlements │ ├── IRC Remote Connection Manager.xcodeproj/ │ │ └── project.pbxproj │ └── Resources/ │ ├── Language Files/ │ │ └── en.lproj/ │ │ └── ConnectionErrors.strings │ └── Property Lists/ │ └── Info.plist └── Inline Content Loader/ ├── Build Scripts/ │ └── BuildExtensions.sh ├── Classes/ │ ├── Headers/ │ │ ├── ICLHelpers.h │ │ ├── ICLInlineContentModule.h │ │ ├── ICLMediaAssessment.h │ │ ├── ICLMediaAssessor.h │ │ ├── ICLMediaType.h │ │ ├── ICLPayload.h │ │ ├── ICLPluginProtocol.h │ │ ├── Internal/ │ │ │ ├── ICLInlineContentModuleInternal.h │ │ │ ├── ICLMediaAssessmentInternal.h │ │ │ └── ICLPayloadInternal.h │ │ └── Private/ │ │ ├── CoreModulesImportsPrivate.h │ │ ├── ICLInlineContentModulePrivate.h │ │ ├── ICLInlineContentProtocol.h │ │ ├── ICLPayloadPrivate.h │ │ ├── ICLPluginManagerPrivate.h │ │ ├── ICLProcessDelegatePrivate.h │ │ ├── ICLProcessMainPrivate.h │ │ └── ICLProcessPCHPrivate.h │ ├── Modules/ │ │ ├── Assessed Media/ │ │ │ ├── ICMAssessedMedia.h │ │ │ └── ICMAssessedMedia.m │ │ └── Root Classes/ │ │ ├── ICMInlineHTML.h │ │ ├── ICMInlineHTML.m │ │ ├── ICMInlineImage.h │ │ ├── ICMInlineImage.m │ │ ├── ICMInlineVideo.h │ │ └── ICMInlineVideo.m │ └── Service/ │ ├── ICLHelpers.m │ ├── ICLInlineContentModule.m │ ├── ICLMediaAssessment.m │ ├── ICLMediaAssessor.m │ ├── ICLPayloadLocal.m │ ├── ICLPayloadShared.m │ ├── ICLPluginManager.m │ ├── ICLProcessDelegate.m │ ├── ICLProcessMain.m │ └── main.m ├── Configurations/ │ └── Sandbox/ │ └── Release.entitlements ├── Extensions/ │ └── Core Media/ │ ├── Classes/ │ │ ├── Headers/ │ │ │ └── Private/ │ │ │ ├── ICPCoreMediaPCHPrivate.h │ │ │ └── ICPCoreMediaPrivate.h │ │ ├── ICPCoreMedia.m │ │ └── Modules/ │ │ ├── Common Images/ │ │ │ ├── ICMCommonInlineImages.h │ │ │ └── ICMCommonInlineImages.m │ │ ├── Common Videos/ │ │ │ ├── ICMCommonInlineVideos.h │ │ │ └── ICMCommonInlineVideos.m │ │ ├── Dailymotion/ │ │ │ ├── ICMDailymotion.h │ │ │ └── ICMDailymotion.m │ │ ├── Gyazo/ │ │ │ ├── ICMGyazo.h │ │ │ └── ICMGyazo.m │ │ ├── Imgur .gifv/ │ │ │ ├── ICMImgurGifv.h │ │ │ └── ICMImgurGifv.m │ │ ├── Pornhub/ │ │ │ ├── ICMPornhub.h │ │ │ └── ICMPornhub.m │ │ ├── Streamable/ │ │ │ ├── ICMStreamable.h │ │ │ └── ICMStreamable.m │ │ ├── Twitch Clips/ │ │ │ ├── ICMTwitchClips.h │ │ │ └── ICMTwitchClips.m │ │ ├── Twitch Live/ │ │ │ ├── ICMTwitchLive.h │ │ │ └── ICMTwitchLive.m │ │ ├── Twitter/ │ │ │ ├── ICMTweet.h │ │ │ └── ICMTweet.m │ │ ├── Vimeo/ │ │ │ ├── ICMVimeo.h │ │ │ └── ICMVimeo.m │ │ ├── YouTube/ │ │ │ ├── ICMYouTube.h │ │ │ └── ICMYouTube.m │ │ └── xkcd/ │ │ ├── ICMXkcd.h │ │ └── ICMXkcd.m │ ├── Inline Content Loader Core Media.xcodeproj/ │ │ └── project.pbxproj │ └── Resources/ │ ├── Modules/ │ │ ├── Dailymotion/ │ │ │ └── ICMDailymotion.mustache │ │ ├── Pornhub/ │ │ │ └── ICMPornhub.mustache │ │ ├── Twitch Clips/ │ │ │ └── ICMTwitchClips.mustache │ │ ├── Twitch Live/ │ │ │ └── ICMTwitchLive.mustache │ │ ├── Twitter/ │ │ │ └── ICMTweet.js │ │ ├── Vimeo/ │ │ │ └── ICMVimeo.mustache │ │ └── YouTube/ │ │ └── ICMYouTube.mustache │ └── Property Lists/ │ └── Info.plist ├── Inline Content Loader.xcodeproj/ │ └── project.pbxproj └── Resources/ ├── Modules/ │ ├── ICMInlineHTML.css │ ├── ICMInlineHTML.js │ ├── ICMInlineHTML.mustache │ ├── ICMInlineImage.css │ ├── ICMInlineImage.js │ ├── ICMInlineImage.mustache │ ├── ICMInlineVideo.css │ ├── ICMInlineVideo.js │ ├── ICMInlineVideo.mustache │ └── InlineImageLiveResize.js └── Property Lists/ └── Info.plist